diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 5c718cf554..d986672924 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -229,4 +229,4 @@ /datum/mutation/human/stoner/on_losing(mob/living/carbon/human/owner) ..() owner.grant_language(/datum/language/common) - owner.remove_language(/datum/language/beachbum) + owner.remove_language(/datum/language/beachbum) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b4cdff4224..8c06af91a4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -106,6 +106,7 @@ new /obj/item/radio/headset/headset_sec(src) new /obj/item/clothing/suit/armor/vest/warden(src) new /obj/item/clothing/head/warden(src) + new /obj/item/clothing/head/warden/drill(src) new /obj/item/clothing/head/beret/sec/navywarden(src) new /obj/item/clothing/suit/armor/vest/warden/alt(src) new /obj/item/clothing/under/rank/warden/navyblue(src) diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index b6c5a5417a..07817ec4e4 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -1,3 +1,8 @@ +//defines the drill hat's yelling setting +#define DRILL_DEFAULT "default" +#define DRILL_SHOUTING "shouting" +#define DRILL_YELLING "yelling" +#define DRILL_CANADIAN "canadian" //Chef /obj/item/clothing/head/chefhat @@ -148,6 +153,65 @@ strip_delay = 60 dog_fashion = /datum/dog_fashion/head/warden +/obj/item/clothing/head/warden/drill + name = "warden's campaign hat" + desc = "A special armored campaign hat with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection. Has the letters 'FMJ' enscribed on its side." + icon_state = "wardendrill" + item_state = "wardendrill" + dog_fashion = null + var/mode = DRILL_DEFAULT + +/obj/item/clothing/head/warden/drill/screwdriver_act(mob/living/carbon/human/user, obj/item/I) + if(..()) + return TRUE + switch(mode) + if(DRILL_DEFAULT) + to_chat(user, "You set the voice circuit to the middle position.") + mode = DRILL_SHOUTING + if(DRILL_SHOUTING) + to_chat(user, "You set the voice circuit to the last position.") + mode = DRILL_YELLING + if(DRILL_YELLING) + to_chat(user, "You set the voice circuit to the first position.") + mode = DRILL_DEFAULT + if(DRILL_CANADIAN) + to_chat(user, "You adjust voice circuit but nothing happens, probably because it's broken.") + return TRUE + +/obj/item/clothing/head/warden/drill/wirecutter_act(mob/living/user, obj/item/I) + if(mode != DRILL_CANADIAN) + to_chat(user, "You broke the voice circuit!") + mode = DRILL_CANADIAN + return TRUE + +/obj/item/clothing/head/warden/drill/speechModification(M) + if(copytext(M, 1, 2) != "*") + if(mode == DRILL_DEFAULT) + M = " [M]" + return trim(M) + if(mode == DRILL_SHOUTING) + M = " [M]!" + return trim(M) + if(mode == DRILL_YELLING) + M = " [M]!!" + return trim(M) + if(mode == DRILL_CANADIAN) + M = " [M]" + var/list/canadian_words = strings("canadian_replacement.json", "canadian") + + for(var/key in canadian_words) + var/value = canadian_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(30)) + M += pick(", eh?", ", EH?") + return trim(M) + /obj/item/clothing/head/beret/sec name = "security beret" desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." @@ -201,3 +265,8 @@ name = "quartermaster's beret" desc = "This headwear shows off your Cargonian leadership" icon_state = "qmberet" + +#undef DRILL_DEFAULT +#undef DRILL_SHOUTING +#undef DRILL_YELLING +#undef DRILL_CANADIAN diff --git a/strings/canadian_replacement.json b/strings/canadian_replacement.json new file mode 100644 index 0000000000..1430ae8793 --- /dev/null +++ b/strings/canadian_replacement.json @@ -0,0 +1,45 @@ +{ + + "canadian": { + "toilet": "washroom", + "bathroom": "washroom", + "restroom": "washroom", + "coffee": "doubledouble", + "backpack": "knapsack", + "rucksack": "knapsack", + "candybar": "chocolate bar", + "about": "aboot", + "friend": "buddy", + "pal": "buddy", + "donut": "doughnut", + "faucet": "tap", + "give": "give'r", + "bar": "boozecan", + "leave": "leave'r", + "scruffle": "kerfuffle", + "couch": "chesterfield", + "sofa": "chesterfield", + "alcohol": "mickey", + "shoes": "runners", + "cigarrete": "dart", + "cig": "dart", + "color": "colour", + "armor": "armour", + "armory": "armoury", + "defense": "defence", + "honor": "honour", + "labor": "labour", + "humor": "humour", + "humorous": "humourous", + "gray": "grey", + "labeled": "labelled", + "luster": "lustre", + "inch": "centimetre", + "yard": "metre", + "tumor": "tumour", + "mile": "kilometre", + "pound": "kilogram" + } + + +}