diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-02-22 01:35:01 -0300 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2021-08-08 21:21:34 +0200 |
commit | 8e7a12a87aa6502b7bf9adc42478283859f9268a (patch) | |
tree | ef69d45f1804a3fc61a942dd6b077c9c2a1ccac4 /src | |
parent | b1a76fc7569ab7338730d680e7b0c703fa6b1003 (diff) |
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)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 4 |
2 files changed, 4 insertions, 1 deletions
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<Unit*, uint32>& 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)) |