mirror of
https://github.com/NathanHandley/mod-ah-bot-plus.git
synced 2026-01-13 01:08:37 +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)
|
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
|
// Search creature loot templates, referenced loot_loot_template, group_loot tables, and object_loot tables for items' drop rates
|
||||||
std::string directDropString = R"SQL(
|
std::string directDropString = R"SQL(
|
||||||
with chances AS (
|
with chances AS (
|
||||||
@@ -1799,24 +1807,30 @@ void AuctionHouseBot::Update()
|
|||||||
ObjectAccessor::RemoveObject(player.get());
|
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()
|
void AuctionHouseBot::InitializeConfiguration()
|
||||||
{
|
{
|
||||||
debug_Out = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG", false);
|
debug_Out = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG", false);
|
||||||
debug_Out_Filters = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG_FILTERS", false);
|
debug_Out_Filters = sConfigMgr->GetOption<bool>("AuctionHouseBot.DEBUG_FILTERS", false);
|
||||||
|
|
||||||
// Bot enablement
|
|
||||||
SellingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.EnableSeller", false);
|
SellingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.EnableSeller", false);
|
||||||
BuyingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.Enabled", false);
|
BuyingBotEnabled = sConfigMgr->GetOption<bool>("AuctionHouseBot.Buyer.Enabled", false);
|
||||||
if (SellingBotEnabled == false && BuyingBotEnabled == false)
|
|
||||||
return;
|
|
||||||
string charString = sConfigMgr->GetOption<std::string>("AuctionHouseBot.GUIDs", "0");
|
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);
|
AddCharacters(charString);
|
||||||
|
|
||||||
// Buyer & Seller core properties
|
// Buyer & Seller core properties
|
||||||
|
|||||||
@@ -313,6 +313,7 @@ public:
|
|||||||
~AuctionHouseBot();
|
~AuctionHouseBot();
|
||||||
|
|
||||||
void Update();
|
void Update();
|
||||||
|
bool IsModuleEnabled();
|
||||||
void InitializeConfiguration();
|
void InitializeConfiguration();
|
||||||
void EmptyAuctionHouses();
|
void EmptyAuctionHouses();
|
||||||
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
|
uint32 GetRandomStackValue(std::string configKeyString, uint32 defaultValue);
|
||||||
|
|||||||
@@ -20,13 +20,16 @@ public:
|
|||||||
|
|
||||||
void OnAfterConfigLoad(bool /*reload*/) override
|
void OnAfterConfigLoad(bool /*reload*/) override
|
||||||
{
|
{
|
||||||
|
if (!auctionbot->IsModuleEnabled())
|
||||||
|
return;
|
||||||
|
|
||||||
auctionbot->InitializeConfiguration();
|
auctionbot->InitializeConfiguration();
|
||||||
if (HasPerformedStartup == true)
|
if (HasPerformedStartup == true)
|
||||||
{
|
{
|
||||||
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
||||||
auctionbot->PopulateItemCandidatesAndProportions();
|
auctionbot->PopulateItemCandidatesAndProportions();
|
||||||
|
|
||||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", true))
|
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", false))
|
||||||
{
|
{
|
||||||
auctionbot->PopulateQuestRewardItemIDs();
|
auctionbot->PopulateQuestRewardItemIDs();
|
||||||
auctionbot->PopulateItemDropChances();
|
auctionbot->PopulateItemDropChances();
|
||||||
@@ -36,9 +39,12 @@ public:
|
|||||||
|
|
||||||
void OnStartup() override
|
void OnStartup() override
|
||||||
{
|
{
|
||||||
|
if (!auctionbot->IsModuleEnabled())
|
||||||
|
return;
|
||||||
|
|
||||||
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
LOG_INFO("server.loading", "AuctionHouseBot: (Re)populating item candidate lists ...");
|
||||||
auctionbot->PopulateItemCandidatesAndProportions();
|
auctionbot->PopulateItemCandidatesAndProportions();
|
||||||
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", true))
|
if (sConfigMgr->GetOption<bool>("AuctionHouseBot.AdvancedListingRules.UseDropRates.Enabled", false))
|
||||||
{
|
{
|
||||||
auctionbot->PopulateQuestRewardItemIDs();
|
auctionbot->PopulateQuestRewardItemIDs();
|
||||||
auctionbot->PopulateItemDropChances();
|
auctionbot->PopulateItemDropChances();
|
||||||
|
|||||||
Reference in New Issue
Block a user