diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm
index 31e19b3082..9c3c3571fe 100644
--- a/code/_helpers/global_lists.dm
+++ b/code/_helpers/global_lists.dm
@@ -1,5 +1,3 @@
-var/list/admins = list() //list of all clients whom are admins
-
//Since it didn't really belong in any other category, I'm putting this here
//This is for procs to replace all the goddamn 'in world's that are chilling around the code
diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm
index 923b8f450f..d27abcbf7e 100644
--- a/code/_helpers/logging.dm
+++ b/code/_helpers/logging.dm
@@ -47,7 +47,7 @@
if (config.log_debug)
WRITE_LOG(debug_log, "DEBUG: [text]")
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(C.is_preference_enabled(/datum/client_preference/debug/show_debug_logs))
to_chat(C, "DEBUG: [text]")
diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm
index 254472a2c8..f792d9af02 100644
--- a/code/controllers/failsafe.dm
+++ b/code/controllers/failsafe.dm
@@ -57,23 +57,23 @@ var/datum/controller/failsafe/Failsafe
if(4,5)
--defcon
if(3)
- to_chat(admins, "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")
+ to_chat(GLOB.admins, "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")
--defcon
if(2)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")
--defcon
if(1)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")
--defcon
var/rtn = Recreate_MC()
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully")
+ to_chat(GLOB.admins, "MC restarted successfully")
else if(rtn < 0)
log_world("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0")
- to_chat(admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")
+ to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
//no need to handle that specially when defcon 0 can handle it
if(0) //DEFCON 0! (mc failed to restart)
@@ -81,7 +81,7 @@ var/datum/controller/failsafe/Failsafe
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully")
+ to_chat(GLOB.admins, "MC restarted successfully")
else
defcon = min(defcon + 1,5)
master_iteration = Master.iteration
diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm
index 3d05d5ba9e..9ea9023de4 100644
--- a/code/defines/procs/statistics.dm
+++ b/code/defines/procs/statistics.dm
@@ -1,7 +1,7 @@
proc/sql_poll_population()
if(!sqllogging)
return
- var/admincount = admins.len
+ var/admincount = GLOB.admins.len
var/playercount = 0
for(var/mob/M in player_list)
if(M.client)
diff --git a/code/game/verbs/ignore.dm b/code/game/verbs/ignore.dm
index 702d462a0e..dab46f3a60 100644
--- a/code/game/verbs/ignore.dm
+++ b/code/game/verbs/ignore.dm
@@ -42,7 +42,7 @@
/client/proc/is_key_ignored(var/key_to_check)
key_to_check = ckey(key_to_check)
if(key_to_check in prefs.ignored_players)
- if(GLOB.directory[key_to_check] in admins) // This is here so this is only evaluated if someone is actually being blocked.
+ if(GLOB.directory[key_to_check] in GLOB.admins) // This is here so this is only evaluated if someone is actually being blocked.
return 0
return 1
return 0
\ No newline at end of file
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index a6e2625257..b494e844f4 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -151,7 +151,7 @@
receivers |= E.owner.client
// Admins with RLOOC displayed who weren't already in
- for(var/client/admin in admins)
+ for(var/client/admin in GLOB.admins)
if(!(admin in receivers) && admin.is_preference_enabled(/datum/client_preference/holder/show_rlooc))
r_receivers |= admin
@@ -159,7 +159,7 @@
for(var/client/target in receivers)
var/admin_stuff = ""
- if(target in admins)
+ if(target in GLOB.admins)
admin_stuff += "/([key])"
to_chat(target, "" + create_text_tag("looc", "LOOC:", target) + " [display_name][admin_stuff]: [msg]")
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index 4b03bcb4ce..e878373ab0 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -67,6 +67,10 @@
set category = "Admin"
set name = "Staffwho"
+ var/message = get_staffwho_message(holder)
+ to_chat(src, message)
+
+/proc/get_staffwho_message(datum/admins/holder)
var/msg = ""
var/modmsg = ""
var/devmsg = ""
@@ -76,7 +80,7 @@
var/num_devs_online = 0
var/num_event_managers_online = 0
if(holder)
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights && R_BAN & C.holder.rights) //VOREStation Edit
if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights)) //Event Managerss can't see stealthmins
@@ -174,7 +178,7 @@
num_event_managers_online++
else
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights && R_BAN & C.holder.rights) //VOREStation Edit
if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n"
@@ -207,4 +211,4 @@
if(config.show_event_managers)
msg += "\n Current Miscellaneous ([num_event_managers_online]):\n" + eventMmsg //VOREStation Edit
- to_chat(src,msg)
+ return msg
diff --git a/code/game/world.dm b/code/game/world.dm
index 5e5593d40d..1ffffcbbc5 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -344,7 +344,7 @@ var/world_topic_spam_protect_time = world.timeofday
to_chat(C,message)
- for(var/client/A in admins)
+ for(var/client/A in GLOB.admins)
if(A != C)
to_chat(A,amessage)
diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm
index 48eb275a9e..9edad6c4d0 100644
--- a/code/modules/admin/DB ban/functions.dm
+++ b/code/modules/admin/DB ban/functions.dm
@@ -72,7 +72,7 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration =
who += ", [C]"
var/adminwho
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(!adminwho)
adminwho = "[C]"
else
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index ccf0b4ef94..cf6ea072f0 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -8,13 +8,13 @@ var/global/floorIsLava = 0
msg = "ADMIN LOG: [msg]"
//log_adminwarn(msg) //log_and_message_admins is for this
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if((R_ADMIN|R_MOD) & C.holder.rights)
to_chat(C,msg)
/proc/msg_admin_attack(var/text) //Toggleable Attack Messages
var/rendered = "ATTACK: [text]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if((R_ADMIN|R_MOD) & C.holder.rights)
if(C.is_preference_enabled(/datum/client_preference/mod/show_attack_logs))
var/msg = rendered
@@ -1568,12 +1568,12 @@ datum/admins/var/obj/item/weapon/paper/admin/faxreply // var to hold fax replies
to_chat(src.owner, "Message reply to transmitted successfully.")
if(P.sender) // sent as a reply
log_admin("[key_name(src.owner)] replied to a fax message from [key_name(P.sender)]")
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights)
to_chat(C, "FAX LOG:[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(P.sender)] (VIEW)")
else
log_admin("[key_name(src.owner)] has sent a fax message to [destination.department]")
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights)
to_chat(C, "FAX LOG:[key_name_admin(src.owner)] has sent a fax message to [destination.department] (VIEW)")
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index 52b9ddcedd..74b75d7107 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -64,10 +64,10 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
/proc/load_admins()
//clear the datums references
admin_datums.Cut()
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
C.remove_admin_verbs()
C.holder = null
- admins.Cut()
+ GLOB.admins.Cut()
if(config.admin_legacy_system)
load_admin_ranks()
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index 51d50218ec..33ca558e80 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -31,18 +31,18 @@ var/list/admin_datums = list()
owner = C
owner.holder = src
owner.add_admin_verbs() //TODO
- admins |= C
+ GLOB.admins |= C
/datum/admins/proc/disassociate()
if(owner)
- admins -= owner
+ GLOB.admins -= owner
owner.remove_admin_verbs()
owner.deadmin_holder = owner.holder
owner.holder = null
/datum/admins/proc/reassociate()
if(owner)
- admins += owner
+ GLOB.admins += owner
owner.holder = src
owner.deadmin_holder = null
owner.add_admin_verbs()
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index f44c52ffc6..025096daea 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1300,7 +1300,7 @@
var/mob/M = locate(href_list["take_question"])
if(ismob(M))
var/take_msg = "ADMINHELP: [key_name(usr.client)] is attending to [key_name(M)]'s adminhelp, please don't dogpile them."
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
if((R_ADMIN|R_MOD|R_SERVER) & X.holder.rights) //VOREStation Edit
to_chat(X, take_msg)
to_chat(M, "Your adminhelp is being attended to by [usr.client]. Thanks for your patience!")
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 6c8b4fda3d..0262e643e4 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -234,7 +234,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
AddInteraction("[LinkedReplyName(ref_src)]: [msg]")
//send this msg to all admins
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
X << 'sound/effects/adminhelp.ogg'
window_flash(X)
@@ -549,7 +549,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
/proc/get_admin_counts(requiredflags = R_BAN)
. = list("total" = list(), "noflags" = list(), "afk" = list(), "stealth" = list(), "present" = list())
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
.["total"] += X
if(requiredflags != 0 && !check_rights(rights_required = requiredflags, show_msg = FALSE, C = X))
.["noflags"] += X
@@ -579,7 +579,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
/proc/ircadminwho()
var/list/message = list("Admins: ")
var/list/admin_keys = list()
- for(var/adm in admins)
+ for(var/adm in GLOB.admins)
var/client/C = adm
admin_keys += "[C][C.holder.fakekey ? "(Stealth)" : ""][C.is_afk() ? "(AFK)" : ""]"
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 2bd7326b3b..7f7ecff2ac 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -200,12 +200,12 @@
if(irc)
log_admin("PM: [key_name(src)]->IRC: [rawmsg]")
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
to_chat(X, "PM: [key_name(src, X, 0)]->IRC: [keywordparsedmsg]")
else
log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]")
//we don't use message_admins here because the sender/receiver might get it too
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient
to_chat(X, "PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]" )
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index cdd825f0b3..ba75d45317 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -12,7 +12,7 @@
log_adminsay(msg,src)
//VOREStation Edit Start - Adds R_EVENT
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN|R_EVENT))
to_chat(C, "" + create_text_tag("admin", "ADMIN:", C) + " [key_name(usr, 1)]([admin_jump_link(mob, src)]): [msg]")
//VOREStation Edit End
@@ -36,7 +36,7 @@
var/sender_name = key_name(usr, 1)
if(check_rights(R_ADMIN, 0))
sender_name = "[sender_name]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN|R_MOD|R_SERVER|R_STEALTH)) //VOREStation Edit
to_chat(C, "" + create_text_tag("mod", "MOD:", C) + " [sender_name]([admin_jump_link(mob, C.holder)]): [msg]")
@@ -59,7 +59,7 @@
var/sender_name = key_name(usr, 1)
if(check_rights(R_ADMIN, 0))
sender_name = "[sender_name]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
to_chat(C, "" + create_text_tag("event", "EVENT:", C) + " [sender_name]([admin_jump_link(mob, C.holder)]): [msg]")
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
\ No newline at end of file
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index dc5c10b964..99146571f7 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -584,7 +584,7 @@
if("Players")
to_chat(usr, span("filter_debuglogs", jointext(player_list,",")))
if("Admins")
- to_chat(usr, span("filter_debuglogs", jointext(admins,",")))
+ to_chat(usr, span("filter_debuglogs", jointext(GLOB.admins,",")))
if("Mobs")
to_chat(usr, span("filter_debuglogs", jointext(mob_list,",")))
if("Living Mobs")
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index aec9db7e81..a7a8993694 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -19,7 +19,7 @@
var/image/cross = image('icons/obj/storage.dmi',"bible")
msg = "[bicon(cross)] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src, src)]) (CA) (SC) (SMITE): [msg]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN|R_EVENT & C.holder.rights)
if(C.is_preference_enabled(/datum/client_preference/admin/show_chat_prayers))
to_chat(C,msg)
@@ -31,14 +31,14 @@
/proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage)
msg = "[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, src)]) (CA) (BSA) (RPLY): [msg]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN|R_EVENT & C.holder.rights)
to_chat(C,msg)
C << 'sound/machines/signal.ogg'
/proc/Syndicate_announce(var/msg, var/mob/Sender)
msg = "ILLEGAL:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, src)]) (CA) (BSA) (RPLY): [msg]"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(R_ADMIN|R_EVENT & C.holder.rights)
to_chat(C,msg)
C << 'sound/machines/signal.ogg'
\ No newline at end of file
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index dd36a877e2..1a941af2c1 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -130,7 +130,7 @@
//Admin Authorisation
holder = admin_datums[ckey]
if(holder)
- admins += src
+ GLOB.admins += src
holder.owner = src
//preferences datum - also holds some persistant data for the client (because we may as well keep these datums to a minimum)
@@ -191,7 +191,7 @@
log_and_message_admins("PARANOIA: [key_name(src)] has a very new BYOND account ([account_age] days).")
alert = TRUE
if(alert)
- for(var/client/X in admins)
+ for(var/client/X in GLOB.admins)
if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
X << 'sound/voice/bcriminal.ogg'
window_flash(X)
@@ -203,7 +203,7 @@
/client/Del()
if(holder)
holder.owner = null
- admins -= src
+ GLOB.admins -= src
GLOB.ahelp_tickets.ClientLogout(src)
GLOB.directory -= ckey
GLOB.clients -= src
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index aa42ab461d..9759e0a061 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -6,7 +6,7 @@
log_access_out(src)
if(admin_datums[src.ckey])
if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
- var/admins_number = admins.len
+ var/admins_number = GLOB.admins.len
message_admins("Admin logout: [key_name(src)]")
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 5353b2cf18..15b597275f 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -235,7 +235,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
msg += "(REPLY): "
msg += "Receiving '[sent.name]' via secure connection ... view message"
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(check_rights((R_ADMIN|R_MOD|R_EVENT),0,C))
to_chat(C,msg)
C << 'sound/effects/printer.ogg'