diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 88ff8198086..249816bc388 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -50,6 +50,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, list( /client/proc/global_man_up, /client/proc/library_manager, /client/proc/view_asays, + /client/proc/view_msays, /client/proc/empty_ai_core_toggle_latejoin, /client/proc/aooc, /client/proc/freeze, @@ -212,7 +213,8 @@ GLOBAL_LIST_INIT(admin_verbs_mentor, list( /client/proc/openMentorTicketUI, /client/proc/admin_observe, /* Allow mentors to observe as well, though they face some limitations */ /client/proc/admin_observe_target, - /client/proc/cmd_mentor_say /* mentor say*/ + /client/proc/cmd_mentor_say, /* mentor say*/ + /client/proc/view_msays, // cmd_mentor_say is added/removed by the toggle_mentor_chat verb )) GLOBAL_LIST_INIT(admin_verbs_proccall, list( diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 02793d7d8d3..afe8db20b06 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -347,7 +347,7 @@ dname = M return {"[dname][caption][logout_status][istype(A, /area/station/security/permabrig) ? " (PERMA) " : ""][M.stat == 2 ? " (DEAD)" : ""] - PM [ADMIN_FLW(M, "FLW")] [close ? "" : ""]"} + PM [ADMIN_FLW(M, "FLW")] [ADMIN_OBS(M, "OBS")] [close ? "" : ""]"} /datum/admins/proc/check_antagonists() if(!check_rights(R_ADMIN)) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 9d6c3c18bf4..42ac7efec50 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1269,6 +1269,12 @@ usr.client.view_asays() + else if(href_list["msays"]) + if(!check_rights(R_ADMIN | R_MENTOR)) + return + + usr.client.view_msays() + else if(href_list["tdome1"]) if(!check_rights(R_SERVER|R_EVENT)) return diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 663a6b7eacb..924a7b9c052 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -8,7 +8,7 @@ if(!msg) return - var/datum/asays/asay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday) + var/datum/say/asay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday) GLOB.asays += asay log_adminsay(msg, src) @@ -64,6 +64,8 @@ msg = emoji_parse(copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN)) log_mentorsay(msg, src) + var/datum/say/msay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday) + GLOB.msays += msay mob.create_log(OOC_LOG, "MSAY: [msg]") if(!msg) diff --git a/code/modules/admin/verbs/asays.dm b/code/modules/admin/verbs/asays.dm index e713d2b1bcc..7fe02d91ce1 100644 --- a/code/modules/admin/verbs/asays.dm +++ b/code/modules/admin/verbs/asays.dm @@ -1,17 +1,28 @@ GLOBAL_LIST_EMPTY(asays) +GLOBAL_LIST_EMPTY(msays) -/datum/asays +/datum/say var/ckey var/rank var/message var/time -/datum/asays/New(ckey = "", rank = "", message = "", time = 0) +/datum/say/New(ckey = "", rank = "", message = "", time = 0) src.ckey = ckey src.rank = rank src.message = message src.time = time +/client/proc/view_msays() + set name = "Msays" + set desc = "View Msays from the current round." + set category = "Admin" + + if(!check_rights(R_MENTOR | R_ADMIN)) + return + + display_says(GLOB.msays, "msay") + /client/proc/view_asays() set name = "Asays" set desc = "View Asays from the current round." @@ -20,6 +31,10 @@ GLOBAL_LIST_EMPTY(asays) if(!check_rights(R_ADMIN)) return + display_says(GLOB.asays, "asay") + +/client/proc/display_says(list/say_list, title) + var/list/output = list({" - Refresh + Refresh "}) @@ -51,7 +66,7 @@ GLOBAL_LIST_EMPTY(asays) "} - for(var/datum/asays/A in GLOB.asays) + for(var/datum/say/A in say_list) var/timestr = time2text(A.time, "hh:mm:ss") output += {" @@ -65,6 +80,6 @@ GLOBAL_LIST_EMPTY(asays)
"} - var/datum/browser/popup = new(src, "asays", "
Current Round Asays
", 1200, 825) + var/datum/browser/popup = new(src, title, "
Current Round [capitalize(title)]s
", 1200, 825) popup.set_content(output.Join()) popup.open(0) diff --git a/code/modules/admin/verbs/ping_all_admins.dm b/code/modules/admin/verbs/ping_all_admins.dm index a6ca8110515..7279a2d9842 100644 --- a/code/modules/admin/verbs/ping_all_admins.dm +++ b/code/modules/admin/verbs/ping_all_admins.dm @@ -29,7 +29,7 @@ to_chat(usr, "No other admins online to ping[de_admin_also == "Yes" ? ", including those that have used de-admin" : ""]!") return - var/datum/asays/asay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday) + var/datum/say/asay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday) GLOB.asays += asay log_ping_all_admins("[length(admins_to_ping)] clients pinged: [msg]", src)