From 7706ec6329b65d843bbbb8259aeefefbcb4d6815 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 9 Jun 2019 02:45:14 +0200 Subject: [PATCH 1/2] I LOVE THE SMELL OF NAPALM IN THE MORNING! --- code/__DEFINES/DNA.dm | 1 + code/datums/mutations/speech.dm | 13 +++++++++++++ .../crates_lockers/closets/secure/security.dm | 1 + code/modules/clothing/head/jobs.dm | 16 ++++++++++++++++ 4 files changed, 31 insertions(+) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 4ed099d9e2..bfa25961a6 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -28,6 +28,7 @@ #define SWEDISH "Swedish" #define CHAV "Chav" #define ELVIS "Elvis" +#define YELLING "Yelling" #define UI_CHANGED "ui changed" #define UE_CHANGED "ue changed" diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 3f303535ce..ca9289f428 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -230,3 +230,16 @@ ..() owner.grant_language(/datum/language/common) owner.remove_language(/datum/language/beachbum) + +/datum/mutation/human/yelling + name = "Yelling" + desc = "A mutation that forces the host to constantly yell their sentences out." + quality = MINOR_NEGATIVE + locked = TRUE + text_gain_indication = "You feel really angry." + text_lose_indication = "You feel calmer." + +/datum/mutation/human/yelling/say_mod(message) + if(message) + message = "[uppertext(replacetext(message, ".", "!"))]!" + return (message) \ 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..e3a0211665 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -148,6 +148,22 @@ strip_delay = 60 dog_fashion = /datum/dog_fashion/head/warden +/obj/item/clothing/head/warden/drill + name = "warden's drill 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 + +/obj/item/clothing/head/warden/drill/equipped(mob/living/carbon/human/user, slot) + . = ..() + if(slot == SLOT_HEAD) + user.dna.add_mutation(YELLING) + +/obj/item/clothing/head/warden/drill/dropped(mob/living/carbon/human/user) + . = ..() + user.dna.remove_mutation(YELLING) + /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." From cb255b8719a1650b3e69ae5b88409eb89be934d5 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 9 Jun 2019 06:54:26 +0200 Subject: [PATCH 2/2] give'r or leave'r, buddy. --- code/__DEFINES/DNA.dm | 1 - code/datums/mutations/speech.dm | 15 +------ code/modules/clothing/head/jobs.dm | 69 ++++++++++++++++++++++++++---- strings/canadian_replacement.json | 45 +++++++++++++++++++ 4 files changed, 107 insertions(+), 23 deletions(-) create mode 100644 strings/canadian_replacement.json diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index bfa25961a6..4ed099d9e2 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -28,7 +28,6 @@ #define SWEDISH "Swedish" #define CHAV "Chav" #define ELVIS "Elvis" -#define YELLING "Yelling" #define UI_CHANGED "ui changed" #define UE_CHANGED "ue changed" diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 1a1e23cf56..d986672924 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -229,17 +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) - -/datum/mutation/human/yelling - name = "Yelling" - desc = "A mutation that forces the host to constantly yell their sentences out." - quality = MINOR_NEGATIVE - locked = TRUE - text_gain_indication = "You feel really angry." - text_lose_indication = "You feel calmer." - -/datum/mutation/human/yelling/say_mod(message) - if(message) - message = "[uppertext(replacetext(message, ".", "!"))]!" - return (message) \ No newline at end of file + owner.remove_language(/datum/language/beachbum) \ No newline at end of file diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index e3a0211665..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 @@ -149,20 +154,63 @@ dog_fashion = /datum/dog_fashion/head/warden /obj/item/clothing/head/warden/drill - name = "warden's drill hat" + 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/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == SLOT_HEAD) - user.dna.add_mutation(YELLING) +/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/dropped(mob/living/carbon/human/user) - . = ..() - user.dna.remove_mutation(YELLING) +/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" @@ -217,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" + } + + +}