From 62d078bbbf2f0a68c515a593ffd31799792ce463 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Fri, 21 Oct 2022 23:26:49 +0100 Subject: [PATCH] Mutual Intelligibility Lore Pass --- code/modules/mob/language/generic.dm | 9 +++++---- code/modules/mob/language/language.dm | 4 ++-- code/modules/mob/language/station.dm | 9 ++++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/language/generic.dm b/code/modules/mob/language/generic.dm index 06af0567e6..ede011c828 100644 --- a/code/modules/mob/language/generic.dm +++ b/code/modules/mob/language/generic.dm @@ -26,7 +26,7 @@ syllables = list( "vol", "zum", "coo","zoo","bi","do","ooz","ite","og","re","si","ite","ish", "ar","at","on","ee","east","ma","da", "rim") - partial_understanding = list(LANGUAGE_SKRELLIAN = 30, LANGUAGE_SOL_COMMON = 30, LANGUAGE_SIVIAN = 40) + partial_understanding = list(LANGUAGE_SOL_COMMON = 70, LANGUAGE_TRADEBAND = 40, LANGUAGE_TERMINUS = 30, LANGUAGE_GUTTER = 20, LANGUAGE_SIVIAN = 30, LANGUAGE_SKRELLIAN = 30, LANGUAGE_SKRELLIANFAR = 15, LANGUAGE_SCHECHI = 5, LANGUAGE_UNATHI = 5, LANGUAGE_SIIK = 5) //TODO flag certain languages to use the mob-type specific say_quote and then get rid of these. /datum/language/common/get_spoken_verb(var/msg_end) @@ -44,6 +44,7 @@ speech_verb = "enunciates" colour = "say_quote" key = "2" + partial_understanding = list(LANGUAGE_GALCOM = 40, LANGUAGE_SOL_COMMON = 20, LANGUAGE_TERMINUS = 40, LANGUAGE_GUTTER = 10, LANGUAGE_SIVIAN = 10, LANGUAGE_SKRELLIAN = 40, LANGUAGE_SKRELLIANFAR = 15) syllables = list( "fea","vea","vei","veh","vee","feh","fa","soa","su","sua","sou","se","seh","twa","twe","twi", "ahm","lea","lee","nae","nah","pa","pau","fae","fai","soh","mou","ahe","ll","ea","ai","thi", @@ -59,7 +60,7 @@ colour = "terminus" key = "4" flags = WHITELISTED - partial_understanding = list(LANGUAGE_SOL_COMMON = 20) + partial_understanding = list(LANGUAGE_GALCOM = 30, LANGUAGE_SOL_COMMON = 20, LANGUAGE_TRADEBAND = 40, LANGUAGE_GUTTER = 20, LANGUAGE_SIVIAN = 15, LANGUAGE_SKRELLIAN = 15) syllables = list (".a", "spa", "pan", "blaif", "stra", "!u", "!ei", "!am", "by", ".y", "gry", "zbly", "!y", "fl", "sm", "rn", "cpi", "ku", "koi", "pr", "glau", "stu", "ved", "ki", "tsa", "xau", "jbu", "sny", "stro", "nu", "uan", "ju", "!i", "ge", "luk", "an", "ar", "at", "es", "et", "bel", "ki", "jaa", "ch", "ki", "gh", "ll", "uu", "wat") @@ -72,7 +73,7 @@ colour = "rough" key = "3" space_chance = 45 - partial_understanding = list(LANGUAGE_GALCOM = 10, LANGUAGE_TRADEBAND = 20, LANGUAGE_SOL_COMMON = 20) + partial_understanding = list(LANGUAGE_GALCOM = 20, LANGUAGE_SOL_COMMON = 20, LANGUAGE_TRADEBAND = 10, LANGUAGE_TERMINUS = 20, LANGUAGE_SIVIAN = 15, LANGUAGE_SKRELLIAN = 15, LANGUAGE_SIIK = 10) syllables = list ( "gra","ba","ba","breh","bra","rah","dur","ra","ro","gro","go","ber","bar","geh","heh", "gra", "a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian", "biao", @@ -133,7 +134,7 @@ whisper_verb = "whispers" colour = "sivian" key = "7" - partial_understanding = list(LANGUAGE_SOL_COMMON = 20, LANGUAGE_GALCOM = 40) + partial_understanding = list(LANGUAGE_GALCOM = 30, LANGUAGE_SOL_COMMON = 40, LANGUAGE_TRADEBAND = 10, LANGUAGE_TERMINUS = 15, LANGUAGE_GUTTER = 15, LANGUAGE_SKRELLIAN = 5) space_chance = 45 syllables = list ( "all", "are", "det", "enn", "ere", "hen", "kan", "lig", "men", "ren", "som", "ver", "vir", "var", "vis", "ikk", "ter", "ork", diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index cf372545e7..b4696d81d0 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -19,7 +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/machine_understands = 1 // Whether machines can parse and understand this language - var/list/partial_understanding // List of languages that can /somehwat/ understand it, format is: name = chance of understanding a word + var/list/partial_understanding // List of languages that can /somewhat/ understand it, format is: name = chance of understanding a word /datum/language/proc/get_random_name(var/gender, name_count=2, syllable_count=4, syllable_divisor=2) if(!syllables || !syllables.len) @@ -235,7 +235,7 @@ //TBD /mob/proc/check_lang_data() . = "" - + for(var/datum/language/L in languages) if(!(L.flags & NONGLOBAL)) . += "[L.name] ([get_language_prefix()][L.key])
[L.desc]

" diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index c1446814ca..8a76a9b2b5 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -32,6 +32,7 @@ key = "o" flags = WHITELISTED space_chance = 40 + partial_understanding = list(LANGUAGE_ZADDAT = 15, LANGUAGE_GALCOM = 5) syllables = list( "za", "az", "ze", "ez", "zi", "iz", "zo", "oz", "zu", "uz", "zs", "sz", "ha", "ah", "he", "eh", "hi", "ih", "ho", "oh", "hu", "uh", "hs", "sh", @@ -58,6 +59,7 @@ colour = "tajaran" key = "j" flags = WHITELISTED + partial_understanding = list(LANGUAGE_GALCOM = 5, LANGUAGE_GUTTER = 10, LANGUAGE_AKHANI = 20) syllables = list("mrr","rr","tajr","kir","raj","kii","mir","kra","ahk","nal","vah","khaz","jri","ran","darr", "mi","jri","dynh","manq","rhe","zar","rrhaz","kal","chur","eech","thaa","dra","jurl","mah","sanu","dra","ii'r", "ka","aasi","far","wa","baq","ara","qara","zir","saam","mak","hrar","nja","rir","khan","jun","dar","rik","kah", @@ -80,6 +82,7 @@ colour = "akhani" key = "h" flags = WHITELISTED + partial_understanding = list(LANGUAGE_SIIK = 20) syllables = list("mrr","rr","marr","tar","ahk","ket","hal","kah","dra","nal","kra","vah","dar","hrar", "eh", "ara","ka","zar","mah","ner","zir","mur","hai","raz","ni","ri","nar","njar","jir","ri","ahn","kha","sir", "kar","yar","kzar","rha","hrar","err","fer","rir","rar","yarr","arr","ii'r","jar","kur","ran","rii","ii", @@ -122,6 +125,7 @@ key = "k" space_chance = 30 flags = WHITELISTED + partial_understanding = list(LANGUAGE_GALCOM = 20, LANGUAGE_SOL_COMMON = 5, LANGUAGE_TRADEBAND = 40, LANGUAGE_TERMINUS = 15, LANGUAGE_GUTTER = 15, LANGUAGE_SIVIAN = 5, LANGUAGE_SKRELLIANFAR = 75, LANGUAGE_SCHECHI = 15) syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix") /datum/language/skrellfar @@ -135,6 +139,7 @@ key = "p" space_chance = 30 flags = WHITELISTED + partial_understanding = list(LANGUAGE_GALCOM = 15, LANGUAGE_TRADEBAND = 15, LANGUAGE_SKRELLIAN = 90) syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix", "...", "oo", "q", "nq", "x", "xq", "ll", "...", "...", "...") //should sound like there's holes in it /datum/language/skrell/get_random_name(var/gender) @@ -150,7 +155,7 @@ colour = "solcom" key = "1" flags = WHITELISTED - partial_understanding = list(LANGUAGE_SIVIAN = 20) + partial_understanding = list(LANGUAGE_GALCOM = 70, LANGUAGE_TRADEBAND = 20, LANGUAGE_TERMINUS = 20, LANGUAGE_GUTTER = 20, LANGUAGE_SIVIAN = 40, LANGUAGE_SKRELLIAN = 5) //syllables are at the bottom of the file /datum/language/human/get_spoken_verb(var/msg_end) @@ -198,6 +203,7 @@ key = "v" flags = WHITELISTED space_chance = 50 + partial_understanding = list(LANGUAGE_GALCOM = 5, LANGUAGE_SKRELLIAN = 15) syllables = list( "ca", "ra", "ma", "sa", "na", "ta", "la", "sha", "scha", "a", "a", "ce", "re", "me", "se", "ne", "te", "le", "she", "sche", "e", "e", @@ -218,6 +224,7 @@ key = "z" flags = WHITELISTED space_chance = 20 + partial_understanding = list(LANGUAGE_UNATHI = 15) syllables = list("z", "dz", "i", "iv", "ti", "az", "hix", "xo", "av", "xo", "x", "za", "at", "vi") /datum/language/promethean