From 1f9bc21fc5eb78fd6a44ec168796a40542b8a9e7 Mon Sep 17 00:00:00 2001 From: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com> Date: Wed, 5 Jul 2023 22:09:38 -0300 Subject: [PATCH] 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> --- .../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 ++++++++ 5 files changed, 46 insertions(+), 1 deletion(-) diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index ae200c01320..000f5b9b64d 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("Social Anxiety", "Mute"), list("Mute", "Soft-Spoken"), diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 84a49b8eeb2..0174e517756 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -119,6 +119,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 d60085ea782..502480727ab 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"