mirror of
https://github.com/NathanHandley/mod-ah-bot-plus.git
synced 2026-01-13 09:17:21 +00:00
fixed handling of null UseDropRates.<Category>.AffectedQualities configs
This commit is contained in:
@@ -1211,6 +1211,14 @@ void AuctionHouseBot::PopulateItemDropChances()
|
||||
|
||||
void AuctionHouseBot::PopulateItemDropChancesForCategoryAndQuality(ItemClass category, std::string qualities)
|
||||
{
|
||||
if (qualities.empty())
|
||||
{
|
||||
LOG_ERROR("module", "AuctionHouseBot: PopulateItemDropChancesForCategoryAndQuality() qualities are not set. "
|
||||
"Verify that mod_ahbot.conf has values for AdvancedListingRules.UseDropRates.<Category>.AffectedQualities. "
|
||||
"Defaulting to '2,3,4,5' to prevent crash.");
|
||||
qualities = "2,3,4,5";
|
||||
}
|
||||
|
||||
// Search creature loot templates, referenced loot_loot_template, group_loot tables, and object_loot tables for items' drop rates
|
||||
std::string directDropString = R"SQL(
|
||||
with chances AS (
|
||||
@@ -1799,24 +1807,30 @@ void AuctionHouseBot::Update()
|
||||
ObjectAccessor::RemoveObject(player.get());
|
||||
}
|
||||
|
||||
bool AuctionHouseBot::IsModuleEnabled()
|
||||
{
|
||||
bool sellerEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.EnableSeller", false);
|
||||
bool buyerEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.Enabled", false);
|
||||
if (sellerEnabled == false && buyerEnabled == false)
|
||||
return false;
|
||||
string charString = sConfigMgr->GetOption<std::string>("AuctionHouseBot.GUIDs", "0");
|
||||
if (charString == "0")
|
||||
{
|
||||
LOG_INFO("module", "AuctionHouseBot: AuctionHouseBot.GUIDs is '0' so this module will be disabled");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void AuctionHouseBot::InitializeConfiguration()
|
||||
{
|
||||
debug_Out = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG", false);
|
||||
debug_Out_Filters = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG_FILTERS", false);
|
||||
|
||||
// Bot enablement
|
||||
SellingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.EnableSeller", false);
|
||||
BuyingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.Enabled", false);
|
||||
if (SellingBotEnabled == false && BuyingBotEnabled == false)
|
||||
return;
|
||||
|
||||
string charString = sConfigMgr->GetOption<std::string>("AuctionHouseBot.GUIDs", "0");
|
||||
if (charString == "0")
|
||||
{
|
||||
BuyingBotEnabled = false;
|
||||
SellingBotEnabled = false;
|
||||
LOG_INFO("module", "AuctionHouseBot: AuctionHouseBot.GUIDs is '0' so this module will be disabled");
|
||||
return;
|
||||
}
|
||||
AddCharacters(charString);
|
||||
|
||||
// Buyer & Seller core properties
|
||||
|
||||
@@ -313,6 +313,7 @@ public:
|
||||
~AuctionHouseBot();
|
||||
|
||||
void Update();
|
||||
bool IsModuleEnabled();
|
||||
void InitializeConfiguration();
|
||||
void EmptyAuctionHouses();
|
||||
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
|
||||
|
||||
@@ -20,13 +20,16 @@ public:
|
||||
|
||||
void OnAfterConfigLoad(bool /*reload*/) override
|
||||
{
|
||||
if (!auctionbot->IsModuleEnabled())
|
||||
return;
|
||||
|
||||
auctionbot->InitializeConfiguration();
|
||||
if (HasPerformedStartup == true)
|
||||
{
|
||||
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
||||
auctionbot->PopulateItemCandidatesAndProportions();
|
||||
|
||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", true))
|
||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", false))
|
||||
{
|
||||
auctionbot->PopulateQuestRewardItemIDs();
|
||||
auctionbot->PopulateItemDropChances();
|
||||
@@ -36,9 +39,12 @@ public:
|
||||
|
||||
void OnStartup() override
|
||||
{
|
||||
if (!auctionbot->IsModuleEnabled())
|
||||
return;
|
||||
|
||||
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
||||
auctionbot->PopulateItemCandidatesAndProportions();
|
||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", true))
|
||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", false))
|
||||
{
|
||||
auctionbot->PopulateQuestRewardItemIDs();
|
||||
auctionbot->PopulateItemDropChances();
|
||||
|
||||
Reference in New Issue
Block a user