mirror of
https://github.com/NathanHandley/mod-ah-bot-plus.git
synced 2026-01-13 01:08:37 +00:00
added CyclesBetweenBuyOrSell variance
This commit is contained in:
@@ -11,10 +11,13 @@
|
|||||||
# Default: false (disabled)
|
# Default: false (disabled)
|
||||||
#
|
#
|
||||||
# AuctionHouseBot.AuctionHouseManagerCyclesBetweenBuyOrSell
|
# AuctionHouseBot.AuctionHouseManagerCyclesBetweenBuyOrSell
|
||||||
# How many cycles to wait between executing any buying or selling logic
|
# How many cycles to wait between executing any buying and selling logic.
|
||||||
# - At this time, the AzerothCore has it set as 1 minute inside the
|
# At this time, AzerothCore waits 1 minute between cycles as defined by
|
||||||
# AuctionHouseMgr.cpp file
|
# the AuctionHouseMgr.cpp file.
|
||||||
# Default 1 (once per AuctionHouseMgr.cpp update cycle)
|
# Value can be a single number in order to wait X cycles between buying
|
||||||
|
# and selling, or a pair of numbers separated by a ':' to wait a random
|
||||||
|
# number of cycles between X and Y before buying and selling. (e.g. 3:15 )
|
||||||
|
# Default: 1
|
||||||
#
|
#
|
||||||
# AuctionHouseBot.EnableSeller
|
# AuctionHouseBot.EnableSeller
|
||||||
# Enable/Disable the part of AHBot that puts items up for auction
|
# Enable/Disable the part of AHBot that puts items up for auction
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ AuctionHouseBot::AuctionHouseBot() :
|
|||||||
debug_Out_Filters(false),
|
debug_Out_Filters(false),
|
||||||
SellingBotEnabled(false),
|
SellingBotEnabled(false),
|
||||||
BuyingBotEnabled(false),
|
BuyingBotEnabled(false),
|
||||||
CyclesBetweenBuyOrSell(1),
|
CyclesBetweenBuyOrSellMin(1),
|
||||||
|
CyclesBetweenBuyOrSellMax(1),
|
||||||
MaxBuyoutPriceInCopper(1000000000),
|
MaxBuyoutPriceInCopper(1000000000),
|
||||||
BuyoutVariationReducePercent(0.15f),
|
BuyoutVariationReducePercent(0.15f),
|
||||||
BuyoutVariationAddPercent(0.25f),
|
BuyoutVariationAddPercent(0.25f),
|
||||||
@@ -1173,7 +1174,7 @@ void AuctionHouseBot::Update()
|
|||||||
|
|
||||||
// Only update if the update cycle has been hit
|
// Only update if the update cycle has been hit
|
||||||
LastCycleCount++;
|
LastCycleCount++;
|
||||||
if (LastCycleCount < CyclesBetweenBuyOrSell)
|
if (LastCycleCount < urand(CyclesBetweenBuyOrSellMin, CyclesBetweenBuyOrSellMax))
|
||||||
return;
|
return;
|
||||||
LastCycleCount = 0;
|
LastCycleCount = 0;
|
||||||
|
|
||||||
@@ -1226,7 +1227,7 @@ void AuctionHouseBot::InitializeConfiguration()
|
|||||||
AddCharacters(charString);
|
AddCharacters(charString);
|
||||||
|
|
||||||
// Buyer & Seller core properties
|
// Buyer & Seller core properties
|
||||||
CyclesBetweenBuyOrSell = sConfigMgr->GetOption<uint32>("AuctionHouseBot.AuctionHouseManagerCyclesBetweenBuyOrSell", 1);
|
SetCyclesBetweenBuyOrSell();
|
||||||
ItemsPerCycle = sConfigMgr->GetOption<uint32>("AuctionHouseBot.ItemsPerCycle", 75);
|
ItemsPerCycle = sConfigMgr->GetOption<uint32>("AuctionHouseBot.ItemsPerCycle", 75);
|
||||||
MaxBuyoutPriceInCopper = sConfigMgr->GetOption<uint32>("AuctionHouseBot.MaxBuyoutPriceInCopper", 1000000000);
|
MaxBuyoutPriceInCopper = sConfigMgr->GetOption<uint32>("AuctionHouseBot.MaxBuyoutPriceInCopper", 1000000000);
|
||||||
BuyoutVariationReducePercent = sConfigMgr->GetOption<float>("AuctionHouseBot.BuyoutVariationReducePercent", 0.15f);
|
BuyoutVariationReducePercent = sConfigMgr->GetOption<float>("AuctionHouseBot.BuyoutVariationReducePercent", 0.15f);
|
||||||
@@ -1463,6 +1464,26 @@ uint32 AuctionHouseBot::GetRandomStackIncrementValue(std::string configKeyString
|
|||||||
return stackIncrementValue;
|
return stackIncrementValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AuctionHouseBot::SetCyclesBetweenBuyOrSell()
|
||||||
|
{
|
||||||
|
std::string cyclesConfigString = sConfigMgr->GetOption<std::string>("AuctionHouseBot.AuctionHouseManagerCyclesBetweenBuyOrSell", "1");
|
||||||
|
size_t pos = cyclesConfigString.find(':');
|
||||||
|
if (pos != std::string::npos)
|
||||||
|
{
|
||||||
|
CyclesBetweenBuyOrSellMin = std::stoi(cyclesConfigString.substr(0, pos));
|
||||||
|
CyclesBetweenBuyOrSellMax = std::stoi(cyclesConfigString.substr(pos + 1));
|
||||||
|
|
||||||
|
if (CyclesBetweenBuyOrSellMin < 1)
|
||||||
|
CyclesBetweenBuyOrSellMin = 1;
|
||||||
|
if (CyclesBetweenBuyOrSellMax < CyclesBetweenBuyOrSellMin)
|
||||||
|
CyclesBetweenBuyOrSellMax = CyclesBetweenBuyOrSellMin;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CyclesBetweenBuyOrSellMin = CyclesBetweenBuyOrSellMax = std::stoi(cyclesConfigString);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AuctionHouseBot::AddCharacters(std::string characterGUIDString)
|
void AuctionHouseBot::AddCharacters(std::string characterGUIDString)
|
||||||
{
|
{
|
||||||
AHCharacters.clear();
|
AHCharacters.clear();
|
||||||
|
|||||||
@@ -128,7 +128,8 @@ private:
|
|||||||
|
|
||||||
bool SellingBotEnabled;
|
bool SellingBotEnabled;
|
||||||
bool BuyingBotEnabled;
|
bool BuyingBotEnabled;
|
||||||
int CyclesBetweenBuyOrSell;
|
int CyclesBetweenBuyOrSellMin;
|
||||||
|
int CyclesBetweenBuyOrSellMax;
|
||||||
uint32 MaxBuyoutPriceInCopper;
|
uint32 MaxBuyoutPriceInCopper;
|
||||||
float BuyoutVariationReducePercent;
|
float BuyoutVariationReducePercent;
|
||||||
float BuyoutVariationAddPercent;
|
float BuyoutVariationAddPercent;
|
||||||
@@ -290,6 +291,7 @@ public:
|
|||||||
void InitializeConfiguration();
|
void InitializeConfiguration();
|
||||||
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
|
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
|
||||||
uint32 GetRandomStackIncrementValue(std::string configKeyString, uint32 defaultValue);
|
uint32 GetRandomStackIncrementValue(std::string configKeyString, uint32 defaultValue);
|
||||||
|
void SetCyclesBetweenBuyOrSell();
|
||||||
void AddCharacters(std::string characterGUIDString);
|
void AddCharacters(std::string characterGUIDString);
|
||||||
void AddItemIDsFromString(std::set<uint32>& workingItemIDSet, std::string itemString, const char* parentOperationName);
|
void AddItemIDsFromString(std::set<uint32>& workingItemIDSet, std::string itemString, const char* parentOperationName);
|
||||||
void AddToItemIDSet(std::set<uint32>& workingItemIDSet, uint32 itemID, const char* parentOperationName);
|
void AddToItemIDSet(std::set<uint32>& workingItemIDSet, uint32 itemID, const char* parentOperationName);
|
||||||
|
|||||||
Reference in New Issue
Block a user