[MIRROR] fixes and filters (#7452)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Selis <selis@xynolabs.com>
This commit is contained in:
CHOMPStation2
2023-12-20 16:50:10 -07:00
committed by GitHub
parent 9aaa4ae204
commit b011e089d0
19 changed files with 269 additions and 248 deletions

View File

@@ -10,6 +10,7 @@
#define MESSAGE_TYPE_SYSTEM "system" #define MESSAGE_TYPE_SYSTEM "system"
#define MESSAGE_TYPE_LOCALCHAT "localchat" #define MESSAGE_TYPE_LOCALCHAT "localchat"
#define MESSAGE_TYPE_NPCEMOTE "npcemote"
#define MESSAGE_TYPE_PLOCALCHAT "plocalchat" #define MESSAGE_TYPE_PLOCALCHAT "plocalchat"
#define MESSAGE_TYPE_RADIO "radio" #define MESSAGE_TYPE_RADIO "radio"
#define MESSAGE_TYPE_NIF "nif" #define MESSAGE_TYPE_NIF "nif"
@@ -22,6 +23,7 @@
#define MESSAGE_TYPE_ADMINPM "adminpm" #define MESSAGE_TYPE_ADMINPM "adminpm"
#define MESSAGE_TYPE_MENTORPM "mentorpm" #define MESSAGE_TYPE_MENTORPM "mentorpm"
#define MESSAGE_TYPE_COMBAT "combat" #define MESSAGE_TYPE_COMBAT "combat"
#define MESSAGE_TYPE_CHATPRINT "chatexport"
#define MESSAGE_TYPE_ADMINCHAT "adminchat" #define MESSAGE_TYPE_ADMINCHAT "adminchat"
#define MESSAGE_TYPE_PRAYER "prayer" #define MESSAGE_TYPE_PRAYER "prayer"
#define MESSAGE_TYPE_MODCHAT "modchat" #define MESSAGE_TYPE_MODCHAT "modchat"

View File

@@ -1,2 +1,4 @@
//These are a bunch of regex datums for use /((any|every|no|some|head|foot)where(wolf)?\sand\s)+(\.[\.\s]+\s?where\?)?/i //These are a bunch of regex datums for use /((any|every|no|some|head|foot)where(wolf)?\sand\s)+(\.[\.\s]+\s?where\?)?/i
GLOBAL_DATUM_INIT(is_http_protocol, /regex, regex("^https?://")) GLOBAL_DATUM_INIT(is_http_protocol, /regex, regex("^https?://"))
GLOBAL_DATUM_INIT(is_valid_url, /regex, regex("((?:https://.)\[-a-zA-Z0-9@:%._+~#=]{2,256}.\[a-z]{2,6}\\b(?:\[-a-zA-Z0-9@:%_+.~#?&//=]*))", "gm"))

View File

@@ -220,12 +220,16 @@
if(new_metadata && CanUseTopic(user)) if(new_metadata && CanUseTopic(user))
pref.metadata = new_metadata pref.metadata = new_metadata
else if(href_list["edit_ooc_note_likes"]) else if(href_list["edit_ooc_note_likes"])
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel!", "Game Preference" , html_decode(pref.metadata_likes), multiline = TRUE, prevent_enter = TRUE)) var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.metadata_likes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user)) if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""
pref.metadata_likes = new_metadata pref.metadata_likes = new_metadata
else if(href_list["edit_ooc_note_dislikes"]) else if(href_list["edit_ooc_note_dislikes"])
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel!", "Game Preference" , html_decode(pref.metadata_dislikes), multiline = TRUE, prevent_enter = TRUE)) var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.metadata_dislikes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user)) if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""
pref.metadata_dislikes = new_metadata pref.metadata_dislikes = new_metadata
return ..() return ..()

View File

@@ -63,6 +63,8 @@
if(holder.rights & R_ADMIN && holder.rights & R_BAN) //Admins if(holder.rights & R_ADMIN && holder.rights & R_BAN) //Admins
ooc_style = "admin" ooc_style = "admin"
msg = GLOB.is_valid_url.Replace(msg,"<span class='linkify'>$1</span>")
for(var/client/target in GLOB.clients) for(var/client/target in GLOB.clients)
if(target.is_preference_enabled(/datum/client_preference/show_ooc)) if(target.is_preference_enabled(/datum/client_preference/show_ooc))
if(target.is_key_ignored(key)) // If we're ignored by this person, then do nothing. if(target.is_key_ignored(key)) // If we're ignored by this person, then do nothing.
@@ -169,6 +171,8 @@
if(!(admin in receivers) && admin.is_preference_enabled(/datum/client_preference/holder/show_rlooc)) if(!(admin in receivers) && admin.is_preference_enabled(/datum/client_preference/holder/show_rlooc))
r_receivers |= admin r_receivers |= admin
msg = GLOB.is_valid_url.Replace(msg,"<span class='linkify'>$1</span>")
// Send a message // Send a message
for(var/client/target in receivers) for(var/client/target in receivers)
var/admin_stuff = "" var/admin_stuff = ""

View File

@@ -112,7 +112,7 @@
var/list/results = A.examine(src) var/list/results = A.examine(src)
if(!results || !results.len) if(!results || !results.len)
results = list("You were unable to examine that. Tell a developer!") results = list("You were unable to examine that. Tell a developer!")
to_chat(src, "<span class='filter_notice'>[jointext(results, "<br>")]</span>") to_chat(src, "<span class='infoplain'>[jointext(results, "<br>")]</span>")
update_examine_panel(A) update_examine_panel(A)
/mob/proc/update_examine_panel(var/atom/A) /mob/proc/update_examine_panel(var/atom/A)

View File

@@ -401,8 +401,8 @@
if(R.fields["name"] == perpname) if(R.fields["name"] == perpname)
criminal = R.fields["criminal"] criminal = R.fields["criminal"]
msg += "<span class='deptradio'>Criminal status:</span> <a href='?src=\ref[src];criminal=1'>\[[criminal]\]</a>" msg += "Criminal status: <a href='?src=\ref[src];criminal=1'>\[[criminal]\]</a>"
msg += "<span class='deptradio'>Security records:</span> <a href='?src=\ref[src];secrecord=`'>\[View\]</a> <a href='?src=\ref[src];secrecordadd=`'>\[Add comment\]</a>" msg += "Security records: <a href='?src=\ref[src];secrecord=`'>\[View\]</a> <a href='?src=\ref[src];secrecordadd=`'>\[Add comment\]</a>"
if(hasHUD(user,"medical")) if(hasHUD(user,"medical"))
var/perpname = name var/perpname = name
@@ -420,11 +420,11 @@
if (R.fields["name"] == perpname) if (R.fields["name"] == perpname)
medical = R.fields["p_stat"] medical = R.fields["p_stat"]
msg += "<span class='deptradio'>Physical status:</span> <a href='?src=\ref[src];medical=1'>\[[medical]\]</a>" msg += "Physical status: <a href='?src=\ref[src];medical=1'>\[[medical]\]</a>"
msg += "<span class='deptradio'>Medical records:</span> <a href='?src=\ref[src];medrecord=`'>\[View\]</a> <a href='?src=\ref[src];medrecordadd=`'>\[Add comment\]</a>" msg += "Medical records: <a href='?src=\ref[src];medrecord=`'>\[View\]</a> <a href='?src=\ref[src];medrecordadd=`'>\[Add comment\]</a>"
if(hasHUD(user,"best")) if(hasHUD(user,"best"))
msg += "<span class='deptradio'>Employment records:</span> <a href='?src=\ref[src];emprecord=`'>\[View\]</a> <a href='?src=\ref[src];emprecordadd=`'>\[Add comment\]</a>" msg += "Employment records: <a href='?src=\ref[src];emprecord=`'>\[View\]</a> <a href='?src=\ref[src];emprecordadd=`'>\[Add comment\]</a>"
var/flavor_text = print_flavor_text() var/flavor_text = print_flavor_text()
@@ -433,11 +433,11 @@
// VOREStation Start // VOREStation Start
if(custom_link) if(custom_link)
msg += "Custom link: [custom_link]" msg += "Custom link: <span class='linkify'>[custom_link]</span>"
if(ooc_notes) if(ooc_notes)
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a> - <a href='?src=\ref[src];print_ooc_notes_to_chat=1'>\[Print\]</a>" msg += "OOC Notes: <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a> - <a href='?src=\ref[src];print_ooc_notes_to_chat=1'>\[Print\]</a>"
msg += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>" msg += "<a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a>"
// VOREStation End // VOREStation End
msg += "*---------*</span>" msg += "*---------*</span>"
if(applying_pressure) if(applying_pressure)

View File

@@ -54,7 +54,7 @@
if(usr != src) if(usr != src)
return return
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes_likes), multiline = TRUE, prevent_enter = TRUE)) var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your LIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes_likes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(usr)) if(CanUseTopic(usr))
ooc_notes_likes = new_metadata ooc_notes_likes = new_metadata
client.prefs.metadata_likes = new_metadata client.prefs.metadata_likes = new_metadata
to_chat(usr, "<span class='filter_notice'>OOC note likes have been updated. Don't forget to save!</span>") to_chat(usr, "<span class='filter_notice'>OOC note likes have been updated. Don't forget to save!</span>")
@@ -66,7 +66,7 @@
if(usr != src) if(usr != src)
return return
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes_dislikes), multiline = TRUE, prevent_enter = TRUE)) var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your DISLIKED roleplay preferences. This will not be saved permanently unless you click save in the OOC notes panel!", "Game Preference" , html_decode(ooc_notes_dislikes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(usr)) if(CanUseTopic(usr))
ooc_notes_dislikes = new_metadata ooc_notes_dislikes = new_metadata
client.prefs.metadata_dislikes = new_metadata client.prefs.metadata_dislikes = new_metadata
to_chat(usr, "<span class='filter_notice'>OOC note dislikes have been updated. Don't forget to save!</span>") to_chat(usr, "<span class='filter_notice'>OOC note dislikes have been updated. Don't forget to save!</span>")
@@ -91,7 +91,7 @@
msg += "<br><br><b>LIKES</b><br><br>[ooc_notes_likes]" msg += "<br><br><b>LIKES</b><br><br>[ooc_notes_likes]"
if(ooc_notes_dislikes) if(ooc_notes_dislikes)
msg += "<br><br><b>DISLIKES</b><br><br>[ooc_notes_dislikes]" msg += "<br><br><b>DISLIKES</b><br><br>[ooc_notes_dislikes]"
to_chat(usr, "<span class='filter_notice'>[src]'s Metainfo:<br>[msg]</span>") to_chat(usr, "<span class='chatexport'>[src]'s Metainfo:<br>[msg]</span>")
/mob/living/verb/set_custom_link() /mob/living/verb/set_custom_link()
set name = "Set Custom Link" set name = "Set Custom Link"

