mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-06-29 17:24:40 +01:00
d8d1670b68
This reverts commit d54579850c.
Conflicts:
code/game/gamemodes/nuclear/nuclearbomb.dm
code/game/objects/items/devices/radio/intercom.dm
code/modules/mob/living/silicon/pai/pai.dm
40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
//TODO: Convert this over for languages.
|
|
/mob/living/carbon/brain/say(var/message)
|
|
if (silent)
|
|
return
|
|
|
|
if (stat == 2) // Dead.
|
|
return say_dead(message)
|
|
|
|
if(!(container && (istype(container, /obj/item/device/mmi) || istype(container, /obj/item/device/mmi/posibrain))))
|
|
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(speaking && speaking.flags & HIVEMIND)
|
|
speaking.broadcast(src,trim(message))
|
|
return
|
|
|
|
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)
|
|
..(trim(message), speaking, verb)
|