diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-02-17 17:44:03 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2018-02-17 17:46:38 -0300 |
commit | a6673f6aa7a1c2ca4b3f2ac22cbff5f4191ec664 (patch) | |
tree | 6681e36be849de0d4377177170426ef76fd90195 /src | |
parent | b71b3c66724e18fe8a19e01cae2582678a459dc1 (diff) |
Core/Scripts: implement Drain Mana breaking some auras on hit
Updates #20234
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 19 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 29 |
2 files changed, 19 insertions, 29 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index fbc95735cdd..943642b7d85 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -858,6 +858,24 @@ class spell_gen_choking_vines : public AuraScript } }; +// 5138 - Drain Mana +// 8129 - Mana Burn +class spell_gen_clear_fear_poly : public SpellScript +{ + PrepareSpellScript(spell_gen_clear_fear_poly); + + void HandleAfterHit() + { + if (Unit* unitTarget = GetHitUnit()) + unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH)); + } + + void Register() override + { + AfterHit += SpellHitFn(spell_gen_clear_fear_poly::HandleAfterHit); + } +}; + class spell_gen_clone : public SpellScript { PrepareSpellScript(spell_gen_clone); @@ -3942,6 +3960,7 @@ void AddSC_generic_spell_scripts() RegisterAuraScript(spell_gen_chains_of_ice); RegisterSpellScript(spell_gen_chaos_blast); RegisterAuraScript(spell_gen_choking_vines); + RegisterSpellScript(spell_gen_clear_fear_poly); RegisterSpellScript(spell_gen_clone); RegisterSpellScript(spell_gen_clone_weapon); RegisterAuraScript(spell_gen_clone_weapon_aura); diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 776cf7f3671..6d8812ecf43 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -738,34 +738,6 @@ class spell_pri_lightwell_renew : public SpellScriptLoader } }; -// 8129 - Mana Burn -class spell_pri_mana_burn : public SpellScriptLoader -{ - public: - spell_pri_mana_burn() : SpellScriptLoader("spell_pri_mana_burn") { } - - class spell_pri_mana_burn_SpellScript : public SpellScript - { - PrepareSpellScript(spell_pri_mana_burn_SpellScript); - - void HandleAfterHit() - { - if (Unit* unitTarget = GetHitUnit()) - unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH)); - } - - void Register() override - { - AfterHit += SpellHitFn(spell_pri_mana_burn_SpellScript::HandleAfterHit); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_pri_mana_burn_SpellScript; - } -}; - // 28305 - Mana Leech (Passive) (Priest Pet Aura) class spell_pri_mana_leech : public SpellScriptLoader { @@ -1465,7 +1437,6 @@ void AddSC_priest_spell_scripts() new spell_pri_improved_spirit_tap(); new spell_pri_item_t6_trinket(); new spell_pri_lightwell_renew(); - new spell_pri_mana_burn(); new spell_pri_mana_leech(); new spell_pri_mind_sear(); new spell_pri_pain_and_suffering_dummy(); |