diff --git a/code/modules/keybindings/bindings_atom.dm b/code/modules/keybindings/bindings_atom.dm index f9f95ebeca1..8c500730e2e 100644 --- a/code/modules/keybindings/bindings_atom.dm +++ b/code/modules/keybindings/bindings_atom.dm @@ -7,8 +7,13 @@ movement_dir = movement_dir | user.movement_keys[_key] if(user.next_move_dir_add) movement_dir |= user.next_move_dir_add + user.next_move_dir_add = 0 if(user.next_move_dir_sub) movement_dir &= ~user.next_move_dir_sub + user.next_move_dir_sub = 0 + if(!movement_dir) + return + // Sanity checks in case you hold left and right and up to make sure you only go up if((movement_dir & NORTH) && (movement_dir & SOUTH)) movement_dir &= ~(NORTH|SOUTH) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 3a10d5fcae1..44cbb93aed3 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -69,9 +69,6 @@ /client/Move(new_loc, direct) if(world.time < move_delay) //do not move anything ahead of this check please return FALSE - else - next_move_dir_add = 0 - next_move_dir_sub = 0 var/old_move_delay = move_delay move_delay = world.time + world.tick_lag //this is here because Move() can now be called mutiple times per tick if(!mob || !mob.loc)