diff options
| author | silinoron <none@none> | 2010-09-18 19:26:34 -0700 |
|---|---|---|
| committer | silinoron <none@none> | 2010-09-18 19:26:34 -0700 |
| commit | 383af00e2b95fc343512421f62bcceb9f5b1ff6b (patch) | |
| tree | 8e4f31a35e253bc5db89ef74e762040e71d573e9 /src | |
| parent | 48b29e601964d0f70616f0c38254da473100ec6b (diff) | |
Core/Spells: Allow a priest's Mana Burn to break fear.
Patch by dr.tenma.
Fixes issue #3985
--HG--
branch : trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index f923274f1ef..41f0a893c1c 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -31,6 +31,39 @@ enum PriestSpells PRIEST_SPELL_PENANCE_R1_HEAL = 47757, }; +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 + { + bool Validate(SpellEntry const * spellEntry) + { + return true; + } + + void HandleAfterHit() + { + Unit * unitTarget = GetHitUnit(); + if (!unitTarget) + return; + + unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH)); + } + + void Register() + { + AfterHit += SpellHitFn(spell_pri_mana_burn_SpellScript::HandleAfterHit); + } + }; + + SpellScript * GetSpellScript() const + { + return new spell_pri_mana_burn_SpellScript; + } +}; + class spell_pri_pain_and_suffering_proc : public SpellScriptLoader { public: @@ -114,6 +147,7 @@ class spell_pri_penance : public SpellScriptLoader void AddSC_priest_spell_scripts() { + new spell_pri_mana_burn; new spell_pri_pain_and_suffering_proc; new spell_pri_penance; } |
