diff --git a/src/PlayerbotAI.cpp b/src/PlayerbotAI.cpp index dd2c342d..66641926 100644 --- a/src/PlayerbotAI.cpp +++ b/src/PlayerbotAI.cpp @@ -2013,8 +2013,8 @@ bool PlayerbotAI::CanCastSpell(uint32 spellid, Unit* target, bool checkHasSpell, } if (bot->GetCurrentSpell(CURRENT_CHANNELED_SPELL) != nullptr) { - LOG_DEBUG("playerbot", "CanCastSpell() target name: {}, spellid: {}, bot name: {}, failed because has current channeled spell", - target->GetName(), spellid, bot->GetName()); + // LOG_DEBUG("playerbots", "CanCastSpell() target name: {}, spellid: {}, bot name: {}, failed because has current channeled spell", + // target->GetName(), spellid, bot->GetName()); return false; } diff --git a/src/strategy/priest/PriestActions.h b/src/strategy/priest/PriestActions.h index 74562c5c..0b0872e1 100644 --- a/src/strategy/priest/PriestActions.h +++ b/src/strategy/priest/PriestActions.h @@ -156,4 +156,10 @@ public: bool isUseful() override; Unit* GetTarget() override; }; + +class CastMindSearAction : public CastSpellAction +{ + public: + CastMindSearAction(PlayerbotAI* ai) : CastSpellAction(ai, "mind sear") {} +}; #endif diff --git a/src/strategy/priest/PriestAiObjectContext.cpp b/src/strategy/priest/PriestAiObjectContext.cpp index b8b75d4a..05169ff8 100644 --- a/src/strategy/priest/PriestAiObjectContext.cpp +++ b/src/strategy/priest/PriestAiObjectContext.cpp @@ -219,6 +219,7 @@ class PriestAiObjectContextInternal : public NamedObjectContext creators["penance on party"] = &PriestAiObjectContextInternal::penance_on_party; creators["hymn of hope"] = &PriestAiObjectContextInternal::hymn_of_hope; creators["divine hymn"] = &PriestAiObjectContextInternal::divine_hymn; + creators["mind sear"] = &PriestAiObjectContextInternal::mind_sear; } private: @@ -301,6 +302,7 @@ class PriestAiObjectContextInternal : public NamedObjectContext static Action* penance_on_party(PlayerbotAI* ai) { return new CastPenanceOnPartyAction(ai); } static Action* hymn_of_hope(PlayerbotAI* ai) { return new CastHymnOfHopeAction(ai); } static Action* divine_hymn(PlayerbotAI* ai) { return new CastDivineHymnAction(ai); } + static Action* mind_sear(PlayerbotAI* ai) { return new CastMindSearAction(ai); } }; PriestAiObjectContext::PriestAiObjectContext(PlayerbotAI* botAI) : AiObjectContext(botAI) diff --git a/src/strategy/priest/ShadowPriestStrategy.cpp b/src/strategy/priest/ShadowPriestStrategy.cpp index f8416e96..8210bbec 100644 --- a/src/strategy/priest/ShadowPriestStrategy.cpp +++ b/src/strategy/priest/ShadowPriestStrategy.cpp @@ -38,14 +38,15 @@ void ShadowPriestStrategy::InitTriggers(std::vector& triggers) void ShadowPriestAoeStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("shadow word: pain on attacker", NextAction::array(0, new NextAction("shadow word: pain on attacker", 11.0f), nullptr))); + triggers.push_back(new TriggerNode("shadow word: pain on attacker", NextAction::array(0, new NextAction("shadow word: pain on attacker", ACTION_HIGH + 1), nullptr))); + triggers.push_back(new TriggerNode("medium aoe", NextAction::array(0, new NextAction("mind sear", ACTION_HIGH + 4), nullptr))); } void ShadowPriestDebuffStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("devouring plague", NextAction::array(0, new NextAction("devouring plague", 13.0f), nullptr))); - triggers.push_back(new TriggerNode("shadow word: pain", NextAction::array(0, new NextAction("shadow word: pain", 11.0f), nullptr))); - triggers.push_back(new TriggerNode("vampiric touch", NextAction::array(0, new NextAction("vampiric touch", 12.0f), nullptr))); + triggers.push_back(new TriggerNode("devouring plague", NextAction::array(0, new NextAction("devouring plague", ACTION_HIGH + 3), nullptr))); + triggers.push_back(new TriggerNode("vampiric touch", NextAction::array(0, new NextAction("vampiric touch", ACTION_HIGH + 2), nullptr))); + triggers.push_back(new TriggerNode("shadow word: pain", NextAction::array(0, new NextAction("shadow word: pain", ACTION_HIGH + 1), nullptr))); // triggers.push_back(new TriggerNode("feedback", NextAction::array(0, new NextAction("feedback", 80.0f), nullptr))); // triggers.push_back(new TriggerNode("hex of weakness", NextAction::array(0, new NextAction("hex of weakness", 10.0f), nullptr))); }