diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index e202a270c1d..fda1382d4df 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -74,7 +74,8 @@ var/list/admin_verbs_admin = list(
/client/proc/change_human_appearance_self, /* Allows the human-based mob itself change its basic appearance */
/client/proc/debug_variables,
/client/proc/show_snpc_verbs,
- /client/proc/reset_all_tcs /*resets all telecomms scripts*/
+ /client/proc/reset_all_tcs, /*resets all telecomms scripts*/
+ /client/proc/toggle_mentor_chat
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
@@ -195,6 +196,7 @@ var/list/admin_verbs_mentor = list(
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
/client/proc/cmd_admin_pm_by_key_panel /*admin-pm list by key*/
+ // cmd_mentor_say is added/removed by the toggle_mentor_chat verb
)
var/list/admin_verbs_proccall = list(
/client/proc/callproc,
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index 1f4dc08b374..67130872222 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -34,4 +34,37 @@
if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, C.mob))
to_chat(C, "MENTOR: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]")
- feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
\ No newline at end of file
+ feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+
+/client/proc/toggle_mentor_chat()
+ set category = "Server"
+ set name = "Toggle Mentor Chat"
+ set desc = "Toggle whether mentors have access to the msay command"
+
+ if(!check_rights(R_ADMIN))
+ return
+
+ var/enabling
+ var/msay = /client/proc/cmd_mentor_say
+
+ if(msay in admin_verbs_mentor)
+ enabling = FALSE
+ admin_verbs_mentor -= msay
+ else
+ enabling = TRUE
+ admin_verbs_mentor += msay
+
+ for(var/client/C in admins)
+ if(check_rights(R_ADMIN|R_MOD, 0, C.mob))
+ continue
+ if(!check_rights(R_MENTOR, 0, C.mob))
+ continue
+ if(enabling)
+ C.verbs += msay
+ to_chat(C, "Mentor chat has been enabled. Use 'msay' to speak in it.")
+ else
+ C.verbs -= msay
+ to_chat(C, "Mentor chat has been disabled.")
+
+ admin_log_and_message_admins("toggled mentor chat [enabling ? "on" : "off"].")
+ feedback_add_details("admin_verb", "TMC")