From d802f65f57a4aaef56f0b18dc7d8da4c9aef467f Mon Sep 17 00:00:00 2001 From: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com> Date: Sun, 31 May 2026 18:32:41 -0700 Subject: [PATCH] Adds the "Limper" quirk (#96200) ## About The Pull Request Adds a new negative quirk, called Limper. This quirk, as you could probably guess, will make you limp. Specifically, the limp it gives you is the same level as a compound fracture, so it's pretty significant. Luckily, you spawn with a cane, which as long as you are holding you won't be slowed down. This quirk is -6 points as it is pretty significant (have to hold an item in one of your hands at all times, losing this item makes you hella slow) but not quite as devastating as other disability quirks. --- code/datums/quirks/negative_quirks/limper.dm | 30 ++++++++++++++++++++ code/datums/status_effects/wound_effects.dm | 25 ++++++++++++++++ tgstation.dme | 1 + 3 files changed, 56 insertions(+) create mode 100644 code/datums/quirks/negative_quirks/limper.dm diff --git a/code/datums/quirks/negative_quirks/limper.dm b/code/datums/quirks/negative_quirks/limper.dm new file mode 100644 index 00000000000..e272bd2c712 --- /dev/null +++ b/code/datums/quirks/negative_quirks/limper.dm @@ -0,0 +1,30 @@ +/datum/quirk/item_quirk/limper + name = "Limper" + desc = "You have a pronounced limp when you walk. This will slow you down considerably. Good thing you brought your cane." + icon = FA_ICON_PERSON_CANE + gain_text = span_danger("Your leg feels a bit weak.") + lose_text = span_notice("Your legs feel normal again.") + medical_record_text = "Patient appears to suffer from a weakness in the leg." + value = -6 + hardcore_value = 3 + quirk_flags = QUIRK_HUMAN_ONLY + + mail_goodies = list( + /obj/item/cane, + /obj/item/cane/crutch, + /obj/item/cane/white, + ) + +/datum/quirk/item_quirk/limper/add_unique(client/client_source) + give_item_to_holder(new /obj/item/cane(get_turf(quirk_holder)), list( + LOCATION_HANDS, + LOCATION_BACKPACK, + )) + return + +/datum/quirk/item_quirk/limper/add(client/client_source) + quirk_holder.apply_status_effect(/datum/status_effect/limp/quirk) + +/datum/quirk/item_quirk/limper/remove(client/client_source) + quirk_holder.remove_status_effect(/datum/status_effect/limp/quirk) + diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index 5e81b2c4816..5ea0be0b256 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -142,6 +142,31 @@ carbon_mob.remove_status_effect(src) return +//Quirk variant of limping. Will always be applied as long as you have a leg to stand on. +/datum/status_effect/limp/quirk + id = "limp_quirk" + alert_type = null + +/datum/status_effect/limp/quirk/update_limp(datum/source) + var/mob/living/carbon/carbon_mob = owner + left = carbon_mob.get_bodypart(BODY_ZONE_L_LEG) + right = carbon_mob.get_bodypart(BODY_ZONE_R_LEG) + + slowdown_left = 0 + slowdown_right = 0 + limp_chance_left = 0 + limp_chance_right = 0 + + + if(left) + slowdown_left = 7 //Same as compound fracture + limp_chance_left = 70 + + else if(right) + slowdown_right = 7 + limp_chance_right = 70 + + ///////////////////////// //////// WOUNDS ///////// ///////////////////////// diff --git a/tgstation.dme b/tgstation.dme index 738b35d13ae..e2ec6e08463 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1950,6 +1950,7 @@ #include "code\datums\quirks\negative_quirks\indebted.dm" #include "code\datums\quirks\negative_quirks\insanity.dm" #include "code\datums\quirks\negative_quirks\light_drinker.dm" +#include "code\datums\quirks\negative_quirks\limper.dm" #include "code\datums\quirks\negative_quirks\monophobia.dm" #include "code\datums\quirks\negative_quirks\mute.dm" #include "code\datums\quirks\negative_quirks\narcolepsy.dm"