From 6ddf70316d45e0371e97c446466c3fd8673ea1c8 Mon Sep 17 00:00:00 2001 From: Bloop Date: Sat, 15 Jul 2023 10:39:27 -0400 Subject: [PATCH] [MISSED MIRROR] Hemiplegic quirk (#76526) (#22450) * Hemiplegic quirk (#76526) ## About The Pull Request Like paraplegic, but instead of a horizontal half of your body being fucked, it's a vertical half! ![image](https://github.com/tgstation/tgstation/assets/82850673/aab1059e-9f5a-4778-a72a-c55c9fe75403) ![image](https://github.com/tgstation/tgstation/assets/82850673/2edf1a76-906f-41f5-984c-4260b65a279d) ## Why It's Good For The Game Character customization and pure, undistilled human suffering. ## Changelog :cl: add: Added Hemiplegic quirk. /:cl: --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> * Update jobs.dm --------- Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com> Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> --- code/__DEFINES/~skyrat_defines/jobs.dm | 2 +- .../subsystem/processing/quirks.dm | 2 +- code/datums/brain_damage/severe.dm | 10 ++++++++ code/datums/quirks/negative_quirks.dm | 23 +++++++++++++++++++ .../objects/items/stacks/sheets/mineral.dm | 3 +++ .../reagent_containers/cups/drinkingglass.dm | 9 ++++++++ 6 files changed, 47 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/~skyrat_defines/jobs.dm b/code/__DEFINES/~skyrat_defines/jobs.dm index eec0c9ba298..92af0760c94 100644 --- a/code/__DEFINES/~skyrat_defines/jobs.dm +++ b/code/__DEFINES/~skyrat_defines/jobs.dm @@ -5,7 +5,7 @@ #define JOB_UNAVAILABLE_LANGUAGE (JOB_UNAVAILABLE_SPECIES + 1) #define JOB_UNAVAILABLE_FLAVOUR (JOB_UNAVAILABLE_LANGUAGE + 1) -#define SEC_RESTRICTED_QUIRKS "Blind" = TRUE, "Brain Tumor" = TRUE, "Deaf" = TRUE, "Paraplegic" = TRUE, "Mute" = TRUE, "Foreigner" = TRUE, "Pacifist" = TRUE, "Chunky Fingers" = TRUE, "No Guns" = TRUE, "Illiterate" = TRUE, "Nerve Stapled" = TRUE +#define SEC_RESTRICTED_QUIRKS "Blind" = TRUE, "Brain Tumor" = TRUE, "Deaf" = TRUE, "Paraplegic" = TRUE, "Hemiplegic" = TRUE, "Mute" = TRUE, "Foreigner" = TRUE, "Pacifist" = TRUE, "Chunky Fingers" = TRUE, "No Guns" = TRUE, "Illiterate" = TRUE, "Nerve Stapled" = TRUE #define HEAD_RESTRICTED_QUIRKS "Blind" = TRUE, "Deaf" = TRUE, "Mute" = TRUE, "Foreigner" = TRUE, "Chunky Fingers" = TRUE, "Brain Tumor" = TRUE, "Illiterate" = TRUE #define TECH_RESTRICTED_QUIRKS "Chunky Fingers" = TRUE #define GUARD_RESTRICTED_QUIRKS "Blind" = TRUE, "Deaf" = TRUE, "Foreigner" = TRUE, "Pacifist" = TRUE, "Nerve Stapled" = TRUE diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index f1e710e6cb4..3df08b54ffd 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -27,7 +27,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) list("Bad Touch", "Friendly"), list("Extrovert", "Introvert"), list("Prosthetic Limb", "Quadruple Amputee", "Body Purist"), - list("Quadruple Amputee", "Paraplegic"), + list("Quadruple Amputee", "Paraplegic", "Hemiplegic"), list("Quadruple Amputee", "Frail"), list("Mute", "Social Anxiety"), list("Mute", "Soft-Spoken"), diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 49f8dc436e5..bc59f0b7d70 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -120,6 +120,16 @@ paralysis_type = "legs" resilience = TRAUMA_RESILIENCE_ABSOLUTE +/datum/brain_trauma/severe/paralysis/hemiplegic + random_gain = FALSE + resilience = TRAUMA_RESILIENCE_ABSOLUTE + +/datum/brain_trauma/severe/paralysis/hemiplegic/left + paralysis_type = "left" + +/datum/brain_trauma/severe/paralysis/hemiplegic/right + paralysis_type = "right" + /datum/brain_trauma/severe/narcolepsy name = "Narcolepsy" desc = "Patient may involuntarily fall asleep during normal activities." diff --git a/code/datums/quirks/negative_quirks.dm b/code/datums/quirks/negative_quirks.dm index 523c26c79bf..00969925a96 100644 --- a/code/datums/quirks/negative_quirks.dm +++ b/code/datums/quirks/negative_quirks.dm @@ -531,6 +531,29 @@ var/mob/living/carbon/human/human_holder = quirk_holder human_holder.cure_trauma_type(/datum/brain_trauma/severe/paralysis/paraplegic, TRAUMA_RESILIENCE_ABSOLUTE) +/datum/quirk/hemiplegic + name = "Hemiplegic" + desc = "Half of your body doesn't work. Nothing will ever fix this." + icon = FA_ICON_CIRCLE_HALF_STROKE + value = -10 // slightly more bearable than paraplegic but not by much + gain_text = null // Handled by trauma. + lose_text = null + medical_record_text = "Patient has an untreatable impairment in motor function on half of their body." + hardcore_value = 10 + mail_goodies = list( + /obj/item/stack/sheet/mineral/uranium/half, //half a stack of a material that has a half life + /obj/item/reagent_containers/cup/glass/drinkingglass/filled/half_full, + ) + +/datum/quirk/hemiplegic/add(client/client_source) + var/mob/living/carbon/human/human_holder = quirk_holder + var/trauma_type = pick(/datum/brain_trauma/severe/paralysis/hemiplegic/left, /datum/brain_trauma/severe/paralysis/hemiplegic/right) + human_holder.gain_trauma(trauma_type, TRAUMA_RESILIENCE_ABSOLUTE) + +/datum/quirk/hemiplegic/remove() + var/mob/living/carbon/human/human_holder = quirk_holder + human_holder.cure_trauma_type(/datum/brain_trauma/severe/paralysis/hemiplegic, TRAUMA_RESILIENCE_ABSOLUTE) + /datum/quirk/poor_aim name = "Stormtrooper Aim" desc = "You've never hit anything you were aiming for in your life." diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 527af398bd2..710a82a3324 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -141,6 +141,9 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ /obj/item/stack/sheet/mineral/uranium/five amount = 5 +/obj/item/stack/sheet/mineral/uranium/half + amount = 25 + /* * Plasma */ diff --git a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm index 280da37f327..c32c83effa9 100644 --- a/code/modules/reagents/reagent_containers/cups/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/cups/drinkingglass.dm @@ -100,3 +100,12 @@ /obj/item/reagent_containers/cup/glass/drinkingglass/filled/nuka_cola name = "Nuka Cola" list_reagents = list(/datum/reagent/consumable/nuka_cola = 50) + +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/half_full + name = "half full glass of water" + desc = "It's a glass of water. It seems half full. Or is it half empty? You're pretty sure it's full of shit." + list_reagents = list(/datum/reagent/water = 25) + +/obj/item/reagent_containers/cup/glass/drinkingglass/filled/half_full/Initialize(mapload, vol) + . = ..() + name = "[pick("half full", "half empty")] glass of water"