Files
S.P.L.U.R.T-Station-13/code/modules/mob/living/carbon/say.dm
TyrianTyrell a889f41a86 Update say.dm
2021-02-14 11:41:29 -05:00

23 lines
858 B
Plaintext

/mob/living/carbon/proc/handle_tongueless_speech(mob/living/carbon/speaker, list/speech_args)
var/message = speech_args[SPEECH_MESSAGE]
var/static/regex/tongueless_lower = new("\[gdntke]+", "g")
var/static/regex/tongueless_upper = new("\[GDNTKE]+", "g")
if(message[1] != "*")
message = tongueless_lower.Replace(message, pick("aa","oo","'"))
message = tongueless_upper.Replace(message, pick("AA","OO","'"))
speech_args[SPEECH_MESSAGE] = message
/mob/living/carbon/can_speak_vocal(message)
if(silent)
return 0
if(get_selected_language() == /datum/language/signlanguage && handcuffed)
return 0
return ..()
/mob/living/carbon/could_speak_language(datum/language/language)
var/obj/item/organ/tongue/T = getorganslot(ORGAN_SLOT_TONGUE)
if(T)
return T.could_speak_language(language)
else
return initial(language.flags) & TONGUELESS_SPEECH