diff --git a/zone/bot.cpp b/zone/bot.cpp index ae915ed80..18e2fb048 100644 --- a/zone/bot.cpp +++ b/zone/bot.cpp @@ -248,12 +248,12 @@ Bot::Bot( database.botdb.LoadTimers(this); - LoadAAs(); - LoadDefaultBotSettings(); database.botdb.LoadBotSettings(this); + LoadAAs(); + if (database.botdb.LoadBuffs(this)) { //reapply some buffs uint32 buff_count = GetMaxBuffSlots(); @@ -1258,7 +1258,6 @@ int32 Bot::GenerateBaseHitPoints() { } void Bot::LoadAAs() { - aa_ranks.clear(); int id = 0; @@ -10213,7 +10212,7 @@ void Bot::LoadDefaultBotSettings() { uint8 botStance = GetBotStance(); - for (uint16 i = BotBaseSettings::START; i <= BotBaseSettings::END; ++i) { + for (uint16 i = BotBaseSettings::START_ALL; i <= BotBaseSettings::END; ++i) { SetBotBaseSetting(i, GetDefaultSetting(BotSettingCategories::BaseSetting, i, botStance)); LogBotSettingsDetail("{} says, 'Setting default {} [{}] to [{}]'", GetCleanName(), GetBotSettingCategoryName(i), i, GetDefaultBotBaseSetting(i, botStance)); //deleteme } diff --git a/zone/bot.h b/zone/bot.h index 8d1a60047..8426a9b7f 100644 --- a/zone/bot.h +++ b/zone/bot.h @@ -142,6 +142,7 @@ namespace BotBaseSettings { constexpr uint16 HPWhenToMed = 12; constexpr uint16 ManaWhenToMed = 13; + constexpr uint16 START_ALL = ExpansionBitmask; constexpr uint16 START = BotBaseSettings::ShowHelm; // Everything above this cannot be copied, changed or viewed by players constexpr uint16 END = BotBaseSettings::ManaWhenToMed; // Increment as needed }; diff --git a/zone/bot_database.cpp b/zone/bot_database.cpp index 60f389a9b..a4d4c8385 100644 --- a/zone/bot_database.cpp +++ b/zone/bot_database.cpp @@ -2294,7 +2294,7 @@ bool BotDatabase::SaveBotSettings(Mob* m) if (m->IsBot()) { uint8 botStance = m->CastToBot()->GetBotStance(); - for (uint16 i = BotBaseSettings::START; i <= BotBaseSettings::END; ++i) { + for (uint16 i = BotBaseSettings::START_ALL; i <= BotBaseSettings::END; ++i) { if (m->CastToBot()->GetBotBaseSetting(i) != m->CastToBot()->GetDefaultBotBaseSetting(i, botStance)) { auto e = BotSettingsRepository::BotSettings{ .char_id = charID,