From 24efcabdd98f2dde7702de2f293813c085ac4dca Mon Sep 17 00:00:00 2001 From: QAston Date: Tue, 30 Jun 2009 13:51:53 +0200 Subject: Remove cooldown of spells triggered on stance change - this fixes shadowform dot crit. --HG-- branch : trunk --- src/game/SpellAuras.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/game/SpellAuras.cpp') diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 4d619f5fa5a..f364f9d9d6b 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1473,7 +1473,13 @@ void AuraEffect::HandleShapeshiftBoosts(bool apply) if(apply) { + // Remove cooldown of spells triggered on stance change - they may share cooldown with stance spell + if(m_target->GetTypeId() == TYPEID_PLAYER) + ((Player *)m_target)->RemoveSpellCooldown(spellId); if (spellId) m_target->CastSpell(m_target, spellId, true, NULL, this ); + + if(m_target->GetTypeId() == TYPEID_PLAYER) + ((Player *)m_target)->RemoveSpellCooldown(spellId2); if (spellId2) m_target->CastSpell(m_target, spellId2, true, NULL, this); if(m_target->GetTypeId() == TYPEID_PLAYER) @@ -7251,11 +7257,13 @@ void AuraEffect::HandleModPossessPet(bool apply, bool Real, bool /*changeAmount* Unit* caster = GetCaster(); if(!caster || caster->GetTypeId() != TYPEID_PLAYER) return; - if(caster->GetGuardianPet() != m_target) - return; if(apply) + { + if(caster->GetGuardianPet() != m_target) + return; m_target->SetCharmedBy(caster, CHARM_TYPE_POSSESS); + } else { m_target->RemoveCharmedBy(caster); -- cgit v1.2.3