Merge pull request #7837 from VOREStation/aro-botwho

Rearrange staffwho bot command output
This commit is contained in:
Aronai Sieyes
2020-05-13 17:01:44 -04:00
committed by GitHub
2 changed files with 41 additions and 42 deletions
-35
View File
@@ -70,41 +70,6 @@
var/message = get_staffwho_message(holder)
to_chat(src, message)
/proc/get_staffwho_numbers()
var/admin_count = 0
var/mod_count = 0
var/dev_count = 0
var/other_count = 0
var/list/keys = list()
for(var/client/C in GLOB.admins)
var/keymsg = "[C.key]"
if(C.is_afk())
keymsg += " *(AFK)*"
else if(C.holder.fakekey)
keymsg += " *(Stealth)*"
else if(isobserver(C.mob))
keymsg += " *(Ghost)*"
else if(isnewplayer(C.mob))
keymsg += " *(Lobby)*"
else
keymsg += " *(Ingame)*"
keys += keymsg
if(R_ADMIN & C.holder.rights && R_BAN & C.holder.rights) // R_ADMIN and R_BAN apparently an admin makes
admin_count++
else if(R_ADMIN & C.holder.rights && !(R_SERVER & C.holder.rights)) // R_ADMIN but not R_SERVER makes a moderator
mod_count++
else if(R_SERVER & C.holder.rights) // R_SERVER makes a dev
dev_count++
else // No R_ADMIN&&R_BAN, R_ADMIN!R_BAN, R_SERVER, must be a GM or something
other_count++
return list("Admins" = admin_count, "Mods" = mod_count, "Devs" = dev_count, "Other" = other_count, "keys" = keys)
// VOREStation Edit - This whole proc has various vorestation edits throughout. Practically every other line.
/proc/get_staffwho_message(datum/admins/holder)
var/msg = ""
+41 -7
View File
@@ -21,10 +21,44 @@
/datum/tgs_chat_command/staffwho/Run(datum/tgs_chat_user/sender, params)
var/message = "Current online staff:\n"
var/list/counts = get_staffwho_numbers()
var/list/keys = counts["keys"]
counts -= "keys" // Remove the 'keys' list as we don't want to iterate onto it here. We can hold the list.
for(var/key in counts)
message += "**[key]:** [counts[key]]\n"
message += "**Online:** [english_list(keys, "***!!Nobody!!***")]"
return message
var/list/admin_keys = list()
var/list/mod_keys = list()
var/list/dev_keys = list()
var/list/other_keys = list()
var/count = 0
for(var/client/C in GLOB.admins)
count++
var/keymsg = "[C.key]"
if(C.is_afk())
keymsg += " (AFK)"
else if(C.holder.fakekey)
keymsg += " (Stealth)"
else if(isobserver(C.mob))
keymsg += " (Ghost)"
else if(isnewplayer(C.mob))
keymsg += " (Lobby)"
else
keymsg += " (Ingame)"
if(R_ADMIN & C.holder.rights && R_BAN & C.holder.rights) // R_ADMIN and R_BAN apparently an admin makes
admin_keys += keymsg
else if(R_ADMIN & C.holder.rights && !(R_SERVER & C.holder.rights)) // R_ADMIN but not R_SERVER makes a moderator
mod_keys += keymsg
else if(R_SERVER & C.holder.rights) // R_SERVER makes a dev
dev_keys += keymsg
else // No R_ADMIN&&R_BAN, R_ADMIN!R_BAN, R_SERVER, must be a GM or something
other_keys += keymsg
var/admin_msg = english_list(admin_keys, "-None-")
var/mod_msg = english_list(mod_keys, "-None-")
var/dev_msg = english_list(dev_keys, "-None-")
var/other_msg = english_list(other_keys, "-None-")
message += "**Admins:** [admin_msg]\n**Mods/GMs:** [mod_msg]\n **Devs:** [dev_msg]\n**Other:** [other_msg]\n**Total:** [count] online"
return message