diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm index 5dd8890cb65..106673334d7 100644 --- a/code/_helpers/text.dm +++ b/code/_helpers/text.dm @@ -169,6 +169,11 @@ return output +/proc/sanitize_readd_odd_symbols(var/input) + input = replacetext(input, "'", "\'") + input = replacetext(input, """, "\"") + return input + #undef NO_CHARS_DETECTED #undef SPACES_DETECTED #undef SYMBOLS_DETECTED diff --git a/code/modules/acting/acting_items.dm b/code/modules/acting/acting_items.dm index 14c281c96e9..8ca5e1bffd5 100644 --- a/code/modules/acting/acting_items.dm +++ b/code/modules/acting/acting_items.dm @@ -28,7 +28,7 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user H.change_appearance(APPEARANCE_ALL, H, TRUE, H.generate_valid_species(), null, default_state, src) - var/getName = sanitize(input(H, "Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN) + var/getName = sanitizeName(sanitize_readd_odd_symbols(sanitize(input(H, "Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN))) if(getName) H.real_name = getName H.name = getName diff --git a/code/modules/goonchat/browserassets/css/browserOutput.css b/code/modules/goonchat/browserassets/css/browserOutput.css index e43096c05cb..ae7d19113cb 100644 --- a/code/modules/goonchat/browserassets/css/browserOutput.css +++ b/code/modules/goonchat/browserassets/css/browserOutput.css @@ -356,6 +356,10 @@ h1.alert, h2.alert {color: #a4bad6;} .tajaran_signlang {color: #cc2c2c;} .skrell {color: #00CED1;} .vaurca {color: #b9b943;} +.vaurca_zora {color: #c74444;} +.vaurca_cthur {color: #438eb9;} +.vaurca_klax {color: #43b97e;} +.vaurca_liidra {color: #af43b9;} .soghun {color: #2cad2c;} .solcom {color: #5f5fd4;} .elyran {color: #e2bb4e;} diff --git a/code/modules/goonchat/browserassets/css/browserOutput_white.css b/code/modules/goonchat/browserassets/css/browserOutput_white.css index 5b6f1f6775f..e2933fb6b1d 100644 --- a/code/modules/goonchat/browserassets/css/browserOutput_white.css +++ b/code/modules/goonchat/browserassets/css/browserOutput_white.css @@ -353,6 +353,10 @@ h1.alert, h2.alert {color: #000080;} .tajaran_signlang {color: #941C1C;} .skrell {color: #00CED1;} .vaurca {color: #9e9e39;} +.vaurca_zora {color: #9e3939;} +.vaurca_cthur {color: #39719e;} +.vaurca_klax {color: #399e4a;} +.vaurca_liidra {color: #b350b3;} .soghun {color: #228B22;} .solcom {color: #22228B;} .elyran {color: #c79322;} diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index ccfe8622661..df692d2cba1 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -223,9 +223,9 @@ log_say("[key_name(speaker)] : ([name]) [message]",ckey=key_name(speaker)) if(!speaker_mask) - speaker_mask = speaker.name + speaker_mask = speaker.real_name - var/msg = "[name], [speaker_mask][format_message(message, get_spoken_verb(message))]" + var/msg = "[name], [speaker_mask][format_message(message, get_spoken_verb(message), speaker_mask)]" if(isvaurca(speaker)) speaker.custom_emote(VISIBLE_MESSAGE, "[pick("twitches their antennae", "twitches their antennae rhythmically")].") @@ -240,6 +240,22 @@ if(istype(player,/mob/abstract/observer) || ((src in player.languages && !within_jamming_range(player)) || check_special_condition(player))) to_chat(player, msg) +/datum/language/bug/format_message(message, verb, speaker_mask) + var/message_color = colour + var/list/speaker_surname = splittext(speaker_mask, " ") + switch(speaker_surname[2]) + if("Zo'ra") + message_color = "vaurca_zora" + if("C'thur") + message_color = "vaurca_cthur" + if("K'lax") + message_color = "vaurca_klax" + if("Lii'dra") + message_color = "vaurca_liidra" + if(copytext(message, 1, 2) == "!") + return " projects [copytext(message, 2)]" + return "[verb], \"[capitalize(message)]\"" + /datum/language/bug/check_special_condition(var/mob/other) if(istype(other, /mob/living/silicon)) return 1 diff --git a/html/changelogs/geeves-vaurca_hivenet_tweaks.yml b/html/changelogs/geeves-vaurca_hivenet_tweaks.yml new file mode 100644 index 00000000000..a38e71ec431 --- /dev/null +++ b/html/changelogs/geeves-vaurca_hivenet_tweaks.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Vaurca hivenet speech is now color-coded based on hive. Additionally, prefixing your message with ! makes it display as an emote." + - bugfix: "Quickee's Plastic Surgeon stations now work properly with apostrophes in names."