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,