From 8625131204dcf896379f26b8ebc3e650015ebbd3 Mon Sep 17 00:00:00 2001 From: Krausus Date: Mon, 12 Sep 2016 23:27:07 -0400 Subject: [PATCH] Adds "Toggle Mentor Chat" verb --- code/modules/admin/admin_verbs.dm | 4 +++- code/modules/admin/verbs/adminsay.dm | 35 +++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) 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")