Fix client timers having invalid <1ds waits (#69356)
Fix client timers having invalid <1ds waits (#69356)


About The Pull Request

Timers clamped their waits to >world.tick_lag and rounded it to multiples of the same, but this is invalid for clienttime timers. Clienttime timers have a resolution of one decisecond instead, so we now clamp and round it to that instead. (The stacktrace for negative waits is technically invalid but I didn't care enough to touch it.)

Thanks to LemonInTheDark and MrStonedOne for their help in tracking this issue down.
Why It's Good For The Game

These are effectively zero-wait timers, which can mess up the iteration of the clienttime timer queue by being inserted into the past or current tick's list and causing the head/index to desync, potentially leaving spent timers in the queue or firing them again.

Bawhoppen/-tg-station,Bawhoppen/-tg-station,ShizCalev/tgstation,Bawhoppen/-tg-station,MicroWorldwide/SS13-TG-station,MicroWorldwide/SS13-TG-station,ShizCalev/tgstation,tgstation/tgstation,MicroWorldwide/SS13-TG-station,MicroWorldwide/SS13-TG-station,MicroWorldwide/SS13-TG-station,MicroWorldwide/SS13-TG-station,tgstation/tgstation,ShizCalev/tgstation,Bawhoppen/-tg-station,ShizCalev/tgstation,ShizCalev/tgstation,Bawhoppen/-tg-station,ShizCalev/tgstation,ShizCalev/tgstation,tgstation/tgstation,MicroWorldwide/SS13-TG-station,Bawhoppen/-tg-station,ShizCalev/tgstation,Bawhoppen/-tg-station,MicroWorldwide/SS13-TG-station,tgstation/tgstation,tgstation/tgstation,tgstation/tgstation,tgstation/tgstation,tgstation/tgstation,Bawhoppen/-tg-station