diff options
| author | QAston <none@none> | 2009-06-30 13:51:53 +0200 |
|---|---|---|
| committer | QAston <none@none> | 2009-06-30 13:51:53 +0200 |
| commit | 24efcabdd98f2dde7702de2f293813c085ac4dca (patch) | |
| tree | 75d7b57e95e4fc86ae65a519f2ae119a6fb9b7af /src/game/SpellAuras.cpp | |
| parent | 788a699ae8556b45d1c570253290968224b054fb (diff) | |
Remove cooldown of spells triggered on stance change - this fixes shadowform dot crit.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
| -rw-r--r-- | src/game/SpellAuras.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
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); |
