From 93832c87288bb2dd808aa9a2bebe7bc7bc6f014c Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 3 Nov 2024 20:52:44 +0100 Subject: Core/AuctionHouse: Skip own account commodity listing when buying (cherry picked from commit 8ff8dfd6207561f66b9c30cf0153f400d4a11ba9) --- src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 09c7251d0b2..a17bb9a5a86 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) -- cgit v1.2.3