From ae33646702355099a1007aba27600df59d819568 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 5 Jan 2023 17:30:05 -0500 Subject: [PATCH] Core/Auras: Fixed iterator invalidation crash in Unit::CalcHealAbsorb Port From (https://github.com/TrinityCore/TrinityCore/commit/c5bd2ceda4834fdf88351016b66f1e23b7888de3) --- Source/Game/Entities/Unit/Unit.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index 9cb5fe1ff..1528e5028 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -3423,7 +3423,7 @@ namespace Game.Entities tempAbsorb = (uint)currentAbsorb; absorbAurEff.GetBase().CallScriptEffectAfterAbsorbHandlers(absorbAurEff, aurApp, damageInfo, ref tempAbsorb); - // Check if our aura is using amount to count damage + // Check if our aura is using amount to count heal if (absorbAurEff.GetAmount() >= 0) { // Reduce shield amount @@ -3641,7 +3641,7 @@ namespace Game.Entities absorbAurEff.ChangeAmount(absorbAurEff.GetAmount() - currentAbsorb); // Aura cannot absorb anything more - remove it if (absorbAurEff.GetAmount() <= 0) - absorbAurEff.GetBase().Remove(AuraRemoveMode.EnemySpell); + existExpired = true; } }