From d14019dcee2cd5d50812466e4fb21e9bf97ceb69 Mon Sep 17 00:00:00 2001 From: Tom <8881105+tf-4@users.noreply.github.com> Date: Thu, 25 Nov 2021 23:29:44 +0000 Subject: [PATCH] Cleans up admin module (#9712) * Cleans up admin module * various null checks --- .../modules/admin/code/admin_help.dm | 2 +- .../modules/admin/code/adminhelp.dm | 22 +++---- modular_skyrat/modules/admin/code/aooc.dm | 57 +++++++++---------- modular_skyrat/modules/admin/code/loud_say.dm | 8 +-- .../modules/admin/code/manage_player_ranks.dm | 5 +- modular_skyrat/modules/admin/code/sooc.dm | 52 ++++++++--------- 6 files changed, 73 insertions(+), 73 deletions(-) diff --git a/modular_skyrat/modules/admin/code/admin_help.dm b/modular_skyrat/modules/admin/code/admin_help.dm index de27697ae65..35b72b437a3 100644 --- a/modular_skyrat/modules/admin/code/admin_help.dm +++ b/modular_skyrat/modules/admin/code/admin_help.dm @@ -15,7 +15,7 @@ if(!response || response == "No") return - var/msg = span_adminhelp("Your ticket is now being handled by [usr?.client?.holder?.fakekey? usr.client.holder.fakekey : "an administrator"]! Please wait while they type their response and/or gather relevant information.") + var/msg = span_adminhelp("Your ticket is now being handled by [usr?.client?.holder?.fakekey ? usr?.client?.holder?.fakekey : "an administrator"]! Please wait while they type their response and/or gather relevant information.") if(initiator) to_chat(initiator, msg) diff --git a/modular_skyrat/modules/admin/code/adminhelp.dm b/modular_skyrat/modules/admin/code/adminhelp.dm index 4531bf3f630..5b71f07ff1c 100644 --- a/modular_skyrat/modules/admin/code/adminhelp.dm +++ b/modular_skyrat/modules/admin/code/adminhelp.dm @@ -6,19 +6,19 @@ if(!current_ticket) // Check if the client had previous tickets, and show the latest one var/list/prev_tickets = list() - var/datum/admin_help/last_AH - // Check all resolved tickets for this player - for(var/datum/admin_help/AH in GLOB.ahelp_tickets.resolved_tickets) - if(AH.initiator_ckey == ckey) // Initiator is a misnomer, it's always the non-admin player even if an admin bwoinks first - prev_tickets += AH + var/datum/admin_help/last_ticket + // Check all resolved tickets for this player + for(var/datum/admin_help/resolved_ticket in GLOB.ahelp_tickets.resolved_tickets) + if(resolved_ticket.initiator_ckey == ckey) // Initiator is a misnomer, it's always the non-admin player even if an admin bwoinks first + prev_tickets += resolved_ticket // Check all closed tickets for this player - for(var/datum/admin_help/AH in GLOB.ahelp_tickets.closed_tickets) - if(AH.initiator_ckey == ckey) - prev_tickets += AH - // Take the most recent entry of prev_tickets and open the panel on it + for(var/datum/admin_help/closed_ticket in GLOB.ahelp_tickets.closed_tickets) + if(closed_ticket.initiator_ckey == ckey) + prev_tickets += closed_ticket + // Take the most recent entry of prev_tickets and open the panel on it if(LAZYLEN(prev_tickets)) - last_AH = pop(prev_tickets) - last_AH.PlayerTicketPanel() + last_ticket = pop(prev_tickets) + last_ticket.PlayerTicketPanel() return // client had no tickets this round diff --git a/modular_skyrat/modules/admin/code/aooc.dm b/modular_skyrat/modules/admin/code/aooc.dm index fbdc3637ec6..0e0ba850cad 100644 --- a/modular_skyrat/modules/admin/code/aooc.dm +++ b/modular_skyrat/modules/admin/code/aooc.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name) to_chat(src, span_danger("You have OOC muted.")) return - mob.log_talk(raw_msg, LOG_OOC, tag="AOOC") + mob.log_talk(raw_msg, LOG_OOC, tag = "AOOC") var/keyname = key var/anon = FALSE @@ -58,54 +58,53 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name) var/list/listeners = list() - for(var/mind in get_antag_minds(/datum/antagonist)) - var/datum/mind/M = mind - if(!M.current || !M.current.client || isnewplayer(M.current)) + for(var/mind as anything in get_antag_minds(/datum/antagonist)) + var/datum/mind/antag_mind = mind + if(!antag_mind.current || !antag_mind.current.client || isnewplayer(antag_mind.current)) continue - listeners[M.current.client] = AOOC_LISTEN_PLAYER + listeners[antag_mind.current.client] = AOOC_LISTEN_PLAYER - for(var/m in GLOB.player_list) - var/mob/M = m + for(var/iterated_player as anything in GLOB.player_list) + var/mob/iterated_mob = iterated_player //Admins with muted OOC do not get to listen to AOOC, but normal players do, as it could be admins talking important stuff to them - if(M.client && M.client.holder && !M.client.holder.deadmined && M.client.prefs.chat_toggles & CHAT_OOC) - listeners[M.client] = AOOC_LISTEN_ADMIN + if(!iterated_mob.client?.holder?.deadmined && iterated_mob.client?.prefs?.chat_toggles & CHAT_OOC) + listeners[iterated_mob.client] = AOOC_LISTEN_ADMIN - for(var/c in listeners) - var/client/C = c - var/mode = listeners[c] - var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && C.prefs?.read_preference(/datum/preference/color/ooc_color)) ? C.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.AOOC_COLOR + for(var/iterated_listener as anything in listeners) + var/client/iterated_client = iterated_listener + var/mode = listeners[iterated_listener] + var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color)) ? iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.AOOC_COLOR var/name = (mode == AOOC_LISTEN_ADMIN && anon) ? "([key])[keyname]" : keyname - to_chat(C, span_oocplain("AOOC: [name]: [msg]")) + to_chat(iterated_client, span_oocplain("AOOC: [name]: [msg]")) #undef AOOC_LISTEN_PLAYER #undef AOOC_LISTEN_ADMIN /proc/toggle_aooc(toggle = null) if(toggle != null) //if we're specifically en/disabling aooc - if(toggle != GLOB.aooc_allowed) - GLOB.aooc_allowed = toggle - else + if(toggle == GLOB.aooc_allowed) return + GLOB.aooc_allowed = toggle else //otherwise just toggle it GLOB.aooc_allowed = !GLOB.aooc_allowed var/list/listeners = list() - for(var/mind in get_antag_minds(/datum/antagonist)) - var/datum/mind/M = mind - if(!M.current || !M.current.client || isnewplayer(M.current)) + for(var/mind as anything in get_antag_minds(/datum/antagonist)) + var/datum/mind/antag_mind = mind + if(!antag_mind.current || !antag_mind.current.client || isnewplayer(antag_mind.current)) continue - listeners[M.current.client] = TRUE + listeners[antag_mind.current.client] = TRUE - for(var/m in GLOB.player_list) - var/mob/M = m - if(M.client && M.client.holder && !M.client.holder.deadmined) - listeners[M.client] = TRUE - for(var/c in listeners) - var/client/C = c - to_chat(C, span_oocplain("The AOOC channel has been globally [GLOB.aooc_allowed ? "enabled" : "disabled"].")) + for(var/iterated_player in GLOB.player_list) + var/mob/iterated_mob = iterated_player + if(!iterated_mob.client?.holder?.deadmined) + listeners[iterated_mob.client] = TRUE + for(var/iterated_listener in listeners) + var/client/iterated_client = iterated_listener + to_chat(iterated_client, span_oocplain("The AOOC channel has been globally [GLOB.aooc_allowed ? "enabled" : "disabled"].")) /datum/admins/proc/toggleaooc() set category = "Server" - set name="Toggle Antag OOC" + set name = "Toggle Antag OOC" toggle_aooc() log_admin("[key_name(usr)] toggled Antagonist OOC.") message_admins("[key_name_admin(usr)] toggled Antagonist OOC.") diff --git a/modular_skyrat/modules/admin/code/loud_say.dm b/modular_skyrat/modules/admin/code/loud_say.dm index 1f8a3d56c88..98973c744ae 100644 --- a/modular_skyrat/modules/admin/code/loud_say.dm +++ b/modular_skyrat/modules/admin/code/loud_say.dm @@ -20,9 +20,9 @@ html = msg, confidential = TRUE) - for(var/client/I in GLOB.admins) - if(I.prefs.toggles & SOUND_ADMINHELP) - SEND_SOUND(I, sound('modular_skyrat/modules/admin/sound/duckhonk.ogg')) //Stop using loud mode if you don't need to. - window_flash(I, ignorepref = TRUE) + for(var/client/admin_client in GLOB.admins) + if(admin_client?.prefs?.toggles & SOUND_ADMINHELP) + SEND_SOUND(admin_client, sound('modular_skyrat/modules/admin/sound/duckhonk.ogg')) //Stop using loud mode if you don't need to. + window_flash(admin_client, ignorepref = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "loudAsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/modular_skyrat/modules/admin/code/manage_player_ranks.dm b/modular_skyrat/modules/admin/code/manage_player_ranks.dm index f1b6cb4700e..70d86c1f2b3 100644 --- a/modular_skyrat/modules/admin/code/manage_player_ranks.dm +++ b/modular_skyrat/modules/admin/code/manage_player_ranks.dm @@ -10,16 +10,17 @@ set category = "Admin" set name = "Manage Player Ranks" set desc = "Manage who has the special player ranks while the server is running." + if(!check_rights(R_PERMISSIONS)) return - usr.client.holder.manage_player_ranks() + usr.client?.holder.manage_player_ranks() /// Proc for admins to change people's "player" ranks (donator, mentor, veteran, etc.) /datum/admins/proc/manage_player_ranks() if(!check_rights(R_PERMISSIONS)) return - var/choice = tgui_alert(usr, "Which rank would you like to manage?", "Manage Player Ranks", SKYRAT_PLAYER_RANKS+"Cancel") + var/choice = tgui_alert(usr, "Which rank would you like to manage?", "Manage Player Ranks", SKYRAT_PLAYER_RANKS) if(!choice || !(choice in SKYRAT_PLAYER_RANKS)) return diff --git a/modular_skyrat/modules/admin/code/sooc.dm b/modular_skyrat/modules/admin/code/sooc.dm index 2f502bc0b58..e420a2b2829 100644 --- a/modular_skyrat/modules/admin/code/sooc.dm +++ b/modular_skyrat/modules/admin/code/sooc.dm @@ -60,23 +60,23 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name) var/list/listeners = list() - for(var/m in GLOB.player_list) - var/mob/M = m + for(var/iterated_player as anything in GLOB.player_list) + var/mob/iterated_mob = iterated_player //Admins with muted OOC do not get to listen to SOOC, but normal players do, as it could be admins talking important stuff to them - if(M.client && M.client.holder && !M.client.holder.deadmined && M.client.prefs.chat_toggles & CHAT_OOC) - listeners[M.client] = SOOC_LISTEN_ADMIN + if(!iterated_mob.client?.holder?.deadmined && iterated_mob.client?.prefs?.chat_toggles & CHAT_OOC) + listeners[iterated_mob.client] = SOOC_LISTEN_ADMIN else - if(M.mind) - var/datum/mind/MIND = M.mind - if(job_lookup[MIND.assigned_role.title]) - listeners[M.client] = SOOC_LISTEN_PLAYER + if(iterated_mob.mind) + var/datum/mind/mob_mind = iterated_mob.mind + if(job_lookup[mob_mind.assigned_role?.title]) + listeners[iterated_mob.client] = SOOC_LISTEN_PLAYER - for(var/c in listeners) - var/client/C = c - var/mode = listeners[c] - var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && C.prefs?.read_preference(/datum/preference/color/ooc_color)) ? C.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.SOOC_COLOR + for(var/iterated_listener as anything in listeners) + var/client/iterated_client = iterated_listener + var/mode = listeners[iterated_listener] + var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color)) ? iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.SOOC_COLOR var/name = (mode == SOOC_LISTEN_ADMIN && anon) ? "([key])[keyname]" : keyname - to_chat(C, span_oocplain("SOOC: [name]: [msg]")) + to_chat(iterated_client, span_oocplain("SOOC: [name]: [msg]")) #undef SOOC_LISTEN_PLAYER #undef SOOC_LISTEN_ADMIN @@ -90,23 +90,23 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name) else //otherwise just toggle it GLOB.sooc_allowed = !GLOB.sooc_allowed var/list/listeners = list() - var/static/list/job_lookup = list("Security Officer"=TRUE, "Warden"=TRUE, "Detective"=TRUE, "Head of Security"=TRUE, "Captain"=TRUE, "Blueshield"=TRUE) - for(var/m in GLOB.player_list) - var/mob/M = m - if(M.client && M.client.holder && !M.client.holder.deadmined) - listeners[M.client] = TRUE + var/static/list/job_lookup = list("Security Officer" = TRUE, "Warden" = TRUE, "Detective" = TRUE, "Head of Security" = TRUE, "Captain" = TRUE, "Blueshield" = TRUE) + for(var/iterated_player as anything in GLOB.player_list) + var/mob/iterated_mob = iterated_player + if(!iterated_mob.client?.holder?.deadmined) + listeners[iterated_mob.client] = TRUE else - if(M.mind) - var/datum/mind/MIND = M.mind - if(job_lookup[MIND.assigned_role]) - listeners[M.client] = TRUE - for(var/c in listeners) - var/client/C = c - to_chat(C, span_oocplain("The SOOC channel has been globally [GLOB.sooc_allowed ? "enabled" : "disabled"].")) + if(iterated_mob.mind) + var/datum/mind/mob_mind = iterated_mob.mind + if(job_lookup[mob_mind.assigned_role]) + listeners[iterated_mob.client] = TRUE + for(var/iterated_listener as anything in listeners) + var/client/iterated_client = iterated_listener + to_chat(iterated_client, span_oocplain("The SOOC channel has been globally [GLOB.sooc_allowed ? "enabled" : "disabled"].")) /datum/admins/proc/togglesooc() set category = "Server" - set name="Toggle Security OOC" + set name = "Toggle Security OOC" toggle_sooc() log_admin("[key_name(usr)] toggled Security OOC.") message_admins("[key_name_admin(usr)] toggled Security OOC.")