diff --git a/Source/Game/Entities/Unit/Unit.Movement.cs b/Source/Game/Entities/Unit/Unit.Movement.cs index 7e2734a51..66378f3d6 100644 --- a/Source/Game/Entities/Unit/Unit.Movement.cs +++ b/Source/Game/Entities/Unit/Unit.Movement.cs @@ -734,6 +734,16 @@ namespace Game.Entities SetAnimTier(AnimTier.Ground); } + if (IsAlive()) + { + if (IsGravityDisabled() || IsHovering()) + SetPlayHoverAnim(true); + else + SetPlayHoverAnim(false); + } + else if (IsPlayer()) // To update player who dies while flying/hovering + SetPlayHoverAnim(false, false); + return true; } @@ -1112,6 +1122,16 @@ namespace Game.Entities SetAnimTier(AnimTier.Ground); } + if (IsAlive()) + { + if (IsGravityDisabled() || IsHovering()) + SetPlayHoverAnim(true); + else + SetPlayHoverAnim(false); + } + else if (IsPlayer()) // To update player who dies while flying/hovering + SetPlayHoverAnim(false, false); + return true; } @@ -1661,10 +1681,16 @@ namespace Game.Entities public bool IsPlayingHoverAnim() { return _playHoverAnim; } - void SetPlayHoverAnim(bool enable) + void SetPlayHoverAnim(bool enable, bool sendUpdate = true) { + if (IsPlayingHoverAnim() == enable) + return; + _playHoverAnim = enable; + if (!sendUpdate) + return; + SetPlayHoverAnim data = new(); data.UnitGUID = GetGUID(); data.PlayHoverAnim = enable;