diff --git a/conf/playerbots.conf.dist b/conf/playerbots.conf.dist index 4820efb3e..7651abf45 100644 --- a/conf/playerbots.conf.dist +++ b/conf/playerbots.conf.dist @@ -325,6 +325,10 @@ AiPlayerbot.SaveManaThreshold = 60 # Default: 0 (disable) AiPlayerbot.AutoAvoidAoe = 0 +# Tell which spell is avoiding (experimental) +# Default: 1 (enable) +AiPlayerbot.TellWhenAvoidAoe = 1 + # Random bot default strategies (applied after defaults) AiPlayerbot.RandomBotCombatStrategies = "+dps,+dps assist,-threat" # AiPlayerbot.RandomBotNonCombatStrategies = "+grind,+loot,+rpg,+custom::say" diff --git a/src/PlayerbotAIConfig.cpp b/src/PlayerbotAIConfig.cpp index f56592e90..851ff06f1 100644 --- a/src/PlayerbotAIConfig.cpp +++ b/src/PlayerbotAIConfig.cpp @@ -92,6 +92,7 @@ bool PlayerbotAIConfig::Initialize() autoSaveMana = sConfigMgr->GetOption("AiPlayerbot.AutoSaveMana", true); saveManaThreshold = sConfigMgr->GetOption("AiPlayerbot.SaveManaThreshold", 60); autoAvoidAoe = sConfigMgr->GetOption("AiPlayerbot.AutoAvoidAoe", false); + tellWhenAvoidAoe = sConfigMgr->GetOption("AiPlayerbot.TellWhenAvoidAoe", true); randomGearLoweringChance = sConfigMgr->GetOption("AiPlayerbot.RandomGearLoweringChance", 0.15f); randomBotMaxLevelChance = sConfigMgr->GetOption("AiPlayerbot.RandomBotMaxLevelChance", 0.15f); diff --git a/src/PlayerbotAIConfig.h b/src/PlayerbotAIConfig.h index 46740aa0a..6ee58fc6a 100644 --- a/src/PlayerbotAIConfig.h +++ b/src/PlayerbotAIConfig.h @@ -65,6 +65,7 @@ class PlayerbotAIConfig bool autoSaveMana; uint32 saveManaThreshold; bool autoAvoidAoe; + bool tellWhenAvoidAoe; uint32 openGoSpell; bool randomBotAutologin; diff --git a/src/strategy/actions/MovementActions.cpp b/src/strategy/actions/MovementActions.cpp index f5345e679..892572330 100644 --- a/src/strategy/actions/MovementActions.cpp +++ b/src/strategy/actions/MovementActions.cpp @@ -1674,9 +1674,11 @@ bool AvoidAoeAction::FleePostion(Position pos, float radius, std::string name) } if (farestDis > 0.0f) { if (MoveTo(bot->GetMapId(), bestPos.GetPositionX(), bestPos.GetPositionY(), bestPos.GetPositionZ(), false, false, true)) { - std::ostringstream out; - out << "Avoiding spell " << name << "..."; - bot->Say(out.str(), LANG_UNIVERSAL); + if (sPlayerbotAIConfig->tellWhenAvoidAoe) { + std::ostringstream out; + out << "Avoiding spell " << name << "..."; + bot->Say(out.str(), LANG_UNIVERSAL); + } return true; } }