diff options
| -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 7e30092b6e6..a272a405c2a 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4095,7 +4095,13 @@ void Unit::RemoveAurasWithMechanic(uint32 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() |
