diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 4a0429dd576..ca7bf1ba8f4 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -1,16 +1,22 @@ - /client/verb/who() set name = "Who" set category = "OOC" - var/msg = "Current Players:\n" + var/players = 0 + for(var/I in GLOB.clients) + var/client/C = I + if(C.holder?.big_brother && !check_rights(R_PERMISSIONS, FALSE)) // need PERMISSIONS to see BB + continue + players++ + to_chat(src, "Total Players: [players]\n Current Players...") +/client/proc/who_names() var/list/Lines = list() - - if(check_rights(R_ADMIN,0)) + var/msg = "Current Players:\n" + if(check_rights(R_ADMIN, FALSE)) for(var/client/C in GLOB.clients) - if(C.holder && C.holder.big_brother && !check_rights(R_PERMISSIONS, 0)) // need PERMISSIONS to see BB + if(C.holder?.big_brother && !check_rights(R_PERMISSIONS, FALSE)) // need PERMISSIONS to see BB continue var/entry = "\t[C.key]" @@ -61,9 +67,8 @@ for(var/line in sortList(Lines)) msg += "[line]\n" + return msg - msg += "Total Players: [length(Lines)]" - to_chat(src, msg) /client/verb/adminwho() set category = "Admin" diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 0c2aa04569e..9f8e6fa4557 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -183,20 +183,26 @@ return switch(href_list["_src_"]) - if("holder") hsrc = holder - if("usr") hsrc = mob - if("prefs") return prefs.process_link(usr,href_list) - if("vars") return view_var_Topic(href,href_list,hsrc) + if("holder") + hsrc = holder + if("usr") + hsrc = mob + if("prefs") + return prefs.process_link(usr,href_list) + if("vars") + return view_var_Topic(href,href_list,hsrc) if(href_list["ssdwarning"]) ssd_warning_acknowledged = TRUE to_chat(src, "SSD warning acknowledged.") if(href_list["link_forum_account"]) link_forum_account() - return // prevents a recursive loop where the ..() 5 lines after this makes the proc endlessly re-call itself - switch(href_list["action"]) - if("openLink") - src << link(href_list["link"]) + return // prevents a recursive loop where the ..() after this makes the proc endlessly re-call itself + if(href_list["openLink"]) + src << link(href_list["link"]) + if(href_list["who_names"]) + to_chat(src, who_names()) + return ..() //redirect to hsrc.Topic()