diff options
-rw-r--r-- | src/game/SpellAuras.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index dc8616e2fa7..5fa6e5843fc 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -543,9 +543,8 @@ void Aura::Update(uint32 diff) } // Channeled aura required check distance from caster except in possessed cases - Unit *pRealTarget = (GetSpellProto()->EffectApplyAuraName[GetEffIndex()] == SPELL_AURA_PERIODIC_TRIGGER_SPELL) ? GetTriggerTarget() : m_target; - if(!pRealTarget) - return; + Unit *pRealTarget = (GetSpellProto()->EffectApplyAuraName[m_effIndex] == SPELL_AURA_PERIODIC_TRIGGER_SPELL && !IsAreaOfEffectSpell(sSpellStore.LookupEntry(GetSpellProto()->EffectTriggerSpell[m_effIndex])) && GetTriggerTarget()) ? GetTriggerTarget() : m_target; + if(IsChanneledSpell(m_spellProto) && !pRealTarget->isPossessed() && pRealTarget->GetGUID() != GetCasterGUID()) { |