diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 2b6bf72476e..9383d0e78ad 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -168,6 +168,22 @@ continue var/atom/movable/thing = i thing.Crossed(src) + + if(!loc || !newloc) return 0 + + if(!loc || (loc == oldloc && oldloc != newloc)) + last_move = 0 + return + + if(.) + Moved(oldloc, direct) + + last_move = direct + src.move_speed = world.time - src.l_move_time + src.l_move_time = world.time + + if(. && buckled_mob && !handle_buckled_mob_movement(loc, direct)) //movement failed due to buckled mob + . = 0 // Called after a successful Move(). By this point, we've already moved /atom/movable/proc/Moved(atom/OldLoc, Dir) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 809cd936df1..d8634e4ba98 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -402,7 +402,7 @@ to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") if(SSinput.initialized) - spawn(30) // without this input won't work on first connect + spawn(50) // without this input won't work on first connect set_macros() //This is down here because of the browse() calls in tooltip/New() diff --git a/code/modules/keybindings/bindings_atom.dm b/code/modules/keybindings/bindings_atom.dm index 50d36cfd220..6b1e0afe199 100644 --- a/code/modules/keybindings/bindings_atom.dm +++ b/code/modules/keybindings/bindings_atom.dm @@ -5,7 +5,8 @@ if(!user.keys_held["Ctrl"]) var/movement_dir = NONE var/list/movement = SSinput.movement_keys - if (user.prefs.toggles & AZERTY) movement = SSinput.alt_movement_keys + if(user.prefs.toggles & AZERTY) + movement = SSinput.alt_movement_keys for(var/_key in user.keys_held) movement_dir = movement_dir | movement[_key] if(user.next_move_dir_add) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index ecdac28133c..4bbc079269c 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -179,6 +179,9 @@ if(!mob || !mob.loc) return 0 + if(!n || !direct) // why did we never check this before? + return FALSE + if(mob.notransform) return 0 //This is sota the goto stop mobs from moving var