mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 12:29:23 +01:00
Fixes recorders translating mice and cult speak (#5955)
This fixes recorders being able to translate languages like cult, neither translate simple animals message, with some exceptions.
This commit is contained in:
@@ -29,10 +29,16 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/device/taperecorder/hear_talk(mob/living/M as mob, msg, var/verb="says", datum/language/speaking=null)
|
||||
if(isanimal(M))
|
||||
if(!M.universal_speak)
|
||||
return
|
||||
|
||||
if(recording)
|
||||
timestamp += timerecorded
|
||||
|
||||
if(speaking)
|
||||
if(!speaking.machine_understands)
|
||||
msg = speaking.scramble(msg)
|
||||
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [speaking.format_message_plain(msg, verb)]"
|
||||
else
|
||||
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [verb], \"[msg]\""
|
||||
|
||||
@@ -350,9 +350,15 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/integrated_circuit/input/microphone/hear_talk(mob/living/M, msg, var/verb="says", datum/language/speaking=null)
|
||||
if(isanimal(M))
|
||||
if(!M.universal_speak)
|
||||
return
|
||||
|
||||
var/translated = FALSE
|
||||
if(M && msg)
|
||||
if(speaking)
|
||||
if(!speaking.machine_understands)
|
||||
msg = speaking.scramble(msg)
|
||||
if(!istype(speaking, /datum/language/common))
|
||||
translated = TRUE
|
||||
set_pin_data(IC_OUTPUT, 1, M.GetVoice())
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
var/list/syllables // Used when scrambling text for a non-speaker.
|
||||
var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string
|
||||
var/list/partial_understanding // List of languages that can /somehwat/ understand it, format is: name = chance of understanding a word
|
||||
var/machine_understands = TRUE // Whether machines can parse and understand this language
|
||||
|
||||
/datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4, syllable_divisor=2)
|
||||
if(!syllables || !syllables.len)
|
||||
|
||||
@@ -5,21 +5,25 @@
|
||||
ask_verb = "chimpers"
|
||||
exclaim_verb = "screeches"
|
||||
key = "6"
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/skrell/monkey
|
||||
name = LANGUAGE_NEAERA
|
||||
desc = "Squik squik squik."
|
||||
key = "8"
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/unathi/monkey
|
||||
name = LANGUAGE_STOK
|
||||
desc = "Hiss hiss hiss."
|
||||
key = "7"
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/tajaran/monkey
|
||||
name = LANGUAGE_FARWA
|
||||
desc = "Meow meow meow."
|
||||
key = "^"
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/bug/monkey
|
||||
name = LANGUAGE_BUG
|
||||
@@ -31,3 +35,4 @@
|
||||
syllables = list("vaur","uyek","uyit","avek","sc'theth","k'ztak","teth","wre'ge","lii","dra'","zo'","ra'","k'lax'","zz","vh","ik","ak",
|
||||
"uhk","zir","sc'orth","sc'er","thc'yek","th'zirk","th'esk","k'ayek","ka'mil","sc'","ik'yir","yol","kig","k'zit","'","'","zrk","krg","isk'yet","na'k",
|
||||
"sc'azz","th'sc","nil","n'ahk","sc'yeth","aur'sk","iy'it","azzg","a'","i'","o'","u'","a","i","o","u","zz","kr","ak","nrk")
|
||||
machine_understands = FALSE
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
key = "z"
|
||||
flags = RESTRICTED
|
||||
syllables = list("sss","sSs","SSS")
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/xenos
|
||||
name = LANGUAGE_HIVEMIND
|
||||
@@ -79,6 +80,7 @@
|
||||
flags = WHITELISTED
|
||||
syllables = list("ti","ti","ti","hi","hi","ki","ki","ki","ki","ya","ta","ha","ka","ya","chi","cha","kah", \
|
||||
"SKRE","AHK","EHK","RAWK","KRA","AAA","EEE","KI","II","KRI","KA")
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/vox/get_random_name()
|
||||
return ..(FEMALE,1,6)
|
||||
@@ -100,6 +102,7 @@
|
||||
"sektath", "mal'zua", "zasan", "therium", "viortia", "kla'atu", "barada", "nikt'o", "fwe'sh", "mah", "erl", "nyag", "r'ya", \
|
||||
"gal'h'rfikk", "harfrandid", "mud'gib", "fuu", "ma'jin", "dedo", "ol'btoh", "n'ath", "reth", "sh'yro", "eth", \
|
||||
"d'rekkathnor", "khari'd", "gual'te", "nikka", "nikt'o", "barada", "kla'atu", "barhah", "hra" ,"zar'garis")
|
||||
machine_understands = FALSE
|
||||
|
||||
/datum/language/cultcommon/get_random_name()
|
||||
var/new_name = "[pick(list("Anguished", "Blasphemous", "Corrupt", "Cruel", "Depraved", "Despicable", "Disturbed", "Exacerbated", "Foul", "Hateful", "Inexorable", "Implacable", "Impure", "Malevolent", "Malignant", "Malicious", "Pained", "Profane", "Profligate", "Relentless", "Resentful", "Restless", "Spiteful", "Tormented", "Unclean", "Unforgiving", "Vengeful", "Vindictive", "Wicked", "Wronged"))]"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: Alberyk
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- tweak: "Recorders are no longer able to translate unknown languages, such as cult."
|
||||
Reference in New Issue
Block a user