#define DEFAULT_WHO_CELLS_PER_ROW 4 /client/verb/who() set name = "Who" set category = "OOC" var/msg = "Current Players:\n" var/list/Lines = list() var/columns_per_row = DEFAULT_WHO_CELLS_PER_ROW if(holder) if (check_rights(R_ADMIN,0) && isobserver(src.mob))//If they have +ADMIN and are a ghost they can see players IC names and statuses. columns_per_row = 1 var/mob/dead/observer/G = src.mob if(!G.started_as_observer)//If you aghost to do this, KorPhaeron will deadmin you in your sleep. log_admin("[key_name(usr)] checked advanced who in-round") for(var/client/C in GLOB.clients) var/entry = "\t[C.key]" if(C.holder && C.holder.fakekey) entry += " (as [C.holder.fakekey])" if (isnewplayer(C.mob)) entry += " - In Lobby" else entry += " - Playing as [C.mob.real_name]" switch(C.mob.stat) if(UNCONSCIOUS, HARD_CRIT) 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 += " [ADMIN_QUE(C.mob)]" entry += " ([round(C.avgping, 1)]ms)" Lines += entry else//If they don't have +ADMIN, only show hidden admins for(var/client/C in GLOB.clients) var/entry = "[C.key]" if(C.holder && C.holder.fakekey) entry += " (as [C.holder.fakekey])" entry += " ([round(C.avgping, 1)]ms)" Lines += entry else for(var/client/C in GLOB.clients) if(C.holder && C.holder.fakekey) Lines += "[C.holder.fakekey] ([round(C.avgping, 1)]ms)" else Lines += "[C.key] ([round(C.avgping, 1)]ms)" var/num_lines = 0 msg += "
| [line] | " num_lines += 1 if (num_lines == columns_per_row) num_lines = 0 msg += "