mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
[Class spell] Shaman elemental mastery
This commit is contained in:
@@ -52,6 +52,7 @@ void CasterShamanStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
|||||||
triggers.push_back(new TriggerNode("shaman weapon", NextAction::array(0, new NextAction("flametongue weapon", 23.0f), nullptr)));
|
triggers.push_back(new TriggerNode("shaman weapon", NextAction::array(0, new NextAction("flametongue weapon", 23.0f), nullptr)));
|
||||||
// triggers.push_back(new TriggerNode("searing totem", NextAction::array(0, new NextAction("searing totem", 19.0f), nullptr)));
|
// triggers.push_back(new TriggerNode("searing totem", NextAction::array(0, new NextAction("searing totem", 19.0f), nullptr)));
|
||||||
triggers.push_back(new TriggerNode("flame shock", NextAction::array(0, new NextAction("flame shock", 20.0f), nullptr)));
|
triggers.push_back(new TriggerNode("flame shock", NextAction::array(0, new NextAction("flame shock", 20.0f), nullptr)));
|
||||||
|
triggers.push_back(new TriggerNode("elemental mastery", NextAction::array(0, new NextAction("elemental mastery", 27.0f), nullptr)));
|
||||||
// triggers.push_back(new TriggerNode("frost shock snare", NextAction::array(0, new NextAction("frost shock", 21.0f), nullptr)));
|
// triggers.push_back(new TriggerNode("frost shock snare", NextAction::array(0, new NextAction("frost shock", 21.0f), nullptr)));
|
||||||
triggers.push_back(new TriggerNode(
|
triggers.push_back(new TriggerNode(
|
||||||
"no fire totem",
|
"no fire totem",
|
||||||
|
|||||||
@@ -350,6 +350,12 @@ class CastBloodlustAction : public CastBuffSpellAction
|
|||||||
CastBloodlustAction(PlayerbotAI* botAI) : CastBuffSpellAction(botAI, "bloodlust") { }
|
CastBloodlustAction(PlayerbotAI* botAI) : CastBuffSpellAction(botAI, "bloodlust") { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CastElementalMasteryAction : public CastBuffSpellAction
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CastElementalMasteryAction(PlayerbotAI* botAI) : CastBuffSpellAction(botAI, "elemental mastery") { }
|
||||||
|
};
|
||||||
|
|
||||||
class CastWindShearOnEnemyHealerAction : public CastSpellOnEnemyHealerAction
|
class CastWindShearOnEnemyHealerAction : public CastSpellOnEnemyHealerAction
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ class ShamanATriggerFactoryInternal : public NamedObjectContext<Trigger>
|
|||||||
creators["frost shock snare"] = &ShamanATriggerFactoryInternal::frost_shock_snare;
|
creators["frost shock snare"] = &ShamanATriggerFactoryInternal::frost_shock_snare;
|
||||||
creators["heroism"] = &ShamanATriggerFactoryInternal::heroism;
|
creators["heroism"] = &ShamanATriggerFactoryInternal::heroism;
|
||||||
creators["bloodlust"] = &ShamanATriggerFactoryInternal::bloodlust;
|
creators["bloodlust"] = &ShamanATriggerFactoryInternal::bloodlust;
|
||||||
|
creators["elemental mastery"] = &ShamanATriggerFactoryInternal::elemental_mastery;
|
||||||
creators["wind shear on enemy healer"] = &ShamanATriggerFactoryInternal::wind_shear_on_enemy_healer;
|
creators["wind shear on enemy healer"] = &ShamanATriggerFactoryInternal::wind_shear_on_enemy_healer;
|
||||||
creators["cure poison"] = &ShamanATriggerFactoryInternal::cure_poison;
|
creators["cure poison"] = &ShamanATriggerFactoryInternal::cure_poison;
|
||||||
creators["party member cure poison"] = &ShamanATriggerFactoryInternal::party_member_cure_poison;
|
creators["party member cure poison"] = &ShamanATriggerFactoryInternal::party_member_cure_poison;
|
||||||
@@ -114,6 +115,7 @@ class ShamanATriggerFactoryInternal : public NamedObjectContext<Trigger>
|
|||||||
static Trigger* maelstrom_weapon(PlayerbotAI* botAI) { return new MaelstromWeaponTrigger(botAI); }
|
static Trigger* maelstrom_weapon(PlayerbotAI* botAI) { return new MaelstromWeaponTrigger(botAI); }
|
||||||
static Trigger* heroism(PlayerbotAI* botAI) { return new HeroismTrigger(botAI); }
|
static Trigger* heroism(PlayerbotAI* botAI) { return new HeroismTrigger(botAI); }
|
||||||
static Trigger* bloodlust(PlayerbotAI* botAI) { return new BloodlustTrigger(botAI); }
|
static Trigger* bloodlust(PlayerbotAI* botAI) { return new BloodlustTrigger(botAI); }
|
||||||
|
static Trigger* elemental_mastery(PlayerbotAI* botAI) { return new ElementalMasteryTrigger(botAI); }
|
||||||
static Trigger* party_member_cleanse_disease(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritDiseaseTrigger(botAI); }
|
static Trigger* party_member_cleanse_disease(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritDiseaseTrigger(botAI); }
|
||||||
static Trigger* party_member_cleanse_curse(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritCurseTrigger(botAI); }
|
static Trigger* party_member_cleanse_curse(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritCurseTrigger(botAI); }
|
||||||
static Trigger* party_member_cleanse_poison(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritPoisonTrigger(botAI); }
|
static Trigger* party_member_cleanse_poison(PlayerbotAI* botAI) { return new PartyMemberCleanseSpiritPoisonTrigger(botAI); }
|
||||||
@@ -206,6 +208,7 @@ class ShamanAiObjectContextInternal : public NamedObjectContext<Action>
|
|||||||
creators["thunderstorm"] = &ShamanAiObjectContextInternal::thunderstorm;
|
creators["thunderstorm"] = &ShamanAiObjectContextInternal::thunderstorm;
|
||||||
creators["heroism"] = &ShamanAiObjectContextInternal::heroism;
|
creators["heroism"] = &ShamanAiObjectContextInternal::heroism;
|
||||||
creators["bloodlust"] = &ShamanAiObjectContextInternal::bloodlust;
|
creators["bloodlust"] = &ShamanAiObjectContextInternal::bloodlust;
|
||||||
|
creators["elemental mastery"] = &ShamanAiObjectContextInternal::elemental_mastery;
|
||||||
// creators["cure disease"] = &ShamanAiObjectContextInternal::cure_disease;
|
// creators["cure disease"] = &ShamanAiObjectContextInternal::cure_disease;
|
||||||
// creators["cure disease on party"] = &ShamanAiObjectContextInternal::cure_disease_on_party;
|
// creators["cure disease on party"] = &ShamanAiObjectContextInternal::cure_disease_on_party;
|
||||||
// creators["cure poison"] = &ShamanAiObjectContextInternal::cure_poison;
|
// creators["cure poison"] = &ShamanAiObjectContextInternal::cure_poison;
|
||||||
@@ -222,6 +225,7 @@ class ShamanAiObjectContextInternal : public NamedObjectContext<Action>
|
|||||||
private:
|
private:
|
||||||
static Action* heroism(PlayerbotAI* botAI) { return new CastHeroismAction(botAI); }
|
static Action* heroism(PlayerbotAI* botAI) { return new CastHeroismAction(botAI); }
|
||||||
static Action* bloodlust(PlayerbotAI* botAI) { return new CastBloodlustAction(botAI); }
|
static Action* bloodlust(PlayerbotAI* botAI) { return new CastBloodlustAction(botAI); }
|
||||||
|
static Action* elemental_mastery(PlayerbotAI* botAI) { return new CastElementalMasteryAction(botAI); }
|
||||||
static Action* thunderstorm(PlayerbotAI* botAI) { return new CastThunderstormAction(botAI); }
|
static Action* thunderstorm(PlayerbotAI* botAI) { return new CastThunderstormAction(botAI); }
|
||||||
static Action* lightning_bolt(PlayerbotAI* botAI) { return new CastLightningBoltAction(botAI); }
|
static Action* lightning_bolt(PlayerbotAI* botAI) { return new CastLightningBoltAction(botAI); }
|
||||||
static Action* chain_lightning(PlayerbotAI* botAI) { return new CastChainLightningAction(botAI); }
|
static Action* chain_lightning(PlayerbotAI* botAI) { return new CastChainLightningAction(botAI); }
|
||||||
|
|||||||
@@ -201,6 +201,12 @@ class BloodlustTrigger : public BoostTrigger
|
|||||||
BloodlustTrigger(PlayerbotAI* botAI) : BoostTrigger(botAI, "bloodlust") { }
|
BloodlustTrigger(PlayerbotAI* botAI) : BoostTrigger(botAI, "bloodlust") { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ElementalMasteryTrigger : public BoostTrigger
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ElementalMasteryTrigger(PlayerbotAI* botAI) : BoostTrigger(botAI, "elemental mastery") { }
|
||||||
|
};
|
||||||
|
|
||||||
class MaelstromWeaponTrigger : public HasAuraStackTrigger
|
class MaelstromWeaponTrigger : public HasAuraStackTrigger
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user