diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 18adf1551..15a13c7da 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2377,6 +2377,19 @@ void Aura::HandleAuraDummy(bool apply, bool Real) ((Player*)m_target)->AddSpellMod(m_spellmod, apply); return; } + case 52610: // Savage Roar + { + if(apply) + { + if(m_target->m_form != FORM_CAT) + return; + + m_target->CastSpell(m_target, 62071, true); + } + else + m_target-> RemoveAurasDueToSpell(62071); + return; + } case 61336: // Survival Instincts { if(apply) @@ -5356,7 +5369,9 @@ void Aura::HandleShapeshiftBoosts(bool apply) uint32 HotWSpellId = 0; uint32 MasterShaperSpellId = 0; - switch(GetModifier()->m_miscvalue) + uint32 form = GetModifier()->m_miscvalue; + + switch(form) { case FORM_CAT: spellId = 3025; @@ -5428,8 +5443,6 @@ void Aura::HandleShapeshiftBoosts(bool apply) break; } - uint32 form = GetModifier()->m_miscvalue-1; - if(apply) { if (spellId) m_target->CastSpell(m_target, spellId, true, NULL, this ); @@ -5445,7 +5458,7 @@ void Aura::HandleShapeshiftBoosts(bool apply) SpellEntry const *spellInfo = sSpellStore.LookupEntry(itr->first); if (!spellInfo || !(spellInfo->Attributes & (SPELL_ATTR_PASSIVE | (1<<7)))) continue; - if (spellInfo->Stances & (1<