From 91a404fca794c6f62bb2ec22fd2765a88c799a48 Mon Sep 17 00:00:00 2001 From: oranges Date: Tue, 20 Feb 2018 09:56:45 +1300 Subject: [PATCH 1/2] Merge pull request #35737 from coiax/better-italian Italian mustache respects capital letters more --- code/modules/clothing/masks/miscellaneous.dm | 67 +++++--------------- strings/word_replacement.json | 66 +++++++++++++++++++ 2 files changed, 82 insertions(+), 51 deletions(-) create mode 100644 strings/word_replacement.json diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index c0200d889c..53bd5f32a4 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -44,58 +44,23 @@ name = "italian moustache" desc = "Made from authentic Italian moustache hairs. Gives the wearer an irresistable urge to gesticulate wildly." -/obj/item/clothing/mask/fakemoustache/italian/speechModification(message) - if(copytext(message, 1, 2) != "*") - message = " [message] " - message = replacetext(message," mom "," mamma ") - message = replacetext(message," dad "," pappa ") - message = replacetext(message," baby ",pick(" bambino "," little sausage roll ")) - message = replacetext(message,"spicy","a-spicy") - message = replacetext(message,"I'm","I'm-a") - message = replacetext(message," friend "," enemy-a ") - message = replacetext(message," enemy "," friend-a ") - message = replacetext(message,"traitor","mafioso") - message = replacetext(message," operative "," greek ") - message = replacetext(message," op "," greek ") - message = replacetext(message," ops "," greeks") - message = replacetext(message," operative "," greek") - message = replacetext(message," operatives "," greeks") - message = replacetext(message," nuke"," spiciest-a meatball") - message = replacetext(message," good"," molto bene") - message = replacetext(message," why"," for-a what reason") - message = replacetext(message," my "," my-a ") - message = replacetext(message,"it's","it's-a") - message = replacetext(message," bad"," molto male") - message = replacetext(message," sing "," sing-a ") - message = replacetext(message," cook "," cook-a ") - message = replacetext(message," want "," want-a ") - message = replacetext(message," what's "," what's-a ") - message = replacetext(message," shitcurity"," carabinieri") - message = replacetext(message," shitsec"," carabinieri") - message = replacetext(message," and "," and-a ") - message = replacetext(message," am "," am-a ") - message = replacetext(message," assistant "," goombah ") - message = replacetext(message," greytide "," curvisti ") - message = replacetext(message," greytider "," curvisti ") - message = replacetext(message," captain "," capitano ") - message = replacetext(message," sec "," polizia ") - message = replacetext(message," security "," polizia ") - message = replacetext(message,"cheese",pick("parmesano","gorgonzola")) - message = replacetext(message," meat",pick(" pepperoni"," prosciutto")) - message = replacetext(message,"who's","who's-a") - message = replacetext(message,"hello",pick("ciao","buongiorno")) - message = replacetext(message," bye ",pick(" ciao "," arrivederci ")) - message = replacetext(message,"thing","thing-a") - message = replacetext(message,"whose","whose-a") - message = replacetext(message,"thanks","grazie") - message = replacetext(message," wine"," vino") - message = replacetext(message,"could","could-a") - message = replacetext(message," use"," use-a") - message = replacetext(message," make"," make-a") - message = replacetext(message,"spaghetti", "SPAGHETT") +/obj/item/clothing/mask/fakemoustache/italian/speechModification(M) + if(copytext(M, 1, 2) != "*") + M = " [M]" + var/list/italian_words = strings("word_replacement.json", "italian") + + for(var/key in italian_words) + var/value = italian_words[key] + if(islist(value)) + value = pick(value) + + M = replacetextEx(M, " [uppertext(key)]", " [uppertext(value)]") + M = replacetextEx(M, " [capitalize(key)]", " [capitalize(value)]") + M = replacetextEx(M, " [key]", " [value]") + if(prob(3)) - message += pick(" Ravioli, ravioli, give me the formuoli!"," Mamma-mia!"," Mamma-mia! That's a spicy meat-ball!", " La la la la la funiculi funicula!") - return trim(message) + M += pick(" Ravioli, ravioli, give me the formuoli!"," Mamma-mia!"," Mamma-mia! That's a spicy meat-ball!", " La la la la la funiculi funicula!") + return trim(M) /obj/item/clothing/mask/joy name = "joy mask" diff --git a/strings/word_replacement.json b/strings/word_replacement.json new file mode 100644 index 0000000000..9565ebe94a --- /dev/null +++ b/strings/word_replacement.json @@ -0,0 +1,66 @@ +{ + "italian": { + "I'm": "I'm-a", + "am": "am-a", + "and": "and-a", + "assistant": "goombah", + "assistants": "goombahs", + "baby": [ + "bambino", + "little sausage roll" + ], + "bad": "molto male", + "bye": [ + "ciao", + "arrivederci" + ], + "captain": "capitano", + "cheese": [ + "parmesano", + "gorgonzola" + ], + "cook": "cook-a", + "could": "could-a", + "dad": "pappa", + "enemy": "friend-a", + "friend": "enemy-a", + "good": "molto bene", + "greytide": "curvisti", + "greytider": "curvisti", + "greytiders": "curvisti", + "hello": [ + "ciao", + "buongiorno" + ], + "it's": "it's-a", + "make": "make-a", + "meat": [ + "pepperoni", + "prosciutto" + ], + "mom": "mamma", + "my": "my-a", + "nuke": "spiciest-a meatball", + "op": "greek", + "operative": "greek", + "operatives": "greeks", + "ops": "greeks", + "sec": "polizia", + "security": "polizia", + "shitcurity": "carabinieri", + "shitsec": "carabinieri", + "sing": "sing-a", + "spaghetti": "SPAGHETT", + "spicy": "a-spicy", + "thanks": "grazie", + "thing": "thing-a", + "traitor": "mafioso", + "use": "use-a", + "want": "want-a", + "what's": "what's-a", + "who's": "who's-a", + "whose": "whose-a", + "why": "for-a what reason", + "wine": "vino" + } +}