Merge pull request #4538 from VOREStation/upstream-merge-5726

[MIRROR] Refactors Sun and Inactivity processes to subsystems, and a few globa lvariables to be managed
This commit is contained in:
Spades
2019-02-23 12:01:38 -05:00
committed by GitHub
9 changed files with 45 additions and 66 deletions
+36
View File
@@ -0,0 +1,36 @@
SUBSYSTEM_DEF(inactivity)
name = "AFK Kick"
wait = 600
flags = SS_BACKGROUND | SS_NO_TICK_CHECK
/datum/controller/subsystem/inactivity/fire()
if(config.kick_inactive)
for(var/i in clients)
var/client/C = i
if(C.is_afk(config.kick_inactive MINUTES) && !C.holder) // VOREStation Edit - Allow admins to idle
to_chat(C,"<span class='warning'>You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.</span>")
var/information
if(C.mob)
if(ishuman(C.mob))
var/job
var/mob/living/carbon/human/H = C.mob
var/datum/data/record/R = find_general_record("name", H.real_name)
if(R)
job = R.fields["real_rank"]
if(!job && H.mind)
job = H.mind.assigned_role
if(!job && H.job)
job = H.job
if(job)
information = " while [job]."
else if(issilicon(C.mob))
information = " while a silicon."
var/adminlinks
adminlinks = " (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[C.mob.x];Y=[C.mob.y];Z=[C.mob.z]'>JMP</a>|<A HREF='?_src_=holder;cryoplayer=\ref[C.mob]'>CRYO</a>)"
log_and_message_admins("being kicked for AFK[information][adminlinks]", C.mob)
qdel(C)
+7
View File
@@ -0,0 +1,7 @@
SUBSYSTEM_DEF(sun)
name = "Sun"
wait = 600
var/static/datum/sun/sun = new
/datum/controller/subsystem/sun/fire()
sun.calc_position()