diff --git a/OpenRA.Mods.Common/Traits/Mobile.cs b/OpenRA.Mods.Common/Traits/Mobile.cs index 6a3fe57b28..4aabf79a76 100644 --- a/OpenRA.Mods.Common/Traits/Mobile.cs +++ b/OpenRA.Mods.Common/Traits/Mobile.cs @@ -224,9 +224,12 @@ namespace OpenRA.Mods.Common.Traits void ITick.Tick(Actor self) { var newMovementTypes = MovementType.None; - if (oldPos != CenterPosition) + if ((oldPos - CenterPosition).HorizontalLengthSquared != 0) newMovementTypes |= MovementType.Horizontal; + if (oldPos.Z != CenterPosition.Z) + newMovementTypes |= MovementType.Vertical; + if (oldFacing != Facing) newMovementTypes |= MovementType.Turn;