diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.h | 4 | ||||
-rw-r--r-- | src/server/game/Handlers/AuctionHouseHandler.cpp | 14 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 5 |
3 files changed, 13 insertions, 10 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index 2138cbc9bae..689ae8da324 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -35,7 +35,7 @@ struct AuctionHouseEntry; #define MAX_AUCTION_ITEMS 160 #define MAX_GETALL_RETURN 55000 -enum AuctionError +enum AuctionError : uint8 { ERR_AUCTION_OK = 0, ERR_AUCTION_INVENTORY = 1, @@ -48,7 +48,7 @@ enum AuctionError ERR_AUCTION_RESTRICTED_ACCOUNT = 13 }; -enum AuctionAction +enum AuctionAction : uint8 { AUCTION_SELL_ITEM = 0, AUCTION_CANCEL = 1, diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 148b678508b..ddbd93218bf 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -77,14 +77,14 @@ void WorldSession::SendAuctionHello(ObjectGuid guid, Creature* unit) } //call this method when player bids, creates, or deletes auction -void WorldSession::SendAuctionCommandResult(uint32 auctionId, uint32 Action, uint32 ErrorCode, uint32 bidError) +void WorldSession::SendAuctionCommandResult(uint32 auctionItemId, AuctionAction command, AuctionError errorCode, InventoryResult bagResult) { WorldPacket data(SMSG_AUCTION_COMMAND_RESULT, 16); - data << auctionId; - data << Action; - data << ErrorCode; - if (!ErrorCode && Action) - data << bidError; //when bid, then send 0, once... + data << int32(auctionItemId); + data << int32(command); + data << int32(errorCode); + if (errorCode == ERR_AUCTION_INVENTORY) + data << int32(bagResult); SendPacket(&data); } @@ -526,7 +526,7 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket& recvData) trans->Append(stmt); } - SendAuctionCommandResult(auction->Id, AUCTION_PLACE_BID, ERR_AUCTION_OK, 0); + SendAuctionCommandResult(auction->Id, AUCTION_PLACE_BID, ERR_AUCTION_OK); } else { diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 8b828ed77ad..f806fec586c 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -57,6 +57,9 @@ struct ItemTemplate; struct MovementInfo; struct Petition; struct TradeStatusInfo; +enum AuctionAction : uint8; +enum AuctionError : uint8; +enum InventoryResult : uint8; namespace lfg { @@ -410,7 +413,7 @@ class TC_GAME_API WorldSession bool SendItemInfo(uint32 itemid, WorldPacket data); //auction void SendAuctionHello(ObjectGuid guid, Creature* unit); - void SendAuctionCommandResult(uint32 auctionId, uint32 Action, uint32 ErrorCode, uint32 bidError = 0); + void SendAuctionCommandResult(uint32 auctionItemId, AuctionAction command, AuctionError errorCode, InventoryResult bagResult = InventoryResult(0)); void SendAuctionBidderNotification(uint32 location, uint32 auctionId, ObjectGuid bidder, uint32 bidSum, uint32 diff, uint32 item_template); void SendAuctionOwnerNotification(AuctionEntry* auction); |