diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 74d8a43347..2c03997a4a 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -321,4 +321,27 @@ name = "headress of Nemes" desc = "Lavish space tomb not included." icon_state = "nemes_headdress" - icon_state = "nemes_headdress" \ No newline at end of file + icon_state = "nemes_headdress" + +/obj/item/clothing/head/frenchberet + name = "french beret" + desc = "A quality beret, infused with the aroma of chain-smoking, wine-swilling Parisians. You feel less inclined to engage military conflict, for some reason." + icon_state = "beretblack" + +/obj/item/clothing/head/frenchberet/speechModification(M) + if(copytext(M, 1, 2) != "*") + M = " [M]" + var/list/french_words = strings("french_replacement.json", "french") + + for(var/key in french_words) + var/value = french_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)) + M += pick(" Honh honh honh!"," Honh!"," Zut Alors!") + return trim(M) \ No newline at end of file diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 53bd5f32a4..96b8517e92 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -47,7 +47,7 @@ /obj/item/clothing/mask/fakemoustache/italian/speechModification(M) if(copytext(M, 1, 2) != "*") M = " [M]" - var/list/italian_words = strings("word_replacement.json", "italian") + var/list/italian_words = strings("italian_replacement.json", "italian") for(var/key in italian_words) var/value = italian_words[key] diff --git a/code/modules/jobs/job_types/civilian.dm b/code/modules/jobs/job_types/civilian.dm index 3c36247c6d..e0202db132 100644 --- a/code/modules/jobs/job_types/civilian.dm +++ b/code/modules/jobs/job_types/civilian.dm @@ -91,7 +91,7 @@ Mime uniform = /obj/item/clothing/under/rank/mime mask = /obj/item/clothing/mask/gas/mime gloves = /obj/item/clothing/gloves/color/white - head = /obj/item/clothing/head/beret + head = /obj/item/clothing/head/frenchberet suit = /obj/item/clothing/suit/suspenders backpack_contents = list(/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing=1) diff --git a/code/modules/mob/living/carbon/say.dm b/code/modules/mob/living/carbon/say.dm index 83d943ccbf..8a8c99bf32 100644 --- a/code/modules/mob/living/carbon/say.dm +++ b/code/modules/mob/living/carbon/say.dm @@ -13,7 +13,8 @@ message = T.TongueSpeech(message) if(wear_mask) message = wear_mask.speechModification(message) - + if(head) + message = head.speechModification(message) return message /mob/living/carbon/can_speak_vocal(message) diff --git a/strings/french_replacement.json b/strings/french_replacement.json new file mode 100644 index 0000000000..4c89d98812 --- /dev/null +++ b/strings/french_replacement.json @@ -0,0 +1,91 @@ +{ + + "french": { + "yes": "oui", + "no": "non", + "I'm": "j'", + "am": "suis", + "a": "un", + "and": "et", + "the": "l'", + "I": "j'", + "for": "pour", + "with": "avec", + "of": "de", + + + "assistant": "ravageur", + "assistants": "ravageurs", + "baby": [ + "enfant", + "petit baguette" + ], + "bad": "mal", + "bye": [ + "bon voyage", + "adieu", + "au revoir" + ], + "cake": "gateau", + "captain": "capitaine", + "changeling": "changeur", + "cheese": [ + "brie", + "roquefort", + "camembert" + ], + "cigarette": "clope", + "cook": "cuisinier", + "dad": "papa", + "enemy": "silly english dog", + "friend": "ami", + "good": "bon", + "greytide": "les gitans", + "greytider": "les gitans", + "greytiders": "les gitans", + "hardsuit": "burkini", + "hello": [ + "'allo", + "bonjour", + "salut" + ], + "maint": "les banlieues", + "meat": [ + "coq au vin", + "boeuf" + ], + "mom": "maman", + "my": "mon", + "nuke": [ + "grand bombe", + "la baguette ultime" + ], + "op": "boche", + "operative": "boche", + "operatives": "boches", + "ops": "boches", + "urity": "urite", + "security": "securite", + "shit": "merde", + "shitcurity": [ + "gendarmerie", + "les keufs" + ], + "shitsec": [ + "gendarmerie", + "les keufs" + ], + "spaghetti": "macaroni", + "spicy": "epice", + "thanks": "merci", + "tomato": "tomate", + "traitor": "collaborateur", + "want": "envie", + "what's": "quel est", + "who's": "qui est", + "why": "porquois", + "wine": "vin", + "wizard": "sorcier" + } + +} \ No newline at end of file diff --git a/strings/word_replacement.json b/strings/italian_replacement.json similarity index 99% rename from strings/word_replacement.json rename to strings/italian_replacement.json index 9565ebe94a..42bef05a22 100644 --- a/strings/word_replacement.json +++ b/strings/italian_replacement.json @@ -1,4 +1,5 @@ { + "italian": { "I'm": "I'm-a", "am": "am-a", @@ -62,5 +63,7 @@ "whose": "whose-a", "why": "for-a what reason", "wine": "vino" - } -} + } + + +} \ No newline at end of file