diff options
author | Seyden <saiifii@live.de> | 2022-12-30 12:52:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-30 12:52:22 +0100 |
commit | c5bd2ceda4834fdf88351016b66f1e23b7888de3 (patch) | |
tree | 6c325ed7186413b91f7901d769e101d538d63634 | |
parent | 6c82d7a421f66431a8bdb8a9976bdaa38bd9d73d (diff) |
Core/Auras: Fixed iterator invalidation crash in Unit::CalcHealAbsorb (#28515)
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f3e30d49f00..3c249b44a39 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2002,14 +2002,14 @@ void Unit::HandleEmoteCommand(Emote emoteId, Player* target /*=nullptr*/, Trinit tempAbsorb = currentAbsorb; absorbAurEff->GetBase()->CallScriptEffectAfterAbsorbHandlers(absorbAurEff, aurApp, healInfo, 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 absorbAurEff->ChangeAmount(absorbAurEff->GetAmount() - currentAbsorb); // Aura cannot absorb anything more - remove it if (absorbAurEff->GetAmount() <= 0) - absorbAurEff->GetBase()->Remove(AURA_REMOVE_BY_ENEMY_SPELL); + existExpired = true; } } |