Core/Spells: Fix assert triggered

Fix assert triggered when a spell would trigger another spell in OnEffectHitTarget that would kill the target, then processing the main spell effects. The triggered spell can kill the target, changing its death state to CORPSE and removing auras created.
Fix #22306
This commit is contained in:
jackpoz authored and Ovahlord committed 2022-09-12 09:15:22 +02:00
1 parent e395af341a
commit 1180c43bac
1 file changed
+3 -2
+3 -2
View File
@@ -3140,8 +3140,9 @@ AuraApplication* Unit::_CreateAuraApplication(Aura* aura, uint8 effMask)
{
// can't apply aura on unit which is going to be deleted - to not create a memory leak
ASSERT(!m_cleanupDone);
// aura musn't be removed
ASSERT(!aura->IsRemoved());
// aura musn't be removed (but it could have been removed by OnEffectHitTarget script handler
// casting a spell that killed the target and set deathState to CORPSE)
ASSERT(!aura->IsRemoved() || !IsAlive());
// aura mustn't be already applied on target
ASSERT (!aura->IsAppliedOnTarget(GetGUID()) && "Unit::_CreateAuraApplication: aura musn't be applied on target");