diff options
author | Nevan <none@none> | 2009-08-02 04:29:40 +0200 |
---|---|---|
committer | Nevan <none@none> | 2009-08-02 04:29:40 +0200 |
commit | 249b2e43819e7e87c78657cf00227a7a9fe12c49 (patch) | |
tree | ab62e2a9f56ac07721c19e5bc3b70c105597a7a1 /src | |
parent | c68a496a19ec178ed102445afeae39ddaea3a97b (diff) |
*Fix Aura Mastery "Immunity"
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 7011d0e2e62..b3b66712e94 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -944,6 +944,30 @@ void Aura::ApplyAllModifiers(bool apply, bool Real) void Aura::HandleAuraSpecificMods(bool apply) { + // Aura Mastery Triggered Spell Handler + // If apply Concentration Aura -> trigger -> apply Aura Mastery Immunity + // If remove Concentration Aura -> trigger -> remove Aura Mastery Immunity + // If remove Aura Mastery -> trigger -> remove Aura Mastery Immunity + if (m_spellProto->Id == 19746 || m_spellProto->Id == 31821) + { + if (GetCasterGUID() != m_target->GetGUID()) + return; + + if (apply) + { + if ((m_spellProto->Id == 31821 && m_target->HasAura(19746, GetCasterGUID())) || (m_spellProto->Id == 19746 && m_target->HasAura(31821))) + { + m_target->CastSpell(m_target,64364,true); + return; + } + } + else + { + m_target->RemoveAurasDueToSpell(64364, GetCasterGUID()); + return; + } + } + if (GetSpellSpecific(m_spellProto->Id) == SPELL_PRESENCE) { AuraEffect *bloodPresenceAura=0; // healing by damage done |