mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-12-01 21:12:50 +08:00
mind sear for shadow priest
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -156,4 +156,10 @@ public:
|
||||
bool isUseful() override;
|
||||
Unit* GetTarget() override;
|
||||
};
|
||||
|
||||
class CastMindSearAction : public CastSpellAction
|
||||
{
|
||||
public:
|
||||
CastMindSearAction(PlayerbotAI* ai) : CastSpellAction(ai, "mind sear") {}
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -219,6 +219,7 @@ class PriestAiObjectContextInternal : public NamedObjectContext<Action>
|
||||
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<Action>
|
||||
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)
|
||||
|
||||
@@ -38,14 +38,15 @@ void ShadowPriestStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
|
||||
void ShadowPriestAoeStrategy::InitTriggers(std::vector<TriggerNode*>& 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<TriggerNode*>& 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)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user