All disabling of bots bidding against players

This commit is contained in:
NathanHandley
2025-09-18 17:13:23 -05:00
parent 26bd7d8e0f
commit fd10a5f819
3 changed files with 15 additions and 1 deletions

View File

@@ -163,12 +163,19 @@ AuctionHouseBot.Neutral.MaxItems = 15000
# If disabled, the bot may still purchase vendor items above vendor value
# if they fall within the acceptable price modifier rules.
# Default: 1
#
# AuctionHouseBot.Buyer.BidAgainstPlayers
# When enabled, the buyer bot will post bids against auctions that players
# bid against, within the acceptable price range the buyer bot was willing
# to pay
# Default: true
###############################################################################
AuctionHouseBot.Buyer.Enabled = 0
AuctionHouseBot.Buyer.BuyCandidatesPerBuyCycle = 1
AuctionHouseBot.Buyer.AcceptablePriceModifier = 1
AuctionHouseBot.Buyer.PreventOverpayingForVendorItems = 1
AuctionHouseBot.Buyer.BidAgainstPlayers = true
###############################################################################
# AuctionHouseBot.ListProportion.*

View File

@@ -52,6 +52,7 @@ AuctionHouseBot::AuctionHouseBot() :
ListingExpireTimeInSecondsMax(86400),
BuyingBotBuyCandidatesPerBuyCycle(1),
BuyingBotAcceptablePriceModifier(1),
BuyingBotWillBidAgainstPlayers(true),
AHCharactersGUIDsForQuery(""),
ItemsPerCycle(75),
DisabledItemTextFilter(true),
@@ -982,7 +983,11 @@ void AuctionHouseBot::addNewAuctionBuyerBotBid(Player* AHBplayer, AHBConfig *con
return;
}
QueryResult result = CharacterDatabase.Query("SELECT id FROM auctionhouse WHERE itemowner NOT IN ({}) AND buyguid NOT IN ({})", AHCharactersGUIDsForQuery, AHCharactersGUIDsForQuery);
// Pull auctions.
string queryString = "SELECT id FROM auctionhouse WHERE itemowner NOT IN ({}) AND buyguid NOT IN ({})";
if (BuyingBotWillBidAgainstPlayers == false)
queryString = "SELECT id FROM auctionhouse WHERE itemowner NOT IN ({}) AND buyguid NOT IN ({}) AND lastbid = 0";
QueryResult result = CharacterDatabase.Query(queryString, AHCharactersGUIDsForQuery, AHCharactersGUIDsForQuery);
if (!result)
return;
@@ -1257,6 +1262,7 @@ void AuctionHouseBot::InitializeConfiguration()
PreventOverpayingForVendorItems = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.PreventOverpayingForVendorItems", true);
if (PreventOverpayingForVendorItems)
populateVendorItemsPrices();
BuyingBotWillBidAgainstPlayers = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.BidAgainstPlayers", true);
// Stack Ratios
RandomStackRatioConsumable = GetRandomStackValue("AuctionHouseBot.ListingStack.RandomRatio.Consumable", 50);

View File

@@ -132,6 +132,7 @@ private:
uint32 ListingExpireTimeInSecondsMin;
uint32 ListingExpireTimeInSecondsMax;
float BuyingBotAcceptablePriceModifier;
bool BuyingBotWillBidAgainstPlayers;
std::vector<uint32> vendorItemsPrices;
std::string AHCharactersGUIDsForQuery;
uint32 ItemsPerCycle;