Add proper live server config reload support

This commit is contained in:
NathanHandley
2025-09-21 11:07:45 -05:00
parent 1c912f5e46
commit 12570dc2ba
3 changed files with 13 additions and 10 deletions

View File

@@ -1183,12 +1183,6 @@ void AuctionHouseBot::Update()
ObjectAccessor::RemoveObject(&_AHBplayer);
}
void AuctionHouseBot::Initialize()
{
// Build a list of newItemsToListCount that can be pulled from for auction
PopulateItemCandidatesAndProportions();
}
void AuctionHouseBot::InitializeConfiguration()
{
debug_Out = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG", false);
@@ -1442,6 +1436,7 @@ uint32 AuctionHouseBot::GetRandomStackIncrementValue(std::string configKeyString
void AuctionHouseBot::AddCharacters(std::string characterGUIDString)
{
AHCharacters.clear();
std::string delimitedValue;
std::stringstream characterGUIDStream;
std::set<uint32> characterGUIDs;

View File

@@ -284,7 +284,6 @@ public:
~AuctionHouseBot();
void Update();
void Initialize();
void InitializeConfiguration();
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
uint32 GetRandomStackIncrementValue(std::string configKeyString, uint32 defaultValue);

View File

@@ -11,18 +11,27 @@
class AHBot_WorldScript : public WorldScript
{
private:
bool HasPerformedStartup;
public:
AHBot_WorldScript() : WorldScript("AHBot_WorldScript") { }
AHBot_WorldScript() : WorldScript("AHBot_WorldScript"), HasPerformedStartup(false) { }
void OnAfterConfigLoad(bool /*reload*/) override
{
auctionbot->InitializeConfiguration();
if (HasPerformedStartup == true)
{
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
auctionbot->PopulateItemCandidatesAndProportions();
}
}
void OnStartup() override
{
LOG_INFO("server.loading", "Initialize AuctionHouseBot...");
auctionbot->Initialize();
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
auctionbot->PopulateItemCandidatesAndProportions();
HasPerformedStartup = true;
}
};