/client/verb/who()
set name = "Who"
set category = "OOC"
var/msg = "Current Players:\n"
var/list/Lines = list()
if(holder)
for(var/client/C in clients)
var/entry = "\t[C.key]"
if(C.holder && C.holder.fakekey)
entry += " (as [C.holder.fakekey])"
entry += " - Playing as [C.mob.real_name]"
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += " - Unconscious"
if(DEAD)
if(isobserver(C.mob))
var/mob/dead/observer/O = C.mob
if(O.started_as_observer)
entry += " - Observing"
else
entry += " - DEAD"
else
entry += " - DEAD"
if(is_special_character(C.mob))
entry += " - Antagonist"
entry += " (?)"
Lines += entry
else
for(var/client/C in clients)
if(C.holder && C.holder.fakekey)
Lines += C.holder.fakekey
else
Lines += C.key
for(var/line in sortList(Lines))
msg += "[line]\n"
msg += "Total Players: [length(Lines)]"
src << msg
/client/verb/adminwho()
set category = "Admin"
set name = "Adminwho"
var/msg = ""
var/num_mods_online = 0
var/num_admins_online = 0
if(holder)
for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || !(R_MOD & C.holder.rights))
msg += "\t[C] is a [C.holder.rank]"
if(C.holder.fakekey)
msg += " (as [C.holder.fakekey])"
if(isobserver(C.mob))
msg += " - Observing"
else if(istype(C.mob,/mob/new_player))
msg += " - Lobby"
else
msg += " - Playing"
if(C.is_afk())
msg += " (AFK)"
msg += "\n"
num_admins_online++
else
num_mods_online++
else
for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || !(R_MOD & C.holder.rights))
if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n"
num_admins_online++
else
num_mods_online++
msg = "Current Admins ([num_admins_online]):\n" + msg
msg += "There are also [num_mods_online] moderators online. To view online moderators, type 'modwho'\n"
src << msg
/client/verb/modwho()
set category = "Admin"
set name = "Modwho"
var/msg = ""
var/num_admins_online = 0
var/num_mods_online = 0
if(holder)
for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || !(R_MOD & C.holder.rights))
num_admins_online++
else
msg += "\t[C] is a [C.holder.rank]"
if(isobserver(C.mob))
msg += " - Observing"
else if(istype(C.mob,/mob/new_player))
msg += " - Lobby"
else
msg += " - Playing"
if(C.is_afk())
msg += " (AFK)"
msg += "\n"
num_mods_online++
else
for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || !(R_MOD & C.holder.rights))
num_admins_online++
else
msg += "\t[C] is a [C.holder.rank]\n"
msg = "Current Moderators ([num_mods_online]):\n" + msg
msg += "There are also [num_admins_online] admins online. To view online admins, type 'adminwho'\n"
src << msg