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.
This commit is contained in:
TheRyeGuyWhoWillNowDie
2026-05-31 20:32:41 -05:00
committed by GitHub
parent ac8c8c105c
commit d802f65f57
3 changed files with 56 additions and 0 deletions
@@ -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)
@@ -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 /////////
/////////////////////////