20 lines
753 B
Plaintext
20 lines
753 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
|
|
return ..()
|
|
|
|
/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 |