diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 70a32239083..c70e327771b 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -1,9 +1,7 @@ - /client/verb/who() set name = "Who" set category = "OOC" - var/header = "Current Players:
" var/count var/msg var/total_num = 0 @@ -11,30 +9,30 @@ if(holder && (R_ADMIN & holder.rights || R_MOD & holder.rights || R_DEV & holder.rights)) msg += "" - // table header + // Table Header msg += "" msg += "" msg += "" msg += "" msg += "" - msg += "" - msg += "" - msg += "" + msg += "" + msg += "" + msg += "" msg += "" for(var/client/client in sortKey(GLOB.clients)) msg += "" - // client key + // Client Key msg += "" - // character + // Character msg += "" - // status + // Status msg += "" - // account age + // Account Age var/age if(isnum(client.player_age)) age = client.player_age @@ -64,19 +64,19 @@ age = "[age]" msg += "" - // ping + // Ping if((R_ADMIN & holder.rights) || (R_DEV & holder.rights)) - msg += "" + msg += "" else msg += "" - // antag + // Antag if(is_special_character(client.mob)) msg += "" else msg += "" - // more info button + // More Info msg += "" total_num++ @@ -91,13 +91,19 @@ total_num++ msg += "
" - count = "Total Players: [total_num]
" - msg = header + count + msg + count = "Current Players ([total_num])
" + msg = count + msg var/datum/browser/who_win = new(usr, "who", "Who", 450, 500) who_win.set_content(msg) who_win.open() +#define STAFFWHO_STATUS_OBSERVING " \[Observing\]" +#define STAFFWHO_STATUS_LOBBY " \[Lobby\]" +#define STAFFWHO_STATUS_STORYTELLING " \[Storytelling\]" +#define STAFFWHO_STATUS_PLAYING " \[Playing\]" +#define STAFFWHO_AFK " (AFK)" + /client/verb/staffwho() set category = "Admin" set name = "Staffwho" @@ -113,78 +119,78 @@ if(holder) for(var/s in GLOB.staff) var/client/client = s - if(R_ADMIN & client.holder.rights) //Used to determine who shows up in admin rows + if(R_ADMIN & client.holder.rights) // Who shows up in admin rows. - if(client.holder.fakekey && !(R_ADMIN & holder.rights || R_MOD & holder.rights)) //Mentors can't see stealthmins + if(client.holder.fakekey && !(R_ADMIN & holder.rights || R_MOD & holder.rights)) continue - msg += "\t[client.key] is a [client.holder.rank]" + msg += "\t[client.key] · [client.holder.rank]" if(client.holder.fakekey) msg += " (as [client.holder.fakekey])" if(isobserver(client.mob)) - msg += " - Observing" + msg += STAFFWHO_STATUS_OBSERVING else if(isnewplayer(client.mob)) - msg += " - Lobby" + msg += STAFFWHO_STATUS_LOBBY else if(isstoryteller(client.mob)) - msg += "- Storytelling" + msg += STAFFWHO_STATUS_STORYTELLING else - msg += " - Playing" + msg += STAFFWHO_STATUS_PLAYING if(client.is_afk()) - msg += " (AFK)" + msg += STAFFWHO_AFK msg += "
" num_admins_online++ - else if(R_MOD & client.holder.rights) //Who shows up in mod/mentor rows. - modmsg += "\t[client.key] is a [client.holder.rank]" + else if(R_MOD & client.holder.rights) // Who shows up in mod rows. + modmsg += "\t[client.key] · [client.holder.rank]" if(isobserver(client.mob)) - modmsg += " - Observing" + modmsg += STAFFWHO_STATUS_OBSERVING else if(isnewplayer(client.mob)) - modmsg += " - Lobby" + modmsg += STAFFWHO_STATUS_LOBBY else if(isstoryteller(client.mob)) - modmsg += "- Storytelling" + modmsg += STAFFWHO_STATUS_STORYTELLING else - modmsg += " - Playing" + modmsg += STAFFWHO_STATUS_PLAYING if(client.is_afk()) - modmsg += " (AFK)" + modmsg += STAFFWHO_AFK modmsg += "
" num_mods_online++ - else if (R_CCIAA & client.holder.rights) - cciaamsg += "\t[client.key]" + else if(R_CCIAA & client.holder.rights) // Who shows up in CCIAA rows. + cciaamsg += "\t[client.key] · [client.holder.rank]" if(isobserver(client.mob)) - cciaamsg += " - Observing" + cciaamsg += STAFFWHO_STATUS_OBSERVING else if(isnewplayer(client.mob)) - cciaamsg += " - Lobby" + cciaamsg += STAFFWHO_STATUS_LOBBY else if(isstoryteller(client.mob)) - cciaamsg += "- Storytelling" + cciaamsg += STAFFWHO_STATUS_STORYTELLING else - cciaamsg += " - Playing" + cciaamsg += STAFFWHO_STATUS_PLAYING - if (client.is_afk()) - cciaamsg += " (AFK)" + if(client.is_afk()) + cciaamsg += STAFFWHO_AFK cciaamsg += "
" num_cciaa_online++ - else if(client.holder.rights & R_DEV) - devmsg += "\t[client.key] is a [client.holder.rank]" + else if(client.holder.rights & R_DEV) // Who shows up in dev rows. + devmsg += "\t[client.key] · [client.holder.rank]" if(isobserver(client.mob)) - devmsg += " - Observing" + devmsg += STAFFWHO_STATUS_OBSERVING else if(isnewplayer(client.mob)) - devmsg += " - Lobby" + devmsg += STAFFWHO_STATUS_LOBBY else if(isstoryteller(client.mob)) - devmsg += "- Storytelling" + devmsg += STAFFWHO_STATUS_STORYTELLING else - devmsg += " - Playing" + devmsg += STAFFWHO_STATUS_PLAYING if(client.is_afk()) - devmsg += " (AFK)" + devmsg += STAFFWHO_AFK devmsg += "
" num_devs_online++ else @@ -193,42 +199,49 @@ if(R_ADMIN & client.holder.rights) if(!client.holder.fakekey) if(client.is_afk()) - msg += "\t[client.key] is a [client.holder.rank] (AFK)
" + msg += "\t[client.key] · [client.holder.rank] (AFK)
" else - msg += "\t[client.key] is a [client.holder.rank]
" + msg += "\t[client.key] · [client.holder.rank]
" num_admins_online++ - else if (R_MOD & client.holder.rights) + else if(R_MOD & client.holder.rights) if(client.is_afk()) - modmsg += "\t[client.key] is a [client.holder.rank] (AFK)
" + modmsg += "\t[client.key] · [client.holder.rank] (AFK)
" else - modmsg += "\t[client.key] is a [client.holder.rank]
" + modmsg += "\t[client.key] · [client.holder.rank]
" num_mods_online++ else if(client.holder.rights & R_DEV) if(client.is_afk()) - devmsg += "\t[client.key] is a [client.holder.rank] (AFK)
" + devmsg += "\t[client.key] · [client.holder.rank] (AFK)
" else - devmsg += "\t[client.key] is a [client.holder.rank]
" + devmsg += "\t[client.key] · [client.holder.rank]
" num_devs_online++ - else if (R_CCIAA & client.holder.rights) + else if(R_CCIAA & client.holder.rights) if(client.is_afk()) - cciaamsg += "\t[client.key] is a [client.holder.rank] (AFK)
" + cciaamsg += "\t[client.key] · [client.holder.rank] (AFK)
" else - cciaamsg += "\t[client.key] is a [client.holder.rank]
" + cciaamsg += "\t[client.key] · [client.holder.rank]
" num_cciaa_online++ if(SSdiscord && SSdiscord.active) - to_chat(src, "Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond.") - msg = "Current Admins ([num_admins_online]):
" + msg + to_chat(src, SPAN_INFO("Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond.")) + + msg = "Current Administrators ([num_admins_online])
" + msg if(GLOB.config.show_mods) - msg += "
Current Moderators ([num_mods_online]):
" + modmsg + msg += "
Current Moderators ([num_mods_online])
" + modmsg - if (GLOB.config.show_auxiliary_roles) - if (num_cciaa_online) - msg += "
Current CCIA Agents ([num_cciaa_online]):
" + cciaamsg + if(GLOB.config.show_auxiliary_roles) + if(num_cciaa_online) + msg += "
Current CCIA Agents ([num_cciaa_online])
" + cciaamsg if(num_devs_online) - msg += "
Current Developers ([num_devs_online]):
" + devmsg + msg += "
Current Developers ([num_devs_online])
" + devmsg var/datum/browser/staff_win = new(usr, "staffwho", "Staff Who", 450, 500) staff_win.set_content(msg) staff_win.open() + +#undef STAFFWHO_STATUS_OBSERVING +#undef STAFFWHO_STATUS_LOBBY +#undef STAFFWHO_STATUS_STORYTELLING +#undef STAFFWHO_STATUS_PLAYING +#undef STAFFWHO_AFK diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index e2759d4ca3e..d17c027d552 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -833,7 +833,7 @@ dat += "Special Role Desc: [special_role_description]
" dat += "(PM) (PP) (VV) (SM) ([admin_jump_link(M, src)]) (CA)" - var/datum/browser/extrainfo_win = new(usr, "extrainfo", "Extra Info (M.name)", 450, 500) + var/datum/browser/extrainfo_win = new(usr, "extrainfo", "Extra Info", 450, 500) extrainfo_win.set_content(dat) extrainfo_win.open() diff --git a/html/changelogs/SleepyGemmy-staffwho_fix.yml b/html/changelogs/SleepyGemmy-staffwho_fix.yml new file mode 100644 index 00000000000..11ed56665bd --- /dev/null +++ b/html/changelogs/SleepyGemmy-staffwho_fix.yml @@ -0,0 +1,6 @@ +author: SleepyGemmy + +delete-after: True + +changes: + - rscadd: "Tweaked the \"Who\" and \"Staff Who\" interfaces."
Client KeyCharacterStatusAgePingAntagMore Info
[client.key]" if(client.holder && client.holder.fakekey) msg += " (as [client.holder.fakekey])" msg += "[client.mob.real_name]" switch(client.mob.stat) if(UNCONSCIOUS) @@ -45,14 +43,16 @@ if(O.started_as_observer) msg += "Observing" else - msg += "DEAD" + msg += "Dead" else if(isstoryteller(client.mob)) - msg += "STORYTELLING" + msg += "Storytelling" else - msg += "DEAD" + msg += "Dead" + else + msg += "Alive" msg += "[age][round(client.avgping, 1)]ms[round(client.avgping, 1)] msAntagonist?