From ec79bfe1403ea4359ff176f282b0f475f3bd5e7b Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 5 Apr 2025 09:12:30 +0200 Subject: Core/AuctionHouse: restored previously dropped auction house packet handlers --- .../game/Server/Packets/AuctionHousePackets.cpp | 193 +++++++++++++++++++++ .../game/Server/Packets/AuctionHousePackets.h | 154 ++++++++++++++++ src/server/game/Server/Protocol/Opcodes.cpp | 11 ++ src/server/game/Server/Protocol/Opcodes.h | 25 ++- src/server/game/Server/WorldSession.h | 24 +++ 5 files changed, 400 insertions(+), 7 deletions(-) (limited to 'src/server/game/Server') diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp index 1f4913779f1..e1b1ed5a0ac 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.cpp +++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp @@ -274,11 +274,168 @@ ByteBuffer& operator<<(ByteBuffer& data, AuctionBidderNotification const& bidder return data; } +void AuctionBrowseQuery::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> Offset; + _worldPacket >> MinLevel; + _worldPacket >> MaxLevel; + _worldPacket >> Unused1007_1; + _worldPacket >> Unused1007_2; + _worldPacket >> As(Filters); + + uint32 knownPetsSize = _worldPacket.read(); + uint32 const sizeLimit = sBattlePetSpeciesStore.GetNumRows() / (sizeof(decltype(KnownPets)::value_type) * 8) + 1; + if (knownPetsSize >= sizeLimit) + throw PacketArrayMaxCapacityException(knownPetsSize, sizeLimit); + + KnownPets.resize(knownPetsSize); + _worldPacket >> MaxPetLevel; + for (uint8& knownPetMask : KnownPets) + _worldPacket >> knownPetMask; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + uint32 nameLength = _worldPacket.ReadBits(8); + ItemClassFilters.resize(_worldPacket.ReadBits(3)); + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + if (TaintedBy) + _worldPacket >> *TaintedBy; + + Name = _worldPacket.ReadString(nameLength); + for (AuctionListFilterClass& filterClass : ItemClassFilters) + _worldPacket >> filterClass; +} + +void AuctionCancelCommoditiesPurchase::Read() +{ + _worldPacket >> Auctioneer; + if (_worldPacket.ReadBit()) + { + TaintedBy.emplace(); + _worldPacket >> *TaintedBy; + } +} + +void AuctionConfirmCommoditiesPurchase::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> ItemID; + _worldPacket >> Quantity; + if (_worldPacket.ReadBit()) + { + TaintedBy.emplace(); + _worldPacket >> *TaintedBy; + } +} + void AuctionHelloRequest::Read() { _worldPacket >> Guid; } +void AuctionListBiddedItems::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> Offset; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + AuctionIDs.resize(_worldPacket.ReadBits(7)); + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + if (TaintedBy) + _worldPacket >> *TaintedBy; + + for (uint32& auctionID : AuctionIDs) + _worldPacket >> auctionID; +} + +void AuctionListBucketsByBucketKeys::Read() +{ + _worldPacket >> Auctioneer; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + BucketKeys.resize(_worldPacket.ReadBits(7)); + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + if (TaintedBy) + _worldPacket >> *TaintedBy; + + for (AuctionBucketKey& bucketKey : BucketKeys) + _worldPacket >> bucketKey; +} + +void AuctionListItemsByBucketKey::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> Offset; + _worldPacket >> Unknown830; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + _worldPacket >> BucketKey; + + if (TaintedBy) + _worldPacket >> *TaintedBy; +} + +void AuctionListItemsByItemID::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> ItemID; + _worldPacket >> SuffixItemNameDescriptionID; + _worldPacket >> Offset; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + if (TaintedBy) + _worldPacket >> *TaintedBy; +} + +void AuctionListOwnedItems::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> Offset; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + Sorts.resize(_worldPacket.ReadBits(2)); + + for (AuctionSortDef& sortDef : Sorts) + _worldPacket >> sortDef; + + if (TaintedBy) + _worldPacket >> *TaintedBy; +} + void AuctionPlaceBid::Read() { _worldPacket >> Auctioneer; @@ -317,6 +474,24 @@ void AuctionReplicateItems::Read() } } +void AuctionSellCommodity::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> UnitPrice; + _worldPacket >> RunTime; + + if (_worldPacket.ReadBit()) + TaintedBy.emplace(); + + Items.resize(_worldPacket.ReadBits(6)); + + if (TaintedBy) + _worldPacket >> *TaintedBy; + + for (AuctionItemForSale& item : Items) + _worldPacket >> item; +} + void AuctionSellItem::Read() { _worldPacket >> Auctioneer; @@ -336,6 +511,24 @@ void AuctionSellItem::Read() _worldPacket >> item; } +void AuctionSetFavoriteItem::Read() +{ + IsNotFavorite = _worldPacket.ReadBit(); + _worldPacket >> Item; +} + +void AuctionGetCommodityQuote::Read() +{ + _worldPacket >> Auctioneer; + _worldPacket >> ItemID; + _worldPacket >> Quantity; + if (_worldPacket.ReadBit()) + { + TaintedBy.emplace(); + _worldPacket >> *TaintedBy; + } +} + WorldPacket const* AuctionClosedNotification::Write() { _worldPacket << Info; diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h index 20888842b4e..e132ca777b5 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.h +++ b/src/server/game/Server/Packets/AuctionHousePackets.h @@ -141,6 +141,52 @@ namespace WorldPackets Item::ItemInstance Item; }; + class AuctionBrowseQuery final : public ClientPacket + { + public: + AuctionBrowseQuery(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_BROWSE_QUERY, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + uint32 Offset = 0; + uint8 MinLevel = 1; + uint8 MaxLevel = MAX_LEVEL; + uint8 Unused1007_1 = 0; + uint8 Unused1007_2 = 0; + AuctionHouseFilterMask Filters = AuctionHouseFilterMask(0); + std::vector KnownPets; // size checked separately in Read() + int8 MaxPetLevel = 0; + Optional TaintedBy; + std::string Name; + Array ItemClassFilters; + Array Sorts; + }; + + class AuctionCancelCommoditiesPurchase final : public ClientPacket + { + public: + AuctionCancelCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + Optional TaintedBy; + }; + + class AuctionConfirmCommoditiesPurchase final : public ClientPacket + { + public: + AuctionConfirmCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + int32 ItemID = 0; + uint32 Quantity = 0; + Optional TaintedBy; + }; + class AuctionHelloRequest final : public ClientPacket { public: @@ -151,6 +197,76 @@ namespace WorldPackets ObjectGuid Guid; }; + class AuctionListBiddedItems final : public ClientPacket + { + public: + AuctionListBiddedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BIDDED_ITEMS, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + uint32 Offset = 0; + Array AuctionIDs; + Array Sorts; + Optional TaintedBy; + }; + + class AuctionListBucketsByBucketKeys final : public ClientPacket + { + public: + AuctionListBucketsByBucketKeys(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + Optional TaintedBy; + Array BucketKeys; + Array Sorts; + }; + + class AuctionListItemsByBucketKey final : public ClientPacket + { + public: + AuctionListItemsByBucketKey(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + uint32 Offset = 0; + int8 Unknown830 = 0; + Optional TaintedBy; + Array Sorts; + AuctionBucketKey BucketKey; + }; + + class AuctionListItemsByItemID final : public ClientPacket + { + public: + AuctionListItemsByItemID(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + int32 ItemID = 0; + int32 SuffixItemNameDescriptionID = 0; + uint32 Offset = 0; + Optional TaintedBy; + Array Sorts; + }; + + class AuctionListOwnedItems final : public ClientPacket + { + public: + AuctionListOwnedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_OWNED_ITEMS, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + uint32 Offset = 0; + Optional TaintedBy; + Array Sorts; + }; + class AuctionPlaceBid final : public ClientPacket { public: @@ -192,6 +308,20 @@ namespace WorldPackets Optional TaintedBy; }; + class AuctionSellCommodity final : public ClientPacket + { + public: + AuctionSellCommodity(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_COMMODITY, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + uint64 UnitPrice = 0; + uint32 RunTime = 0; + Optional TaintedBy; + Array Items; + }; + class AuctionSellItem final : public ClientPacket { public: @@ -207,6 +337,30 @@ namespace WorldPackets Array Items; }; + class AuctionSetFavoriteItem final : public ClientPacket + { + public: + AuctionSetFavoriteItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SET_FAVORITE_ITEM, std::move(packet)) { } + + void Read() override; + + AuctionFavoriteInfo Item; + bool IsNotFavorite = true; + }; + + class AuctionGetCommodityQuote final : public ClientPacket + { + public: + AuctionGetCommodityQuote(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_GET_COMMODITY_QUOTE, std::move(packet)) { } + + void Read() override; + + ObjectGuid Auctioneer; + int32 ItemID = 0; + uint32 Quantity = 0; + Optional TaintedBy; + }; + class AuctionClosedNotification final : public ServerPacket { public: diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 7e04f22050f..960ca2487ee 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -170,11 +170,22 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_ATTACK_SWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode); DEFINE_HANDLER(CMSG_AUCTIONABLE_TOKEN_SELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_AUCTION_BROWSE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionBrowseQuery); + DEFINE_HANDLER(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionCancelCommoditiesPurchase); + DEFINE_HANDLER(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionConfirmCommoditiesPurchase); + DEFINE_HANDLER(CMSG_AUCTION_GET_COMMODITY_QUOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionGetCommodityQuote); DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionHelloOpcode); + DEFINE_HANDLER(CMSG_AUCTION_LIST_BIDDED_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBiddedItems); + DEFINE_HANDLER(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBucketsByBucketKeys); + DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItemsByBucketKey); + DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItemsByItemID); + DEFINE_HANDLER(CMSG_AUCTION_LIST_OWNED_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListOwnedItems); DEFINE_HANDLER(CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionPlaceBid); DEFINE_HANDLER(CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRemoveItem); DEFINE_HANDLER(CMSG_AUCTION_REPLICATE_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionReplicateItems); + DEFINE_HANDLER(CMSG_AUCTION_SELL_COMMODITY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellCommodity); DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellItem); + DEFINE_HANDLER(CMSG_AUCTION_SET_FAVORITE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSetFavoriteItem); DEFINE_HANDLER(CMSG_AUTH_CONTINUED_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoBankItemOpcode); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 2b7c6bc6a7b..a7de82b53a1 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -68,15 +68,26 @@ enum OpcodeClient : uint32 CMSG_ATTACK_SWING = 0x34010B, CMSG_AUCTIONABLE_TOKEN_SELL = 0x39011B, CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x39011C, + CMSG_AUCTION_BROWSE_QUERY = 0x35005C, + CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = 0x350064, + CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = 0x350063, + CMSG_AUCTION_GET_COMMODITY_QUOTE = 0x350062, CMSG_AUCTION_HELLO_REQUEST = 0x350054, + CMSG_AUCTION_LIST_BIDDED_ITEMS = 0x350060, CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x35005A, + CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS = 0x350061, CMSG_AUCTION_LIST_ITEMS = 0x350057, + CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY = 0x35005D, + CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID = 0x35005E, + CMSG_AUCTION_LIST_OWNED_ITEMS = 0x35005F, CMSG_AUCTION_LIST_OWNER_ITEMS = 0x350059, CMSG_AUCTION_LIST_PENDING_SALES = 0x350066, CMSG_AUCTION_PLACE_BID = 0x35005B, CMSG_AUCTION_REMOVE_ITEM = 0x350056, CMSG_AUCTION_REPLICATE_ITEMS = 0x350058, + CMSG_AUCTION_SELL_COMMODITY = 0x350065, CMSG_AUCTION_SELL_ITEM = 0x350055, + CMSG_AUCTION_SET_FAVORITE_ITEM = 0x39016A, CMSG_AUTH_CONTINUED_SESSION = 0x3A0002, CMSG_AUTH_SESSION = 0x3A0001, CMSG_AUTOBANK_ITEM = 0x360003, @@ -800,22 +811,22 @@ enum OpcodeServer : uint32 SMSG_ATTACK_SWING_ERROR = 0x41002A, SMSG_ATTACK_SWING_LANDED_LOG = 0x41002B, SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x3B0271, - SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x3B0270, + SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x3B0270, SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x3B026F, + SMSG_AUCTION_FAVORITE_LIST = 0x3B02F2, SMSG_AUCTION_CLOSED_NOTIFICATION = 0x3B018F, SMSG_AUCTION_COMMAND_RESULT = 0x3B018C, + SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x3B0322, + SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3B02EA, SMSG_AUCTION_HELLO_RESPONSE = 0x3B018A, + SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3B02E9, + SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3B02E5, SMSG_AUCTION_LIST_ITEMS_RESULT = 0x3B02E6, + SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3B02E8, SMSG_AUCTION_OUTBID_NOTIFICATION = 0x3B018E, SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x3B0190, SMSG_AUCTION_REPLICATE_RESPONSE = 0x3B018B, SMSG_AUCTION_WON_NOTIFICATION = 0x3B018D, - SMSG_AUCTION_DISABLE_NEW_POSTINGS = 0x3B0322, - SMSG_AUCTION_FAVORITE_LIST = 0x3B02F2, - SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = 0x3B02EA, - SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = 0x3B02E9, - SMSG_AUCTION_LIST_BUCKETS_RESULT = 0x3B02E5, - SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = 0x3B02E8, SMSG_AURA_POINTS_DEPLETED = 0x510012, SMSG_AURA_UPDATE = 0x510011, SMSG_AUTH_CHALLENGE = 0x420000, diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 7a3ef59d131..9f2815750eb 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -119,11 +119,23 @@ namespace WorldPackets namespace AuctionHouse { + class AuctionBrowseQuery; + class AuctionCancelCommoditiesPurchase; + class AuctionConfirmCommoditiesPurchase; + class AuctionGetCommodityQuote; class AuctionHelloRequest; + class AuctionListBiddedItems; + class AuctionListBucketsByBucketKeys; + class AuctionListItemsByBucketKey; + class AuctionListItemsByItemID; + class AuctionListOwnedItems; class AuctionPlaceBid; class AuctionRemoveItem; class AuctionReplicateItems; + class AuctionRequestFavoriteList; + class AuctionSellCommodity; class AuctionSellItem; + class AuctionSetFavoriteItem; } namespace Auth @@ -1359,11 +1371,23 @@ class TC_GAME_API WorldSession void HandleSetTradeItemOpcode(WorldPackets::Trade::SetTradeItem& setTradeItem); void HandleUnacceptTradeOpcode(WorldPackets::Trade::UnacceptTrade& unacceptTrade); + void HandleAuctionBrowseQuery(WorldPackets::AuctionHouse::AuctionBrowseQuery& browseQuery); + void HandleAuctionCancelCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionCancelCommoditiesPurchase& cancelCommoditiesPurchase); + void HandleAuctionConfirmCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionConfirmCommoditiesPurchase& confirmCommoditiesPurchase); + void HandleAuctionGetCommodityQuote(WorldPackets::AuctionHouse::AuctionGetCommodityQuote& startCommoditiesPurchase); void HandleAuctionHelloOpcode(WorldPackets::AuctionHouse::AuctionHelloRequest& hello); + void HandleAuctionListBiddedItems(WorldPackets::AuctionHouse::AuctionListBiddedItems& listBiddedItems); + void HandleAuctionListBucketsByBucketKeys(WorldPackets::AuctionHouse::AuctionListBucketsByBucketKeys& listBucketsByBucketKeys); + void HandleAuctionListItemsByBucketKey(WorldPackets::AuctionHouse::AuctionListItemsByBucketKey& listItemsByBucketKey); + void HandleAuctionListItemsByItemID(WorldPackets::AuctionHouse::AuctionListItemsByItemID& listItemsByItemID); + void HandleAuctionListOwnedItems(WorldPackets::AuctionHouse::AuctionListOwnedItems& listOwnedItems); void HandleAuctionPlaceBid(WorldPackets::AuctionHouse::AuctionPlaceBid& placeBid); void HandleAuctionRemoveItem(WorldPackets::AuctionHouse::AuctionRemoveItem& removeItem); void HandleAuctionReplicateItems(WorldPackets::AuctionHouse::AuctionReplicateItems& replicateItems); + void SendAuctionFavoriteList(); + void HandleAuctionSellCommodity(WorldPackets::AuctionHouse::AuctionSellCommodity& sellCommodity); void HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSellItem& sellItem); + void HandleAuctionSetFavoriteItem(WorldPackets::AuctionHouse::AuctionSetFavoriteItem& setFavoriteItem); // Bank void HandleAutoBankItemOpcode(WorldPackets::Bank::AutoBankItem& packet); -- cgit v1.2.3