diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-01-19 18:16:02 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-01-19 18:17:30 +0100 |
commit | 8568b08350b954afb6603bf2c64897493230f2b1 (patch) | |
tree | 777d02e006881c4fff30ebe4fc31a56f885acd48 /src | |
parent | a1b2b86427ce6be2205db0643ad00f546fc076e4 (diff) |
Core/Auras: Fully remove auras that had all of their effect suppressed with immunity
(cherry picked from commit 835e2918319ed20109992086311a2c146140937f)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e589e7c3365..edceb7440ab 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4040,7 +4040,13 @@ void Unit::RemoveAurasWithMechanic(uint64 mechanicMaskToRemove, AuraRemoveMode r }, removeMode); for (Aura* aura : aurasToUpdateTargets) + { aura->UpdateTargetMap(aura->GetCaster()); + + // Fully remove the aura if all effects were removed + if (!aura->IsPassive() && aura->GetOwner() == this && !aura->GetApplicationOfTarget(GetGUID())) + aura->Remove(removeMode); + } } void Unit::RemoveAurasByShapeShift() |