From 8ff8dfd6207561f66b9c30cf0153f400d4a11ba9 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 3 Nov 2024 20:52:44 +0100 Subject: [PATCH] Core/AuctionHouse: Skip own account commodity listing when buying --- src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 31c7fa2b7b6..83c99e96feb 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -1482,6 +1482,9 @@ CommodityQuote const* AuctionHouseObject::CreateCommodityQuote(Player const* pla uint32 remainingQuantity = quantity; for (AuctionPosting const* auction : bucketItr->second.Auctions) { + if (auction->Owner == player->GetGUID() || auction->OwnerAccount == player->GetSession()->GetAccountGUID()) + continue; + for (Item* auctionItem : auction->Items) { if (auctionItem->GetCount() >= remainingQuantity) @@ -1541,6 +1544,9 @@ bool AuctionHouseObject::BuyCommodity(CharacterDatabaseTransaction trans, Player for (auto auctionItr = bucketItr->second.Auctions.begin(); auctionItr != bucketItr->second.Auctions.end();) { AuctionPosting* auction = *auctionItr++; + if (auction->Owner == player->GetGUID() || auction->OwnerAccount == player->GetSession()->GetAccountGUID()) + continue; + auctions.push_back(auction); for (Item* auctionItem : auction->Items) { @@ -1607,6 +1613,9 @@ bool AuctionHouseObject::BuyCommodity(CharacterDatabaseTransaction trans, Player for (auto auctionItr = bucketItr->second.Auctions.begin(); auctionItr != bucketItr->second.Auctions.end();) { AuctionPosting* auction = *auctionItr++; + if (auction->Owner == player->GetGUID() || auction->OwnerAccount == player->GetSession()->GetAccountGUID()) + continue; + if (!uniqueSeller) uniqueSeller = auction->Owner; else if (*uniqueSeller != auction->Owner)