aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp193
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h154
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp11
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h25
-rw-r--r--src/server/game/Server/WorldSession.h24
5 files changed, 400 insertions, 7 deletions
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<uint32>(Filters);
+
+ uint32 knownPetsSize = _worldPacket.read<uint32>();
+ 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<uint8> KnownPets; // size checked separately in Read()
+ int8 MaxPetLevel = 0;
+ Optional<Addon::AddOnInfo> TaintedBy;
+ std::string Name;
+ Array<AuctionListFilterClass, 7> ItemClassFilters;
+ Array<AuctionSortDef, 2> 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<Addon::AddOnInfo> 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<Addon::AddOnInfo> 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<uint32, 100> AuctionIDs;
+ Array<AuctionSortDef, 2> Sorts;
+ Optional<Addon::AddOnInfo> 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<Addon::AddOnInfo> TaintedBy;
+ Array<AuctionBucketKey, 100> BucketKeys;
+ Array<AuctionSortDef, 2> 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<Addon::AddOnInfo> TaintedBy;
+ Array<AuctionSortDef, 2> 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<Addon::AddOnInfo> TaintedBy;
+ Array<AuctionSortDef, 2> 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<Addon::AddOnInfo> TaintedBy;
+ Array<AuctionSortDef, 2> Sorts;
+ };
+
class AuctionPlaceBid final : public ClientPacket
{
public:
@@ -192,6 +308,20 @@ namespace WorldPackets
Optional<Addon::AddOnInfo> 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<Addon::AddOnInfo> TaintedBy;
+ Array<AuctionItemForSale, 64> Items;
+ };
+
class AuctionSellItem final : public ClientPacket
{
public:
@@ -207,6 +337,30 @@ namespace WorldPackets
Array<AuctionItemForSale, 1> 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<Addon::AddOnInfo> 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);