Class MapleShop
java.lang.Object
server.MapleShop
NPC 商店的執行時實例,負責道具購買、補充與販售邏輯。
每個 MapleShop 對應資料庫中一筆商店記錄,持有:
MapleShopItem清單——包含價格、所需道具、等級限制與有效期限;- 可補充道具(飛鏢、彈丸等)的靜態集合
rechargeableItems; - 選項排名清單,用於依角色狀態動態顯示商品。
sendShop(MapleClient) 將商店 UI 封包(NPCPacket.getNPCShop(int, MapleShop, MapleClient))送往客戶端;
buy(MapleClient, int, short) 與 sell 處理交易、庫存操作(MapleInventoryManipulator)及楓幣扣除。
商店實例由 MapleShopFactory 統一建立與快取,從不對外直接構造。-
Method Summary
Modifier and TypeMethodDescriptionvoidaddItem(MapleShopItem item) voidbuy(MapleClient c, int itemId, short quantity) static MapleShopcreateFromDB(int id, boolean isShopId) protected MapleShopItemfindById(int itemId) intgetId()getItems()intgetNpcId()getRanks()voidrecharge(MapleClient c, byte slot) voidsell(MapleClient c, MapleInventoryType type, byte slot, short quantity) voidvoidsendShop(MapleClient c, int customNpc)
-
Method Details
-
addItem
-
getItems
-
sendShop
-
sendShop
-
buy
-
sell
-
recharge
-
findById
-
createFromDB
-
getNpcId
public int getNpcId() -
getId
public int getId() -
getRanks
-