ported SoldierMovement.cs