aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkrz <none@none>2009-06-07 03:02:04 +0200
committerkrz <none@none>2009-06-07 03:02:04 +0200
commita30466075d528bea18f968e67af8611cd86c6827 (patch)
tree51f160318dd7c247509b04b7af792aa0e37a4dc0 /src
parent2e4fae75a4f4f24dc2c97b8bde4870974c073aa9 (diff)
Fix some broken channeled spells.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp5
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())
{