View File

@@ -381,7 +381,7 @@
db.ooc_notes_likes = M.ooc_notes_likes db.ooc_notes_likes = M.ooc_notes_likes
db.ooc_notes_dislikes = M.ooc_notes_dislikes db.ooc_notes_dislikes = M.ooc_notes_dislikes
db.prey_ooc_likes = M.ooc_notes_likes db.prey_ooc_likes = M.ooc_notes_likes
db.prey_ooc_likes = M.ooc_notes_dislikes db.prey_ooc_dislikes = M.ooc_notes_dislikes
db.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness db.verbs |= /mob/living/dominated_brain/proc/cease_this_foolishness
absorb_langs() absorb_langs()

View File

@@ -2085,7 +2085,7 @@
//absorb resists //absorb resists
if(escapable || owner.stat) //If the stomach has escapable enabled or the owner is dead/unconscious if(escapable || owner.stat) //If the stomach has escapable enabled or the owner is dead/unconscious
if(prob(escapechance) || owner.stat) //Let's have it check to see if the prey's escape attempt starts. if(prob(escapechance_absorbed) || owner.stat) //Let's have it check to see if the prey's escape attempt starts.
var/living_count = 0 var/living_count = 0

View File

@@ -1094,10 +1094,10 @@
/mob/living/examine(mob/user, infix, suffix) /mob/living/examine(mob/user, infix, suffix)
. = ..() . = ..()
if(custom_link) if(custom_link)
. += "Custom link: [custom_link]" . += "Custom link: <span class='linkify'>[custom_link]</span>"
if(ooc_notes) if(ooc_notes)
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a> - <a href='?src=\ref[src];print_ooc_notes_to_chat=1'>\[Print\]</a>" . += "OOC Notes: <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a> - <a href='?src=\ref[src];print_ooc_notes_to_chat=1'>\[Print\]</a>"
. += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>" . += "<a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a>"
/mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call /mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call
@@ -1197,127 +1197,126 @@
for(var/belly in vore_organs) for(var/belly in vore_organs)
if(isbelly(belly)) if(isbelly(belly))
var/obj/belly/B = belly var/obj/belly/B = belly
to_chat(src, "<span class='vnotice'><b>Belly name:</b> [B.name]</span>") to_chat(src, "<span class='chatexport'><b>Belly name:</b> [B.name]</span>")
to_chat(src, "<span class='vnotice'><b>Belly desc:</b> [B.desc]</span>") to_chat(src, "<span class='chatexport'><b>Belly desc:</b> [B.desc]</span>")
to_chat(src, "<span class='vnotice'><b>Belly absorbed desc:</b> [B.absorbed_desc]</span>") to_chat(src, "<span class='chatexport'><b>Belly absorbed desc:</b> [B.absorbed_desc]</span>")
to_chat(src, "<span class='vnotice'><b>Vore verb:</b> [B.vore_verb]</span>") to_chat(src, "<span class='chatexport'><b>Vore verb:</b> [B.vore_verb]</span>")
to_chat(src, "<span class='vnotice'><b>Struggle messages (outside):</b></span>") to_chat(src, "<span class='chatexport'><b>Struggle messages (outside):</b></span>")
for(var/msg in B.struggle_messages_outside) for(var/msg in B.struggle_messages_outside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Struggle messages (inside):</b></span>") to_chat(src, "<span class='chatexport'><b>Struggle messages (inside):</b></span>")
for(var/msg in B.struggle_messages_inside) for(var/msg in B.struggle_messages_inside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed struggle messages (outside):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed struggle messages (outside):</b></span>")
for(var/msg in B.absorbed_struggle_messages_outside) for(var/msg in B.absorbed_struggle_messages_outside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed struggle messages (inside):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed struggle messages (inside):</b></span>")
for(var/msg in B.absorbed_struggle_messages_inside) for(var/msg in B.absorbed_struggle_messages_inside)
to_chat(src, "<span class='Vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape attempt messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape attempt messages (owner):</b></span>")
for(var/msg in B.escape_attempt_messages_owner) for(var/msg in B.escape_attempt_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape attempt messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape attempt messages (prey):</b></span>")
for(var/msg in B.escape_attempt_messages_prey) for(var/msg in B.escape_attempt_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape messages (owner):</b></span>")
for(var/msg in B.escape_messages_owner) for(var/msg in B.escape_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape messages (prey):</b></span>")
for(var/msg in B.escape_messages_prey) for(var/msg in B.escape_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape messages (outside):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape messages (outside):</b></span>")
for(var/msg in B.escape_messages_outside) for(var/msg in B.escape_messages_outside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape item messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape item messages (owner):</b></span>")
for(var/msg in B.escape_item_messages_owner) for(var/msg in B.escape_item_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape item messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape item messages (prey):</b></span>")
for(var/msg in B.escape_item_messages_prey) for(var/msg in B.escape_item_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape item messages (outside):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape item messages (outside):</b></span>")
for(var/msg in B.escape_item_messages_outside) for(var/msg in B.escape_item_messages_outside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape fail messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape fail messages (owner):</b></span>")
for(var/msg in B.escape_fail_messages_owner) for(var/msg in B.escape_fail_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Escape fail messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Escape fail messages (prey):</b></span>")
for(var/msg in B.escape_fail_messages_prey) for(var/msg in B.escape_fail_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape attempt messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape attempt messages (owner):</b></span>")
for(var/msg in B.escape_attempt_absorbed_messages_owner) for(var/msg in B.escape_attempt_absorbed_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape attempt messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape attempt messages (prey):</b></span>")
for(var/msg in B.escape_attempt_absorbed_messages_prey) for(var/msg in B.escape_attempt_absorbed_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape messages (owner):</b></span>")
for(var/msg in B.escape_absorbed_messages_owner) for(var/msg in B.escape_absorbed_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape messages (prey):</b></span>")
for(var/msg in B.escape_absorbed_messages_prey) for(var/msg in B.escape_absorbed_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape messages (outside):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape messages (outside):</b></span>")
for(var/msg in B.escape_absorbed_messages_outside) for(var/msg in B.escape_absorbed_messages_outside)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape fail messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape fail messages (owner):</b></span>")
for(var/msg in B.escape_fail_absorbed_messages_owner) for(var/msg in B.escape_fail_absorbed_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorbed escape fail messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorbed escape fail messages (prey):</b></span>")
for(var/msg in B.escape_fail_absorbed_messages_prey) for(var/msg in B.escape_fail_absorbed_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Primary transfer messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Primary transfer messages (owner):</b></span>")
for(var/msg in B.primary_transfer_messages_owner) for(var/msg in B.primary_transfer_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Primary transfer messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Primary transfer messages (prey):</b></span>")
for(var/msg in B.primary_transfer_messages_prey) for(var/msg in B.primary_transfer_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Secondary transfer messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Secondary transfer messages (owner):</b></span>")
for(var/msg in B.secondary_transfer_messages_owner) for(var/msg in B.secondary_transfer_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Secondary transfer messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Secondary transfer messages (prey):</b></span>")
for(var/msg in B.secondary_transfer_messages_prey) for(var/msg in B.secondary_transfer_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Digest chance messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Digest chance messages (owner):</b></span>")
for(var/msg in B.digest_chance_messages_owner) for(var/msg in B.digest_chance_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Digest chance messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Digest chance messages (prey):</b></span>")
for(var/msg in B.digest_chance_messages_prey) for(var/msg in B.digest_chance_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorb chance messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorb chance messages (owner):</b></span>")
for(var/msg in B.absorb_chance_messages_owner) for(var/msg in B.absorb_chance_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorb chance messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorb chance messages (prey):</b></span>")
for(var/msg in B.absorb_chance_messages_prey) for(var/msg in B.absorb_chance_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Digest messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Digest messages (owner):</b></span>")
for(var/msg in B.digest_messages_owner) for(var/msg in B.digest_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Digest messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Digest messages (prey):</b></span>")
for(var/msg in B.digest_messages_prey) for(var/msg in B.digest_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorb messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorb messages (owner):</b></span>")
for(var/msg in B.absorb_messages_owner) for(var/msg in B.absorb_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Absorb messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Absorb messages (prey):</b></span>")
for(var/msg in B.absorb_messages_prey) for(var/msg in B.absorb_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Unabsorb messages (owner):</b></span>") to_chat(src, "<span class='chatexport'><b>Unabsorb messages (owner):</b></span>")
for(var/msg in B.unabsorb_messages_owner) for(var/msg in B.unabsorb_messages_owner)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Unabsorb messages (prey):</b></span>") to_chat(src, "<span class='chatexport'><b>Unabsorb messages (prey):</b></span>")
for(var/msg in B.unabsorb_messages_prey) for(var/msg in B.unabsorb_messages_prey)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Examine messages (when full):</b></span>") to_chat(src, "<span class='chatexport'><b>Examine messages (when full):</b></span>")
for(var/msg in B.examine_messages) for(var/msg in B.examine_messages)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Examine messages (with absorbed victims):</b></span>") to_chat(src, "<span class='chatexport'><b>Examine messages (with absorbed victims):</b></span>")
for(var/msg in B.examine_messages_absorbed) for(var/msg in B.examine_messages_absorbed)
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
to_chat(src, "<span class='vnotice'><b>Emote lists:</b></span>") to_chat(src, "<span class='chatexport'><b>Emote lists:</b></span>")
for(var/EL in B.emote_lists) for(var/EL in B.emote_lists)
to_chat(src, "<span class='vnotice'><b>[EL]:</b></span>") to_chat(src, "<span class='chatexport'><b>[EL]:</b></span>")
for(var/msg in B.emote_lists[EL]) for(var/msg in B.emote_lists[EL])
to_chat(src, "<span class='vnotice'>[msg]</span>") to_chat(src, "<span class='chatexport'>[msg]</span>")
//CHOMPEdit End
/** /**
* Small helper component to manage the vore panel HUD icon * Small helper component to manage the vore panel HUD icon

View File

@@ -36,6 +36,7 @@ export const MESSAGE_TYPE_LOOC = 'looc';
export const MESSAGE_TYPE_ADMINPM = 'adminpm'; export const MESSAGE_TYPE_ADMINPM = 'adminpm';
export const MESSAGE_TYPE_MENTORPM = 'mentorpm'; export const MESSAGE_TYPE_MENTORPM = 'mentorpm';
export const MESSAGE_TYPE_COMBAT = 'combat'; export const MESSAGE_TYPE_COMBAT = 'combat';
export const MESSAGE_TYPE_CHATPRINT = 'chatprint';
export const MESSAGE_TYPE_ADMINCHAT = 'adminchat'; export const MESSAGE_TYPE_ADMINCHAT = 'adminchat';
export const MESSAGE_TYPE_MODCHAT = 'modchat'; export const MESSAGE_TYPE_MODCHAT = 'modchat';
export const MESSAGE_TYPE_RLOOC = 'rlooc'; export const MESSAGE_TYPE_RLOOC = 'rlooc';
@@ -144,6 +145,12 @@ export const MESSAGE_TYPES = [
description: 'Urist McTraitor has stabbed you with a knife!', description: 'Urist McTraitor has stabbed you with a knife!',
selector: '.danger', selector: '.danger',
}, },
{
type: MESSAGE_TYPE_CHATPRINT,
name: 'Chat prints',
description: 'Chat outputs of ooc notes or vorebelly exports',
selector: '.chatexport',
},
{ {
type: MESSAGE_TYPE_UNKNOWN, type: MESSAGE_TYPE_UNKNOWN,
name: 'Unsorted', name: 'Unsorted',

View File

@@ -469,12 +469,12 @@ class ChatRenderer {
if (!message.avoidHighlighting && this.highlightParsers) { if (!message.avoidHighlighting && this.highlightParsers) {
this.highlightParsers.map((parser) => { this.highlightParsers.map((parser) => {
if ( if (
!(
parser.highlightBlacklist && parser.highlightBlacklist &&
parser.blacklistregex && parser.blacklistregex &&
parser.blacklistregex.test(node.textContent) parser.blacklistregex.test(node.textContent)
)
) { ) {
return;
}
const highlighted = highlightNode( const highlighted = highlightNode(
node, node,
parser.highlightRegex, parser.highlightRegex,
@@ -484,6 +484,7 @@ class ChatRenderer {
if (highlighted && parser.highlightWholeMessage) { if (highlighted && parser.highlightWholeMessage) {
node.className += ' ChatMessage--highlighted'; node.className += ' ChatMessage--highlighted';
} }
}
}); });
} }
// Linkify text // Linkify text

View File

@@ -157,9 +157,7 @@ export const settingsReducer = (state = initialState, action) => {
// Transfer this data from the default highlight setting // Transfer this data from the default highlight setting
// so they carry over to other servers // so they carry over to other servers
if (id === defaultHighlightSetting.id) { if (id === defaultHighlightSetting.id) {
if (settings.highlightText) {
nextState.highlightText = settings.highlightText; nextState.highlightText = settings.highlightText;
}
if (settings.highlightColor) { if (settings.highlightColor) {
nextState.highlightColor = settings.highlightColor; nextState.highlightColor = settings.highlightColor;
} }

View File

@@ -372,7 +372,8 @@ img.icon.bigicon {
.npcemote, .npcemote,
.infoplain, .infoplain,
.oocplain, .oocplain,
.warningplain { .warningplain,
.chatexport {
} }
.nif { .nif {

View File

@@ -390,7 +390,8 @@ img.icon.bigicon {
.npcemote, .npcemote,
.infoplain, .infoplain,
.oocplain, .oocplain,
.warningplain { .warningplain,
.chatexport {
} }
.nif { .nif {

View File

@@ -372,7 +372,8 @@ img.icon.bigicon {
.npcemote, .npcemote,
.infoplain, .infoplain,
.oocplain, .oocplain,
.warningplain { .warningplain,
.chatexport {
color: #ffffff; color: #ffffff;
} }

View File

@@ -390,7 +390,8 @@ img.icon.bigicon {
.npcemote, .npcemote,
.infoplain, .infoplain,
.oocplain, .oocplain,
.warningplain { .warningplain,
.chatexport {
color: #ffffff; color: #ffffff;
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long