From 28dffbee11024c1abc82a29a3fef655d9262904b Mon Sep 17 00:00:00 2001 From: Nay Date: Tue, 18 Dec 2012 23:24:54 +0000 Subject: Core/AuctionHouse: Partially revert 3cf260068809 to keep compatibility with the "AHBot patch" Note: Trinity needs/wants an auction house bot in the core but for that to happen AHBot needs to be rewritten (possibly using Mango's implementation as a base) --- src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 6 ++++-- src/server/game/AuctionHouse/AuctionHouseMgr.h | 2 +- src/server/game/Handlers/AuctionHouseHandler.cpp | 6 ++++-- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 206e4e4bb04..161c4a578ce 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -411,7 +411,7 @@ void AuctionHouseObject::AddAuction(AuctionEntry* auction) sScriptMgr->OnAuctionAdd(this, auction); } -bool AuctionHouseObject::RemoveAuction(AuctionEntry* auction) +bool AuctionHouseObject::RemoveAuction(AuctionEntry* auction, uint32 /*itemEntry*/) { bool wasInMap = AuctionsMap.erase(auction->Id) ? true : false; @@ -467,12 +467,14 @@ void AuctionHouseObject::Update() sScriptMgr->OnAuctionSuccessful(this, auction); } + uint32 itemEntry = auction->itemEntry; + ///- In any case clear the auction auction->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - RemoveAuction(auction); + RemoveAuction(auction, itemEntry); } while (result->NextRow()); } diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index 0aa97210271..e13b4665b7b 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -118,7 +118,7 @@ class AuctionHouseObject void AddAuction(AuctionEntry* auction); - bool RemoveAuction(AuctionEntry* auction); + bool RemoveAuction(AuctionEntry* auction, uint32 itemEntry); void Update(); diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 26e19a3ad87..3c38ff8460e 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -473,8 +473,9 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket& recvData) auction->DeleteFromDB(trans); + uint32 itemEntry = auction->itemEntry; sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - auctionHouse->RemoveAuction(auction); + auctionHouse->RemoveAuction(auction, itemEntry); } player->SaveInventoryAndGoldToDB(trans); CharacterDatabase.CommitTransaction(trans); @@ -552,8 +553,9 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket& recvData) auction->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); + uint32 itemEntry = auction->itemEntry; sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - auctionHouse->RemoveAuction(auction); + auctionHouse->RemoveAuction(auction, itemEntry); } //called when player lists his bids -- cgit v1.2.3