aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorpete318 <pete318@users.noreply.github.com>2016-02-03 00:45:31 +0000
committerShauren <shauren.trinity@gmail.com>2016-04-10 17:48:29 +0200
commit7d5d79aa015b21969a1f5ca75ca3efe8cb842f25 (patch)
treee21f6f3a63c2a4a3a0891fc4348dee866200dd67 /src/server/game/Server
parentb23a6aeaff403266491ea75207558bf9917b9cc4 (diff)
Implement AuctionHouse features: GetAll scan and search throttling
Implements two standard features of the Auction House. * GetAll scan, retrieves all auctions and sends them in a single packet. There's a limitation on how often a player can do this (Max 55000 items) * Search throttling. For normal searches, the server can send a time in milliseconds to the client, the client will wait that long between searches. Delay set in config Closes #16469 (cherry picked from commit 3aaeb574050668e5a240078f6e40337c3975d110)
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp9
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h8
2 files changed, 8 insertions, 9 deletions
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index bb945b396dd..143ba11ddca 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -184,10 +184,10 @@ void WorldPackets::AuctionHouse::AuctionRemoveItem::Read()
void WorldPackets::AuctionHouse::AuctionReplicateItems::Read()
{
_worldPacket >> Auctioneer;
- _worldPacket >> Count;
_worldPacket >> ChangeNumberGlobal;
_worldPacket >> ChangeNumberCursor;
_worldPacket >> ChangeNumberTombstone;
+ _worldPacket >> Count;
}
WorldPacket const* WorldPackets::AuctionHouse::AuctionListItemsResult::Write()
@@ -312,12 +312,11 @@ WorldPacket const* WorldPackets::AuctionHouse::AuctionOutBidNotification::Write(
WorldPacket const* WorldPackets::AuctionHouse::AuctionReplicateResponse::Write()
{
- //Todo order
- _worldPacket << int32(ChangeNumberCursor);
- _worldPacket << int32(ChangeNumberGlobal);
+ _worldPacket << int32(Result);
_worldPacket << int32(DesiredDelay);
+ _worldPacket << int32(ChangeNumberGlobal);
+ _worldPacket << int32(ChangeNumberCursor);
_worldPacket << int32(ChangeNumberTombstone);
- _worldPacket << int32(Result);
_worldPacket << int32(Items.size());
for (auto const& item : Items)
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index 1183c05da5b..e6aa6faac16 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -187,10 +187,10 @@ namespace WorldPackets
void Read() override;
ObjectGuid Auctioneer;
- int32 Count = 0;
- int32 ChangeNumberGlobal = 0;
- int32 ChangeNumberCursor = 0;
- int32 ChangeNumberTombstone = 0;
+ uint32 ChangeNumberGlobal = 0;
+ uint32 ChangeNumberCursor = 0;
+ uint32 ChangeNumberTombstone = 0;
+ uint32 Count = 0;
};
class AuctionListPendingSales final : public ClientPacket