diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 05fe0e6a..2c35c147 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -171,6 +171,7 @@
#define FATNESS_DIVISOR 860
#define FATNESS_MAX_MOVE_PENALTY 4
#define FATNESS_WEAKLEGS_MODIFIER 20
+#define FATNESS_STRONGLEGS_MODIFIER 0.5
//Nutrition levels for humans
#define NUTRITION_LEVEL_FULL 550
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index b9ddd659..a977e3ad 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -116,6 +116,7 @@
#define TRAIT_JOLLY "jolly"
#define TRAIT_HEADPAT_SLUT "headpat_slut"
#define TRAIT_WEAKLEGS "weak_legs"
+#define TRAIT_STRONGLEGS "strong_legs"
#define TRAIT_NOCRITDAMAGE "no_crit"
#define TRAIT_NOSLIPWATER "noslip_water"
#define TRAIT_NOSLIPALL "noslip_all"
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index ec8afaa4..fbfc7053 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -32,7 +32,8 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
list("Prosthetic Limb","Prosthetic Limb (Right Leg)"),
list("Paraplegic","Prosthetic Limb (Left Leg)"),
list("Paraplegic","Prosthetic Limb (Right Leg)"),
- list("Fat Affinity","Fat Aversion")
+ list("Fat Affinity","Fat Aversion"),
+ list("Weak Legs", "Strong Legs")
)
return ..()
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index cd581fab..319542c8 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -61,15 +61,15 @@
lose_text = "You feel clumsy again."
medical_record_text = "Patient scored highly on cardio tests."
-// /datum/quirk/strong_legs
-// name = "Strong Legs"
-// desc = "Your body is able to handle heavier sizes very well."
-// mob_trait = TRAIT_STRONGLEGS
-// value = 2
-// category = CATEGORY_SEXUAL
-// gain_text = "You feel like you can carry more weight."
-// lose_text = "Your legs cannot bear heavier loads anymore."
-// medical_record_text = "Patient exhibits increased muscle strength in their legs."
+/datum/quirk/strong_legs
+ name = "Strong Legs"
+ desc = "Your body is able to handle heavier sizes very well."
+ value = 2
+ category = CATEGORY_SEXUAL
+ mob_trait = TRAIT_STRONGLEGS
+ gain_text = "You feel like you can carry more weight."
+ lose_text = "Your legs cannot bear heavier loads anymore."
+ medical_record_text = "Patient exhibits increased muscle strength in their legs."
/datum/quirk/friendly
name = "Friendly"
diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm
index ae6d5d81..ad7615c8 100644
--- a/code/datums/traits/neutral.dm
+++ b/code/datums/traits/neutral.dm
@@ -154,7 +154,7 @@
medical_record_text = "Patient cares little with or dislikes being touched."
/datum/quirk/weak_legs
- name = "Weak legs"
+ name = "Weak Legs"
desc = "Your legs can't handle the heaviest of charges. Being too fat will render you unable to move at all."
mob_trait = TRAIT_WEAKLEGS
value = 0
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 7f6d5d37..0387e437 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1863,6 +1863,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(H.fatness < FATNESS_LEVEL_BARELYMOBILE)
fatness_delay = fatness_delay - flight
+ if(HAS_TRAIT(H, TRAIT_STRONGLEGS))
+ fatness_delay = fatness_delay * FATNESS_STRONGLEGS_MODIFIER
+
fatness_delay = min(fatness_delay, FATNESS_MAX_MOVE_PENALTY)
if(HAS_TRAIT(H, TRAIT_WEAKLEGS) && (H.fatness > FATNESS_LEVEL_BLOB))
fatness_delay += ((H.fatness - FATNESS_LEVEL_BLOB) * FATNESS_WEAKLEGS_MODIFIER) / FATNESS_DIVISOR