From 7cff1b540c96d9e2cf82b244cc0d1618bf5b090f 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 --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 1 - src/server/game/Spells/Auras/SpellAuras.cpp | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 8749e5f9313..ce27bc14579 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1530,7 +1530,6 @@ void AuraEffect::HandleAuraGhost(AuraApplication const* aurApp, uint8 mode, bool return; Unit* target = aurApp->GetTarget(); - if (target->GetTypeId() != TYPEID_PLAYER) return; diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 8448ca5c455..f3b31407efb 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -555,10 +555,6 @@ void Aura::UpdateTargetMap(Unit* caster, bool apply) m_updateTargetMapInterval = UPDATE_TARGET_MAP_INTERVAL; - // skip update if owner is not in world! - if (!GetOwner()->IsInWorld()) - return; - // fill up to date target list // target, effMask std::unordered_map targets; @@ -2525,6 +2521,10 @@ void UnitAura::FillTargetMap(std::unordered_map& targets, Unit* ca } else { + // skip area update if owner is not in world! + if (!GetUnitOwner()->IsInWorld()) + continue; + float radius = GetSpellInfo()->Effects[effIndex].CalcRadius(caster); if (!GetUnitOwner()->HasUnitState(UNIT_STATE_ISOLATED)) -- cgit v1.2.3