diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm index 7e97939fff1..956af04787c 100644 --- a/code/controllers/subsystems/inactivity.dm +++ b/code/controllers/subsystems/inactivity.dm @@ -15,8 +15,7 @@ SUBSYSTEM_DEF(inactivity) while(client_list.len) var/client/C = client_list[client_list.len] client_list.len-- - if(!C.holder && C.is_afk(config.kick_inactive MINUTES) && !isobserver(C.mob)) - + if(C.is_afk(config.kick_inactive MINUTES) && can_kick(C)) to_chat(C, "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") var/information @@ -34,6 +33,9 @@ SUBSYSTEM_DEF(inactivity) if(job) information = " while [job]." + else if(isobserver(C.mob)) + information = " while a ghost." + else if(issilicon(C.mob)) information = " while a silicon." if(isAI(C.mob)) @@ -56,3 +58,7 @@ SUBSYSTEM_DEF(inactivity) /datum/controller/subsystem/inactivity/stat_entry() ..("Kicked: [number_kicked]") + +/datum/controller/subsystem/inactivity/proc/can_kick(var/client/C) + if(C.holder) return FALSE //VOREStation Add - Don't kick admins. + return TRUE