diff --git a/code/game/objects/items/weapons/vaurca_items.dm b/code/game/objects/items/weapons/vaurca_items.dm index b780df78c64..ec84e6480fe 100644 --- a/code/game/objects/items/weapons/vaurca_items.dm +++ b/code/game/objects/items/weapons/vaurca_items.dm @@ -40,6 +40,10 @@ species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_BULWARK) body_parts_covered = HEAD|EYES +/obj/item/clothing/head/shaper/mechanics_hints(mob/user, distance, is_adjacent) + . += ..() + . += "Wearing this will remove your Hive name and color from Hivenet messages." + /obj/item/clothing/head/expression name = "human expression mask" desc = "A mask that allows emotively challenged aliens to convey facial expressions. This one depicts a human." diff --git a/code/modules/clothing/suits/xeno/vaurca.dm b/code/modules/clothing/suits/xeno/vaurca.dm index 56d96f44031..541ce983d0d 100644 --- a/code/modules/clothing/suits/xeno/vaurca.dm +++ b/code/modules/clothing/suits/xeno/vaurca.dm @@ -24,7 +24,7 @@ /obj/item/clothing/suit/vaurca/shaper name = "shaper robes" - desc = "Commonly worn by Preimmients, these robes are meant to catch pheromones, obfuscating hive affiliation." + desc = "Commonly worn by Preimminents, these robes are meant to catch pheromones, obfuscating hive affiliation." icon_state = "shaper_robes" item_state = "shaper_robes" sprite_sheets = list( @@ -32,6 +32,10 @@ ) species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_BULWARK) +/obj/item/clothing/suit/vaurca/shaper/mechanics_hints(mob/user, distance, is_adjacent) + . += ..() + . += "Wearing this will remove your Hive name from physical messages." + /obj/item/clothing/suit/vaurca/breeder name = "zo'ra representative clothes" desc = "A large piece of clothing used by Zo'ra representatives." diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index 00300830f23..117ff21a880 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -234,11 +234,16 @@ /datum/language/bug/broadcast(var/mob/living/speaker,var/message,var/speaker_mask) log_say("[key_name(speaker)] : ([name]) [message]") + var/mob/living/carbon/human/H = speaker //Check for Preimminent Shaper robes, which obscure Hive affiliation + var/obj/item/clothing/head/shaper/helmet = H.get_equipped_item(slot_head) if(!speaker_mask) speaker_mask = speaker.real_name + if(istype(helmet)) //Then remove their Hive name from Hivenet + var/list/speaker_surname = splittext(speaker_mask, " ") + speaker_mask = speaker_surname[1] - var/msg = "[name], [speaker_mask][format_message(message, get_spoken_verb(message), speaker_mask)]" - var/encrypted_msg = "[name], [speaker_mask][format_message("!a surge of encrypted data", get_spoken_verb(message), speaker_mask)]" + var/msg = "[name], [speaker_mask][format_message(message, get_spoken_verb(message), speaker_mask, speaker)]" + var/encrypted_msg = "[name], [speaker_mask][format_message("!a surge of encrypted data", get_spoken_verb(message), speaker_mask, speaker)]" if(isvaurca(speaker)) speaker.custom_emote(VISIBLE_MESSAGE, "[pick("twitches their antennae", "twitches their antennae rhythmically")].") @@ -281,7 +286,7 @@ continue to_chat(player, msg) -/datum/language/bug/format_message(message, verb, speaker_mask) +/datum/language/bug/format_message(message, verb, speaker_mask, speaker) var/message_color = colour var/list/speaker_surname = splittext(speaker_mask, " ") if(length(speaker_surname) > 1) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 653c183c179..6ca069b0800 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -485,6 +485,9 @@ return get_id_name("Unknown") if( head && (head.flags_inv&HIDEFACE) ) return get_id_name("Unknown") //Likewise for hats + if(istype(wear_suit, /obj/item/clothing/suit/vaurca/shaper)) //Check for Preimminent Shaper helmet which obscures Hive affiliation + var/list/hiveless_name = splittext(real_name, " ") //then remove Hive surname, ignore ID for obvious reason. + return hiveless_name[1] var/face_name = get_face_name() var/id_name = get_id_name("") if(id_name && (id_name != face_name)) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index e1b498498a6..759b6deed2a 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -87,6 +87,9 @@ voice_sub = changer.voice if(voice_sub) return voice_sub + if(istype(wear_suit, /obj/item/clothing/suit/vaurca/shaper)) //Check for Preimminent Shaper robes which obscures Hive affiliation + var/list/hiveless_name = splittext(real_name, " ") // then remove Hive surname when speaking + return hiveless_name[1] var/obj/item/organ/external/head/face = organs_by_name[BP_HEAD] if(face?.disfigured) // if your face is ruined, your ability to vocalize is also ruined return "Unknown" // above ling voice mimicing so they don't get caught out immediately diff --git a/html/changelogs/diggiez - DecoloredShaperHivenet.yml b/html/changelogs/diggiez - DecoloredShaperHivenet.yml new file mode 100644 index 00000000000..57fcac71106 --- /dev/null +++ b/html/changelogs/diggiez - DecoloredShaperHivenet.yml @@ -0,0 +1,13 @@ +author: diggiez + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Wearing Shaper robes now removes Hive name from physical messages. The helmet will remove Hive name from Hivenet messages." + - spellcheck: "Preimminent misspelling on the robe corrected."