Fix movement delay not applying to relaymove (#21408)

See title.

Prevents getting spammed by It won't budge! (and probably lagging the
server, too)
This commit is contained in:
Wildkins
2025-09-28 08:10:20 -04:00
committed by GitHub
parent 290032afc7
commit cd82e7eccf
2 changed files with 16 additions and 4 deletions
+3 -4
View File
@@ -157,10 +157,11 @@
* This is called when a client tries to move, usually it dispatches the moving request to the mob it's controlling
*/
/client/Move(new_loc, direct)
if(world.time < move_delay) //do not move anything ahead of this check please
if(moving || world.time < move_delay) //do not move anything ahead of this check please
return FALSE
var/old_move_delay = move_delay
move_delay = world.time + world.tick_lag
if(!direct || !new_loc)
return FALSE
@@ -174,9 +175,6 @@
Process_Incorpmove(direct, mob)
return
if(moving || world.time < move_delay)
return 0
if(mob.stat == DEAD && isliving(mob))
mob.ghostize()
return
@@ -233,6 +231,7 @@
if(isobj(mob.loc) || ismob(mob.loc)) //Inside an object, tell it we are moving out
var/atom/O = mob.loc
move_delay += (mob.movement_delay() + GLOB.config.walk_speed) * GLOB.config.walk_delay_multiplier
return O.relaymove(mob, direct)
if(isturf(mob.loc))