mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 02:58:45 +01:00
Merge pull request #7837 from VOREStation/aro-botwho
Rearrange staffwho bot command output
This commit is contained in:
@@ -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 = ""
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user