mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-29 03:22:12 +00:00
31 lines
1.0 KiB
Plaintext
31 lines
1.0 KiB
Plaintext
//TODO: Convert this over for languages.
|
|
/mob/living/carbon/brain/say(var/message)
|
|
if (silent)
|
|
return
|
|
|
|
if(!(container && istype(container, /obj/item/device/mmi)))
|
|
return //No MMI, can't speak, bucko./N
|
|
else
|
|
var/datum/language/speaking = parse_language(message)
|
|
if(speaking)
|
|
message = copytext(message, 2+length(speaking.key))
|
|
var/verb = "says"
|
|
var/ending = copytext(message, length(message))
|
|
if (speaking)
|
|
verb = speaking.get_spoken_verb(ending)
|
|
else
|
|
if(ending=="!")
|
|
verb=pick("exclaims","shouts","yells")
|
|
if(ending=="?")
|
|
verb="asks"
|
|
|
|
if(prob(emp_damage*4))
|
|
if(prob(10))//10% chane to drop the message entirely
|
|
return
|
|
else
|
|
message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher
|
|
if(istype(container, /obj/item/device/mmi/radio_enabled))
|
|
var/obj/item/device/mmi/radio_enabled/R = container
|
|
if(R.radio)
|
|
spawn(0) R.radio.hear_talk(src, trim(sanitize(message)), verb, speaking)
|
|
..() |