Replaces throttle with cooldown define and also adds it to mousedrag

This commit is contained in:
deathride58
2024-10-23 19:51:18 -04:00
parent 6de44caeed
commit 51a264c9a7
2 changed files with 8 additions and 4 deletions
+5 -2
View File
@@ -94,9 +94,9 @@
//Please don't roast me too hard
//Oh don't worry, We Will.
/client/MouseMove(object, location, control, params)
if(next_mousemove > world.time)
if(!COOLDOWN_FINISHED(src, next_mousemove))
return
next_mousemove = world.time + world.tick_lag
COOLDOWN_START(src, next_mousemove, 0) //COOLDOWN_FINISHED() sees the world tick and cooldown timer being equal as a state wherein the cooldown has not finished. So the cooldown timer here is 0 to throttle only for the rest of the tick.
mouseParams = params
mouse_location_ref = WEAKREF(location)
mouse_object_ref = WEAKREF(object)
@@ -110,6 +110,9 @@
..()
/client/MouseDrag(src_object,atom/over_object,src_location,over_location,src_control,over_control,params)
if(!COOLDOWN_FINISHED(src, next_mousedrag))
return
COOLDOWN_START(src, next_mousedrag, 0) //See comment in MouseMove() for why this is 0.
mouseParams = params
mouse_location_ref = WEAKREF(over_location)
mouse_object_ref = WEAKREF(over_object)
+3 -2
View File
@@ -190,5 +190,6 @@
/// AFK tracking
var/last_activity = 0
/// The next point in time at which the client is allowed to send a mousemove()
var/next_mousemove = 0
/// The next point in time at which the client is allowed to send a mousemove() or mousedrag()
COOLDOWN_DECLARE(next_mousemove)
COOLDOWN_DECLARE(next_mousedrag)