mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 14:00:18 +01:00
Wearing Shaper gear removes Hive name and color from Hivenet. (#22311)
Mechanically representing its pre-existing lore and description. Mechanical description added on the item too. <img width="416" height="97" alt="image" src="https://github.com/user-attachments/assets/e70da937-30ab-42f3-bf85-5a8da5accddf" /> NEW: Shaper Helmet now also removes Hive name when physically speaking. <img width="330" height="65" alt="image" src="https://github.com/user-attachments/assets/a56af02c-0494-4589-bf15-4d59f6d0767e" /> NEWER: Helmet affects visible name and messages. It ignores worn ID for obvious reasons, but some Shapers may hide their ID while talking to other Vaurcae. <img width="533" height="225" alt="image" src="https://github.com/user-attachments/assets/da85914d-52bc-4036-9616-66e479794fa3" /> Full Preimminent Shapers should wear robes and helmet with TTS accent to be as anonymized as possible. Parts of your carapace that peek through can be easily hidden as well. NEWEST: Robes and helmet functionality have been swapped, as it makes more sense for the robes that cover you up to remove from physical messages.
This commit is contained in:
@@ -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 = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message(message, get_spoken_verb(message), speaker_mask)]</span></i>"
|
||||
var/encrypted_msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message("!a surge of encrypted data", get_spoken_verb(message), speaker_mask)]</span></i>"
|
||||
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message(message, get_spoken_verb(message), speaker_mask, speaker)]</span></i>"
|
||||
var/encrypted_msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span>[format_message("!a surge of encrypted data", get_spoken_verb(message), speaker_mask, speaker)]</span></i>"
|
||||
|
||||
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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user