From 2feb26d8288edd93d7e3ca67918ad9c3c3b0023e Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Fri, 17 Dec 2021 02:41:01 +0100 Subject: [PATCH] fix(Core/Units): Modify health dependent aura states on update rather than immediately on death. (#9641) --- src/server/game/Entities/Unit/Unit.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f8ab59522..6c2963cf7 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -479,12 +479,9 @@ void Unit::Update(uint32 p_time) // update abilities available only for fraction of time UpdateReactives(p_time); - if (IsAlive()) - { - ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, HealthBelowPct(20)); - ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, HealthBelowPct(35)); - ModifyAuraState(AURA_STATE_HEALTH_ABOVE_75_PERCENT, HealthAbovePct(75)); - } + ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, IsAlive() ? HealthBelowPct(20) : false); + ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, IsAlive() ? HealthBelowPct(35) : false); + ModifyAuraState(AURA_STATE_HEALTH_ABOVE_75_PERCENT, IsAlive() ? HealthBelowPct(75) : false); UpdateSplineMovement(p_time); GetMotionMaster()->UpdateMotion(p_time); @@ -13807,10 +13804,6 @@ void Unit::setDeathState(DeathState s, bool despawn) if (s == JUST_DIED) { - ModifyAuraState(AURA_STATE_HEALTHLESS_20_PERCENT, false); - ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false); - ModifyAuraState(AURA_STATE_HEALTH_ABOVE_75_PERCENT, false); - // remove aurastates allowing special moves ClearAllReactives(); ClearDiminishings();