mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-24 17:11:22 +00:00
34 lines
826 B
Plaintext
34 lines
826 B
Plaintext
/datum/controller/subsystem/ping
|
|
name = "Ping"
|
|
priority = SS_PRIORITY_PING
|
|
wait = 3 SECONDS
|
|
flags = SS_NO_INIT
|
|
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
|
|
|
|
var/list/currentrun = list()
|
|
|
|
/datum/controller/subsystem/ping/stat_entry()
|
|
..("P:[clients.len]")
|
|
|
|
|
|
/datum/controller/subsystem/ping/fire(resumed = 0)
|
|
if (!resumed)
|
|
src.currentrun = clients.Copy()
|
|
|
|
//cache for sanic speed (lists are references anyways)
|
|
var/list/currentrun = src.currentrun
|
|
|
|
while (currentrun.len)
|
|
var/client/C = currentrun[currentrun.len]
|
|
currentrun.len--
|
|
|
|
if (!C || !C.chatOutput || !C.chatOutput.loaded)
|
|
if (MC_TICK_CHECK)
|
|
return
|
|
continue
|
|
|
|
// softPang isn't handled anywhere but it'll always reset the opts.lastPang.
|
|
C.chatOutput.ehjax_send(data = C.is_afk(29) ? "softPang" : "pang")
|
|
if (MC_TICK_CHECK)
|
|
return
|