aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCraftedRO <24683355+CraftedRO@users.noreply.github.com>2024-11-15 16:45:53 +0200
committerGitHub <noreply@github.com>2024-11-15 15:45:53 +0100
commitb6bb35bb9af9ae75463edd52bfbe5af0f46cd900 (patch)
treebf8c3e27e359bf69513a599b3234b1383542a31a /src
parent3c9bf7beb8d8d6f1ec135a920017015e14143d08 (diff)
Core/Spells: Allow persistent area auras to apply all of their effects upon creation. (#30422)
This fixes the issue where the area auras do not instantly apply their effects. Actually, they were only applying the last SPELL_EFFECT_PERSISTENT_AREA_AURA; Flare and Frost Trap have 2 and 3 SPELL_EFFECT_PERSISTENT_AREA_AURA effects respectively, so only the last one would be applied. Co-Authored-By: zana244 <50482785+zana244@users.noreply.github.com>
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 0071823ed6e..c0b852872e3 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1600,7 +1600,9 @@ void Spell::EffectPersistentAA()
return;
ASSERT(_dynObjAura->GetDynobjOwner());
- _dynObjAura->_ApplyEffectForTargets(effectInfo->EffectIndex);
+ for (size_t i = 0; i < m_spellInfo->GetEffects().size(); ++i)
+ if (m_spellInfo->GetEffect(SpellEffIndex(i)).IsEffect(SPELL_EFFECT_PERSISTENT_AREA_AURA))
+ _dynObjAura->_ApplyEffectForTargets(i);
}
void Spell::EffectEnergize()