diff options
| author | krz <none@none> | 2009-06-07 19:06:51 +0200 |
|---|---|---|
| committer | krz <none@none> | 2009-06-07 19:06:51 +0200 |
| commit | 5e87f3144cca2cae1add4acd18affcfbb2d981e5 (patch) | |
| tree | eeefb614ae43804946bf86cdbfb997fba35215e4 /src/game/SpellAuras.cpp | |
| parent | 18f50212b05fbc5fa67c5dc924824b8dea9150f4 (diff) | |
Fix crash in Aura::Update.
Check if target has Invisibility or Stealth aura before checking IsVisibleForOrDetect to allow cast spells on invisible triggers and fix pet linked spells.
Send correct message to client if target is not visible for caster.
Sorry for my previous buging commits.
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
| -rw-r--r-- | src/game/SpellAuras.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 5fa6e5843fc..937833eab7d 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -543,7 +543,10 @@ void Aura::Update(uint32 diff) } // Channeled aura required check distance from caster except in possessed cases - Unit *pRealTarget = (GetSpellProto()->EffectApplyAuraName[m_effIndex] == SPELL_AURA_PERIODIC_TRIGGER_SPELL && !IsAreaOfEffectSpell(sSpellStore.LookupEntry(GetSpellProto()->EffectTriggerSpell[m_effIndex])) && GetTriggerTarget()) ? GetTriggerTarget() : m_target; + Unit *pRealTarget = (GetSpellProto()->EffectApplyAuraName[m_effIndex] == SPELL_AURA_PERIODIC_TRIGGER_SPELL && + sSpellStore.LookupEntry(GetSpellProto()->EffectTriggerSpell[m_effIndex]) && + !IsAreaOfEffectSpell(sSpellStore.LookupEntry(GetSpellProto()->EffectTriggerSpell[m_effIndex])) && + GetTriggerTarget()) ? GetTriggerTarget() : m_target; if(IsChanneledSpell(m_spellProto) && !pRealTarget->isPossessed() && pRealTarget->GetGUID() != GetCasterGUID()) |
