diff --git a/code/datums/drift_handler.dm b/code/datums/drift_handler.dm index 27a4fd4bc91..7000483f9ab 100644 --- a/code/datums/drift_handler.dm +++ b/code/datums/drift_handler.dm @@ -213,6 +213,10 @@ if (drift_force < INERTIA_FORCE_SPACEMOVE_GRAB || isnull(drifting_loop)) return + if (!isnull(source.client) && source.client.intended_direction) + if ((source.client.intended_direction & movement_dir) && !(get_dir(source, backup) & movement_dir)) + return + if (drift_force <= INERTIA_FORCE_SPACEMOVE_REDUCTION / source.inertia_force_weight) glide_to_halt(get_loop_delay(source)) return COMPONENT_PREVENT_SPACEMOVE_HALT