aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-03-18 15:36:37 -0300
committerShauren <shauren.trinity@gmail.com>2021-09-19 22:19:22 +0200
commitc8d7289245c0d60f25f355452574c1258baa7380 (patch)
treede8c159f4de5859e9c60c0e07903ae95994b012a /src/server/game/Spells/Spell.cpp
parent3b4d8de96cf177cdcf20bc468d54e8c4d9683dd0 (diff)
Core/Spells: fix delayed hit aura crash
Closes #21664 (cherry picked from commit 437c5c7b9d2122f7b1f46fd4e0f502c8be1e3091)
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index c6a22ef199c..8e31536655f 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2646,9 +2646,9 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell)
else if (spell->m_caster->GetTypeId() == TYPEID_GAMEOBJECT && spell->m_caster->ToGameObject()->AI())
spell->m_caster->ToGameObject()->AI()->SpellHitTarget(_spellHitTarget, spell->m_spellInfo);
- if (spell->_spellAura)
+ if (HitAura)
{
- if (AuraApplication* aurApp = spell->_spellAura->GetApplicationOfTarget(_spellHitTarget->GetGUID()))
+ if (AuraApplication* aurApp = HitAura->GetApplicationOfTarget(_spellHitTarget->GetGUID()))
{
// only apply unapplied effects (for reapply case)
uint32 effMask = EffectMask & aurApp->GetEffectsToApply();
@@ -2907,7 +2907,10 @@ void Spell::DoSpellEffectHit(Unit* unit, SpellEffectInfo const& spellEffectInfo,
}
}
else
+ {
+ hitInfo.HitAura = _spellAura;
_spellAura->AddStaticApplication(unit, aura_effmask);
+ }
}
}