Implement bank, guild bank, and auction house systems

Add 27 new opcodes, packet builders/parsers, handler methods, inventory
extension with 28 bank slots + 7 bank bags, and UI windows for personal
bank, guild bank (6 tabs x 98 slots), and auction house (browse/sell/bid).
Fix Classic gossip parser to omit boxMoney/boxText fields not present in
Vanilla protocol, fix gossip icon labels with text-based NPC type detection,
and add Turtle WoW opcode mappings for bank and auction interactions.
This commit is contained in:
Kelsi 2026-02-16 21:11:18 -08:00
parent 0d4a9c38f7
commit 381d896348
14 changed files with 1839 additions and 15 deletions

View file

@ -382,6 +382,39 @@ enum class LogicalOpcode : uint16_t {
SMSG_RECEIVED_MAIL,
MSG_QUERY_NEXT_MAIL_TIME,
// ---- Bank ----
CMSG_BANKER_ACTIVATE,
SMSG_SHOW_BANK,
CMSG_BUY_BANK_SLOT,
SMSG_BUY_BANK_SLOT_RESULT,
CMSG_AUTOBANK_ITEM,
CMSG_AUTOSTORE_BANK_ITEM,
// ---- Guild Bank ----
CMSG_GUILD_BANKER_ACTIVATE,
CMSG_GUILD_BANK_QUERY_TAB,
SMSG_GUILD_BANK_LIST,
CMSG_GUILD_BANK_SWAP_ITEMS,
CMSG_GUILD_BANK_BUY_TAB,
CMSG_GUILD_BANK_UPDATE_TAB,
CMSG_GUILD_BANK_DEPOSIT_MONEY,
CMSG_GUILD_BANK_WITHDRAW_MONEY,
// ---- Auction House ----
MSG_AUCTION_HELLO,
CMSG_AUCTION_SELL_ITEM,
CMSG_AUCTION_REMOVE_ITEM,
CMSG_AUCTION_LIST_ITEMS,
CMSG_AUCTION_LIST_OWNER_ITEMS,
CMSG_AUCTION_PLACE_BID,
SMSG_AUCTION_COMMAND_RESULT,
SMSG_AUCTION_LIST_RESULT,
SMSG_AUCTION_OWNER_LIST_RESULT,
SMSG_AUCTION_BIDDER_LIST_RESULT,
SMSG_AUCTION_OWNER_NOTIFICATION,
SMSG_AUCTION_BIDDER_NOTIFICATION,
CMSG_AUCTION_LIST_BIDDER_ITEMS,
// Sentinel
COUNT
};