This is very similar to the Italian Moustache, but it's a beret. This will be part of a series of language items. Happy to entertain suggestions as to whether it should be a roundstart item or randomly scattered about maint/cargo crate restricted. In the spirit of atomizing PRs, this one will just be for the French Beret. Ready for merge.
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
/mob/living/carbon/treat_message(message)
|
|
for(var/datum/brain_trauma/trauma in get_traumas())
|
|
message = trauma.on_say(message)
|
|
message = ..(message)
|
|
var/obj/item/organ/tongue/T = getorganslot(ORGAN_SLOT_TONGUE)
|
|
if(!T) //hoooooouaah!
|
|
var/regex/tongueless_lower = new("\[gdntke]+", "g")
|
|
var/regex/tongueless_upper = new("\[GDNTKE]+", "g")
|
|
if(copytext(message, 1, 2) != "*")
|
|
message = tongueless_lower.Replace(message, pick("aa","oo","'"))
|
|
message = tongueless_upper.Replace(message, pick("AA","OO","'"))
|
|
else
|
|
message = T.TongueSpeech(message)
|
|
if(wear_mask)
|
|
message = wear_mask.speechModification(message)
|
|
if(head)
|
|
message = head.speechModification(message)
|
|
return message
|
|
|
|
/mob/living/carbon/can_speak_vocal(message)
|
|
if(silent)
|
|
return 0
|
|
return ..()
|
|
|
|
/mob/living/carbon/get_spans()
|
|
. = ..()
|
|
var/obj/item/organ/tongue/T = getorganslot(ORGAN_SLOT_TONGUE)
|
|
if(T)
|
|
. |= T.get_spans()
|
|
|
|
var/obj/item/I = get_active_held_item()
|
|
if(I)
|
|
. |= I.get_held_item_speechspans(src)
|
|
|
|
/mob/living/carbon/could_speak_in_language(datum/language/dt)
|
|
var/obj/item/organ/tongue/T = getorganslot(ORGAN_SLOT_TONGUE)
|
|
if(T)
|
|
. = T.could_speak_in_language(dt)
|
|
else
|
|
. = initial(dt.flags) & TONGUELESS_SPEECH
|
|
|
|
/mob/living/carbon/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode)
|
|
if(!client)
|
|
return
|
|
for(var/T in get_traumas())
|
|
var/datum/brain_trauma/trauma = T
|
|
message = trauma.on_hear(message, speaker, message_language, raw_message, radio_freq)
|
|
return ..() |