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

View File

@@ -284,7 +284,6 @@ public:
~AuctionHouseBot(); ~AuctionHouseBot();
void Update(); void Update();
void Initialize();
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);

View File

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