From 8e7a12a87aa6502b7bf9adc42478283859f9268a Mon Sep 17 00:00:00 2001 From: ariel- Date: Thu, 22 Feb 2018 01:35:01 -0300 Subject: Core/Auras: restrict target map update only to area auras as player requires to have auras registered on load Closes #21472 (cherry picked from commit 7cff1b540c96d9e2cf82b244cc0d1618bf5b090f) --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 1 - src/server/game/Spells/Auras/SpellAuras.cpp | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 9d3cb0433a9..eccc74b44f1 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1576,7 +1576,6 @@ void AuraEffect::HandleAuraGhost(AuraApplication const* aurApp, uint8 mode, bool return; Player* target = aurApp->GetTarget()->ToPlayer(); - if (!target) return; diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index daa08f1b95f..66e50d60356 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -2283,6 +2283,10 @@ void UnitAura::FillTargetMap(std::unordered_map& targets, Unit* c } else { + // skip area update if owner is not in world! + if (!GetUnitOwner()->IsInWorld()) + continue; + float radius = effect->CalcRadius(caster); if (!GetUnitOwner()->HasUnitState(UNIT_STATE_ISOLATED)) -- cgit v1.2.3