mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-31 09:23:47 +00:00
major class spells
This commit is contained in:
@@ -99,4 +99,5 @@ void BloodDKStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
triggers.push_back(new TriggerNode("lose aggro", NextAction::array(0, new NextAction("dark command", ACTION_HIGH + 3), nullptr)));
|
||||
triggers.push_back(new TriggerNode("low health", NextAction::array(0, new NextAction("blood tap", ACTION_HIGH + 5),
|
||||
new NextAction("vampiric blood", ACTION_HIGH + 3), new NextAction("death strike", ACTION_HIGH + 4), nullptr)));
|
||||
|
||||
}
|
||||
|
||||
@@ -84,6 +84,7 @@ class DeathKnightTriggerFactoryInternal : public NamedObjectContext<Trigger>
|
||||
creators["blood tap"] = &DeathKnightTriggerFactoryInternal::blood_tap;
|
||||
creators["raise dead"] = &DeathKnightTriggerFactoryInternal::raise_dead;
|
||||
creators["chains of ice"] = &DeathKnightTriggerFactoryInternal::chains_of_ice;
|
||||
creators["unbreakable armor"] = &DeathKnightTriggerFactoryInternal::unbreakable_armor;
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -104,6 +105,7 @@ class DeathKnightTriggerFactoryInternal : public NamedObjectContext<Trigger>
|
||||
static Trigger* blood_tap(PlayerbotAI* botAI) { return new BloodTapTrigger(botAI); }
|
||||
static Trigger* raise_dead(PlayerbotAI* botAI) { return new RaiseDeadTrigger(botAI); }
|
||||
static Trigger* chains_of_ice(PlayerbotAI* botAI) { return new ChainsOfIceSnareTrigger(botAI); }
|
||||
static Trigger* unbreakable_armor(PlayerbotAI* botAI) { return new UnbreakableArmorTrigger(botAI); }
|
||||
};
|
||||
|
||||
class DeathKnightAiObjectContextInternal : public NamedObjectContext<Action>
|
||||
|
||||
@@ -17,11 +17,14 @@ bool PestilenceTrigger::IsActive() {
|
||||
if (!SpellTrigger::IsActive()) {
|
||||
return false;
|
||||
}
|
||||
if (!bot->HasAura(63334)) {
|
||||
return false;
|
||||
}
|
||||
Aura *blood_plague = botAI->GetAura("blood plague", GetTarget(), true, true);
|
||||
Aura *frost_fever = botAI->GetAura("frost fever", GetTarget(), true, true);
|
||||
if ((blood_plague && blood_plague->GetDuration() <= 5000) ||
|
||||
(frost_fever && frost_fever->GetDuration() <= 5000)) {
|
||||
if ((blood_plague && blood_plague->GetDuration() <= 3000) ||
|
||||
(frost_fever && frost_fever->GetDuration() <= 3000)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -14,7 +14,7 @@ BUFF_TRIGGER(BoneShieldTrigger, "bone shield");
|
||||
BUFF_TRIGGER(ImprovedIcyTalonsTrigger, "improved icy talons");
|
||||
DEBUFF_CHECKISOWNER_TRIGGER(PlagueStrikeDebuffTrigger, "blood plague");
|
||||
DEBUFF_CHECKISOWNER_TRIGGER(IcyTouchDebuffTrigger, "frost fever");
|
||||
|
||||
BUFF_TRIGGER(UnbreakableArmorTrigger, "unbreakable armor");
|
||||
class PlagueStrikeDebuffOnAttackerTrigger : public DebuffOnMeleeAttackerTrigger
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -23,7 +23,6 @@ class FrostDKStrategyActionNodeFactory : public NamedObjectFactory<ActionNode>
|
||||
//creators["deathchill"] = &deathchill;
|
||||
//creators["icebound fortitude"] = &icebound_fortitude;
|
||||
//creators["mind freeze"] = &mind_freeze;
|
||||
//creators["empower weapon"] = &empower_weapon;
|
||||
//creators["hungering cold"] = &hungering_cold;
|
||||
//creators["unbreakable armor"] = &unbreakable_armor;
|
||||
//creators["improved icy talons"] = &improved_icy_talons;
|
||||
@@ -74,6 +73,7 @@ NextAction** FrostDKStrategy::getDefaultActions()
|
||||
new NextAction("obliterate", ACTION_NORMAL + 5),
|
||||
new NextAction("frost strike", ACTION_NORMAL + 4),
|
||||
// new NextAction("death strike", ACTION_NORMAL + 3),
|
||||
new NextAction("empower rune weapon", ACTION_NORMAL + 2),
|
||||
new NextAction("melee", ACTION_NORMAL),
|
||||
NULL
|
||||
);
|
||||
@@ -82,9 +82,8 @@ NextAction** FrostDKStrategy::getDefaultActions()
|
||||
void FrostDKStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
{
|
||||
GenericDKStrategy::InitTriggers(triggers);
|
||||
|
||||
triggers.push_back(new TriggerNode("empower weapon", NextAction::array(0, new NextAction("empower weapon", ACTION_NORMAL + 4), nullptr)));
|
||||
triggers.push_back(new TriggerNode("pestilence", NextAction::array(0, new NextAction("pestilence", ACTION_HIGH + 9), NULL)));
|
||||
triggers.push_back(new TriggerNode("unbreakable armor", NextAction::array(0, new NextAction("unbreakable armor", ACTION_NORMAL + 4), nullptr)));
|
||||
// triggers.push_back(new TriggerNode("empower rune weapon", NextAction::array(0, new NextAction("empower rune weapon", ACTION_NORMAL + 4), nullptr)));
|
||||
}
|
||||
|
||||
void FrostDKAoeStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
|
||||
@@ -178,4 +178,5 @@ void GenericDKStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
new NextAction("pestilence", ACTION_NORMAL + 4), new NextAction("blood boil", ACTION_NORMAL + 3), nullptr)));
|
||||
triggers.push_back(new TriggerNode("light aoe", NextAction::array(0, new NextAction("howling blast", ACTION_NORMAL + 5), new NextAction("pestilence", ACTION_NORMAL + 4),
|
||||
new NextAction("hearth strike", ACTION_NORMAL + 3), new NextAction("blood boil", ACTION_NORMAL + 3), nullptr)));
|
||||
triggers.push_back(new TriggerNode("pestilence", NextAction::array(0, new NextAction("pestilence", ACTION_HIGH + 9), NULL)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user