aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraftedRO <24683355+CraftedRO@users.noreply.github.com>2024-11-15 16:45:53 +0200
committerShauren <shauren.trinity@gmail.com>2025-01-13 15:46:06 +0100
commitd8636d4cc603262da8454231d64bd09b604b25f7 (patch)
tree5d0842ae42c092ae48d3429373a4856801f30a8f
parentbd8b4398665f007c3439a1889835dc0b46479d1b (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> (cherry picked from commit b6bb35bb9af9ae75463edd52bfbe5af0f46cd900)
-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 4f9951260eb..276c78a21f3 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1529,7 +1529,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()