diff --git a/code/__defines/span_vr.dm b/code/__defines/span_vr.dm index eef8cddad7..d88bc6aded 100644 --- a/code/__defines/span_vr.dm +++ b/code/__defines/span_vr.dm @@ -164,6 +164,14 @@ #define span_mentor(str) ("" + str + "") #define span_filter_pray(str) ("" + str + "") +/* Admin only usage */ + +#define span_admin_pm_notice(str) ("" + str + "") +#define span_admin_pm_warning(str) ("" + str + "") + +#define span_mentor_pm_notice(str) ("" + str + "") +#define span_mentor_pm_warning(str) ("" + str + "") + /* Adminchat */ #define span_admin_channel(str) ("" + str + "") diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 68e0e6b3a7..a0c8d13712 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -177,13 +177,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) MessageNoRecipient(parsed_message) send2adminchat() //VOREStation Add //show it to the person adminhelping too - to_chat(C, span_pm(span_adminnotice("PM to-Admins: [name]"))) + to_chat(C, span_admin_pm_notice("PM to-Admins: [name]")) //send it to irc if nobody is on and tell us how many were on var/admin_number_present = send2irc_adminless_only(initiator_ckey, name) log_admin("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.") if(admin_number_present <= 0) - to_chat(C, span_pm(span_notice("No active admins are online, your adminhelp was sent to the admin discord."))) //VOREStation Edit + to_chat(C, span_admin_pm_notice("No active admins are online, your adminhelp was sent to the admin discord.")) //VOREStation Edit // Also send it to discord since that's the hip cool thing now. SSwebhooks.send( @@ -243,7 +243,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //won't bug irc /datum/admin_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" - var/chat_msg = span_pm(span_adminnotice("Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [msg]")) + var/chat_msg = span_admin_pm_notice(span_adminhelp("Ticket [TicketHref("#[id]", ref_src)]") + span_bold(": [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:") + msg) AddInteraction("[LinkedReplyName(ref_src)]: [msg]") //send this msg to all admins @@ -618,7 +618,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(input == "Yes") if(current_ticket) current_ticket.MessageNoRecipient(msg) - to_chat(usr, span_pm(span_adminnotice("PM to-Admins: [msg]"))) + to_chat(usr, span_admin_pm_notice("PM to-Admins: [msg]")) return else to_chat(usr, span_warning("Ticket not found, creating new one...")) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index ef00f9100a..6c3eeb4b66 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -6,7 +6,7 @@ set category = null set name = "Admin PM Mob" if(!check_rights(R_ADMIN)) - to_chat(src, span_pm(span_warning("Error: Admin-PM-Context: Only administrators may use this command."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM-Context: Only administrators may use this command.")) return if( !ismob(M) || !M.client ) return @@ -18,7 +18,7 @@ set category = "Admin" set name = "Admin PM" if(!check_rights(R_ADMIN)) - to_chat(src, span_pm(span_warning("Error: Admin-PM-Panel: Only administrators may use this command."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM-Panel: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T) @@ -39,7 +39,7 @@ /client/proc/cmd_ahelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return var/client/C if(istext(whom)) @@ -50,7 +50,7 @@ C = whom if(!C) if(holder) - to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) return var/datum/admin_help/AH = C.current_ticket @@ -67,12 +67,12 @@ //Fetching a message if needed. src is the sender and C is the target client /client/proc/cmd_admin_pm(whom, msg, datum/admin_help/AH) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo - to_chat(src, span_pm(span_warning("You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be."))) - to_chat(src, span_pm(span_notice("Message: [msg]"))) + to_chat(src, span_admin_pm_warning("You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.")) + to_chat(src, span_admin_pm_notice("Message: [msg]")) return var/client/recipient @@ -97,14 +97,14 @@ if(!msg) return if(holder) - to_chat(src, span_pm(span_warning("Error: Use the admin IRC channel, nerd."))) + to_chat(src, span_admin_pm_warning("Error: Use the admin IRC channel, nerd.")) return else if(!recipient) if(holder) - to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) to_chat(src, msg) else current_ticket.MessageNoRecipient(msg) @@ -118,12 +118,12 @@ return if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")) return if(!recipient) if(holder) - to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Client not found.")) else current_ticket.MessageNoRecipient(msg) return @@ -142,27 +142,27 @@ var/keywordparsedmsg = keywords_lookup(msg) if(irc) - to_chat(src, span_pm(span_notice("PM to-Admins: [rawmsg]"))) - admin_ticket_log(src, span_pm(span_warning("Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]"))) + to_chat(src, span_admin_pm_notice("PM to-Admins: [rawmsg]")) + admin_ticket_log(src, span_admin_pm_warning("Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]")) ircreplyamount-- send2irc("Reply: [ckey]",rawmsg) else if(recipient.holder) if(holder) //both are admins - to_chat(recipient, span_pm(span_warning("Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]"))) - to_chat(src, span_pm(span_notice("Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]"))) + to_chat(recipient, span_admin_pm_warning("Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]")) + to_chat(src, span_admin_pm_notice("Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]")) //omg this is dumb, just fill in both their tickets - var/interaction_message = span_pm(span_notice("PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]")) + var/interaction_message = span_admin_pm_notice("PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]") admin_ticket_log(src, interaction_message) if(recipient != src) //reeee admin_ticket_log(recipient, interaction_message) else //recipient is an admin but sender is not - var/replymsg = span_pm(span_warning("Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]")) + var/replymsg = span_admin_pm_warning("Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]") admin_ticket_log(src, replymsg) to_chat(recipient, replymsg) - to_chat(src, span_pm(span_notice("PM to-Admins: [msg]"))) + to_chat(src, span_admin_pm_notice("PM to-Admins: [msg]")) //play the recieving admin the adminhelp sound (if they have them enabled) if(recipient.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping)) @@ -173,12 +173,12 @@ if(!recipient.current_ticket) new /datum/admin_help(msg, recipient, TRUE) - to_chat(recipient, span_pm(span_warning(span_huge("-- Administrator private message --")))) - to_chat(recipient, span_pm(span_warning("Admin PM from-[key_name(src, recipient, 0)]: [msg]"))) - to_chat(recipient, span_pm(span_warning("Click on the administrator's name to reply."))) - to_chat(src, span_pm(span_notice("Admin PM to-[key_name(recipient, src, 1)]: [msg]"))) + to_chat(recipient, span_admin_pm_warning(span_huge("-- Administrator private message --"))) + to_chat(recipient, span_admin_pm_warning("Admin PM from-[key_name(src, recipient, 0)]: [msg]")) + to_chat(recipient, span_admin_pm_warning("Click on the administrator's name to reply.")) + to_chat(src, span_admin_pm_notice("Admin PM to-[key_name(recipient, src, 1)]: [msg]")) - admin_ticket_log(recipient, span_pm(span_notice("PM From [key_name_admin(src)]: [keywordparsedmsg]"))) + admin_ticket_log(recipient, span_admin_pm_notice("PM From [key_name_admin(src)]: [keywordparsedmsg]")) //always play non-admin recipients the adminhelp sound recipient << 'sound/effects/adminhelp.ogg' @@ -197,7 +197,7 @@ return else //neither are admins - to_chat(src, span_pm(span_warning("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."))) + to_chat(src, span_admin_pm_warning("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")) return if(irc) @@ -205,7 +205,7 @@ for(var/client/X in GLOB.admins) if(!check_rights(R_ADMIN, 0, X)) continue - to_chat(X, span_pm(span_notice("PM: [key_name(src, X, 0)]->IRC: [keywordparsedmsg]"))) + to_chat(X, span_admin_pm_notice("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 @@ -213,7 +213,7 @@ if(!check_rights(R_ADMIN, 0, X)) continue if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient - to_chat(X, span_pm(span_notice("PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]"))) + to_chat(X, span_admin_pm_notice("PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]")) /proc/IrcPm(target,msg,sender) var/client/C = GLOB.directory[target] @@ -262,11 +262,11 @@ message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]") log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]") - to_chat(C, span_pm(span_warning(span_huge("-- Administrator private message --")))) - to_chat(C, span_pm(span_warning("Admin PM from-[adminname]: [msg]"))) - to_chat(C, span_pm(span_warning("Click on the administrator's name to reply."))) + to_chat(C, span_admin_pm_warning(span_huge("-- Administrator private message --"))) + to_chat(C, span_admin_pm_warning("Admin PM from-[adminname]: [msg]")) + to_chat(C, span_admin_pm_warning("Click on the administrator's name to reply.")) - admin_ticket_log(C, span_pm(span_notice("PM From [irc_tagged]: [msg]"))) + admin_ticket_log(C, span_admin_pm_notice("PM From [irc_tagged]: [msg]")) window_flash(C) //always play non-admin recipients the adminhelp sound diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 38b1a885bc..e1e1c0245a 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -101,7 +101,7 @@ to_chat(M, "You hear a voice in your head... [msg]") log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - msg = span_pm(span_adminnotice(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]")) + msg = span_admin_pm_notice(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]") message_admins(msg) admin_ticket_log(M, msg) feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -149,7 +149,7 @@ to_chat(M, msg) log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]") - msg = span_pm(span_adminnotice(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
")) + msg = span_admin_pm_notice(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
") message_admins(msg) admin_ticket_log(M, msg) feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/mentor/mentor.dm b/code/modules/mentor/mentor.dm index 60cb7da532..66b9597395 100644 --- a/code/modules/mentor/mentor.dm +++ b/code/modules/mentor/mentor.dm @@ -46,7 +46,7 @@ var/list/mentor_verbs_default = list( set category = "Special Verbs" set name = "Make Mentor" if(!holder) - to_chat(src, span_pm(span_warning("Error: Only administrators may use this command."))) + to_chat(src, span_admin_pm_warning("Error: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T in GLOB.clients) @@ -56,12 +56,12 @@ var/list/mentor_verbs_default = list( return var/client/C = targets[target] if(has_mentor_powers(C) || C.deadmin_holder) // If an admin is deadminned you could mentor them and that will cause fuckery if they readmin - to_chat(src, span_pm(span_warning("Error: They already have mentor powers."))) + to_chat(src, span_admin_pm_warning("Error: They already have mentor powers.")) return var/datum/mentor/M = new /datum/mentor(C.ckey) M.associate(C) - to_chat(C, span_pm(span_notice("You have been granted mentorship."))) - to_chat(src, span_pm(span_notice("You have made [C] a mentor."))) + to_chat(C, span_admin_pm_notice("You have been granted mentorship.")) + to_chat(src, span_admin_pm_notice("You have made [C] a mentor.")) log_admin("[key_name(src)] made [key_name(C)] a mentor.") feedback_add_details("admin_verb","Make Mentor") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -69,7 +69,7 @@ var/list/mentor_verbs_default = list( set category = "Special Verbs" set name = "Unmake Mentor" if(!holder) - to_chat(src, span_pm(span_warning("Error: Only administrators may use this command."))) + to_chat(src, span_admin_pm_warning("Error: Only administrators may use this command.")) return var/list/client/targets[0] for(var/client/T in GLOB.mentors) @@ -79,8 +79,8 @@ var/list/mentor_verbs_default = list( return var/client/C = targets[target] C.mentorholder.disassociate() - to_chat(C, span_pm(span_warning("Your mentorship has been revoked."))) - to_chat(src, span_pm(span_notice("You have revoked [C]'s mentorship."))) + to_chat(C, span_admin_pm_warning("Your mentorship has been revoked.")) + to_chat(src, span_admin_pm_notice("You have revoked [C]'s mentorship.")) log_admin("[key_name(src)] revoked [key_name(C)]'s mentorship.") feedback_add_details("admin_verb","Unmake Mentor") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -134,7 +134,7 @@ var/list/mentor_verbs_default = list( /client/proc/cmd_mhelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Mentor-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_admin_pm_warning("Error: Mentor-PM: You are unable to use admin PM-s (muted).")) return var/client/C if(istext(whom)) @@ -143,7 +143,7 @@ var/list/mentor_verbs_default = list( C = whom if(!C) if(has_mentor_powers(src)) - to_chat(src, span_pm(span_warning("Error: Mentor-PM: Client not found."))) + to_chat(src, span_admin_pm_warning("Error: Mentor-PM: Client not found.")) return var/datum/mentor_help/MH = C.current_mentorhelp @@ -185,13 +185,13 @@ var/list/mentor_verbs_default = list( set hidden = 1 if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Mentor-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_mentor_pm_warning("Error: Mentor-PM: You are unable to use mentor PM-s (muted).")) return //Not a mentor and no open ticket if(!has_mentor_powers(src) && !current_mentorhelp) - to_chat(src, span_pm(span_warning("You can no longer reply to this ticket, please open another one by using the Mentorhelp verb if need be."))) - to_chat(src, span_pm(span_notice("Message: [msg]"))) + to_chat(src, span_mentor_pm_warning("You can no longer reply to this ticket, please open another one by using the Mentorhelp verb if need be.")) + to_chat(src, span_mentor_pm_notice("Message: [msg]")) return var/client/recipient @@ -210,12 +210,12 @@ var/list/mentor_verbs_default = list( return if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, span_pm(span_warning("Error: Mentor-PM: You are unable to use admin PM-s (muted)."))) + to_chat(src, span_mentor_pm_warning("Error: Mentor-PM: You are unable to use mentor PM-s (muted).")) return if(!recipient) if(has_mentor_powers(src)) - to_chat(src, span_pm(span_warning("Error:Mentor-PM: Client not found."))) + to_chat(src, span_mentor_pm_warning("Error:Mentor-PM: Client not found.")) to_chat(src, msg) else log_admin("Mentorhelp: [key_name(src)]: [msg]") @@ -224,8 +224,8 @@ var/list/mentor_verbs_default = list( //Has mentor powers but the recipient no longer has an open ticket if(has_mentor_powers(src) && !recipient.current_mentorhelp) - to_chat(src, span_pm(span_warning("You can no longer reply to this ticket."))) - to_chat(src, span_pm(span_notice("Message: [msg]"))) + to_chat(src, span_mentor_pm_warning("You can no longer reply to this ticket.")) + to_chat(src, span_mentor_pm_notice("Message: [msg]")) return if (src.handle_spam_prevention(msg,MUTE_ADMINHELP)) @@ -235,7 +235,7 @@ var/list/mentor_verbs_default = list( if(!msg) return - var/interaction_message = span_pm(span_notice("Mentor-PM from-[src] to-[recipient]: [msg]")) + var/interaction_message = span_mentor_pm_notice("Mentor-PM from-[src] to-[recipient]: [msg]") if (recipient.current_mentorhelp && !has_mentor_powers(recipient)) recipient.current_mentorhelp.AddInteraction(interaction_message) diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm index c29c35413e..7bf6ef57db 100644 --- a/code/modules/mentor/mentorhelp.dm +++ b/code/modules/mentor/mentorhelp.dm @@ -353,7 +353,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) if(tgui_alert(usr, "Really escalate this ticket to admins? No mentors will ever be able to interact with it again if you do.","Escalate",list("Yes","No")) != "Yes") return if (src.initiator == null) // You can't escalate a mentorhelp of someone who's logged out because it won't create the adminhelp properly - to_chat(usr, span_pm(span_warning("Error: client not found, unable to escalate."))) + to_chat(usr, span_mentor_pm_warning("Error: client not found, unable to escalate.")) return var/datum/admin_help/AH = new /datum/admin_help(src.name, src.initiator, FALSE) message_mentors("[usr.ckey] escalated Ticket [TicketHref("#[id]")]") @@ -462,7 +462,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) if(current_mentorhelp) log_admin("Mentorhelp: [key_name(src)]: [msg]") current_mentorhelp.MessageNoRecipient(msg) - to_chat(usr, span_adminnotice(span_mentor("Mentor-PM to-Mentors: [msg]"))) + to_chat(usr, span_mentor_pm_notice("Mentor-PM to-Mentors: [msg]")) return else to_chat(usr, span_warning("Ticket not found, creating new one...")) diff --git a/tgui/packages/tgui-panel/chat/constants.ts b/tgui/packages/tgui-panel/chat/constants.ts index 99469de03c..60c1d91cfe 100644 --- a/tgui/packages/tgui-panel/chat/constants.ts +++ b/tgui/packages/tgui-panel/chat/constants.ts @@ -113,14 +113,14 @@ export const MESSAGE_TYPES = [ name: 'Info', description: 'Non-urgent messages from the game and items', selector: - '.notice:not(.pm), .adminnotice:not(.pm), .info, .sinister, .cult, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice', + '.notice:not(.pm):not(.mentor), .adminnotice:not(.pm), .info, .sinister, .cult, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice', }, { type: MESSAGE_TYPE_WARNING, name: 'Warnings', description: 'Urgent messages from the game and items', selector: - '.warning:not(.pm), .critical, .userdanger, .italics, .alertsyndie, .warningplain', + '.warning:not(.pm):not(.mentor), .critical, .userdanger, .alertsyndie, .warningplain', }, { type: MESSAGE_TYPE_DEADCHAT,