diff options
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r-- | src/game/SpellAuras.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 94ecf0b198d..c922927a1fe 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2072,6 +2072,14 @@ void Aura::HandleAuraDummy(bool apply, bool Real) } case SPELLFAMILY_MAGE: { + // Living Bomb + if (m_spellProto->SpellFamilyFlags[1] & 0x20000) + { + if(!m_target || !caster || m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT) + return; + caster->CastSpell(m_target, GetModifier()->m_amount, true, NULL, NULL, GetCasterGUID()); + return; + } break; } case SPELLFAMILY_PRIEST: @@ -3689,6 +3697,17 @@ void Aura::HandleModMechanicImmunity(bool apply, bool Real) m_target->RemoveAurasDueToSpell(26592); } } + + // Heroic Fury (remove Intercept cooldown) + if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER ) + { + ((Player*)m_target)->RemoveSpellCooldown(20252); + + WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8)); + data << uint32(20252); + data << uint64(m_target->GetGUID()); + ((Player*)m_target)->GetSession()->SendPacket(&data); + } } void Aura::HandleAuraModEffectImmunity(bool apply, bool Real) |