diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index c0e3e141c7..ff45ac474f 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -78,6 +78,7 @@
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
#define TRAIT_NYMPHO "nymphomania"
#define TRAIT_MASO "masochism"
+#define TRAIT_PARA "paraplegic"
// common trait sources
#define TRAIT_GENERIC "generic"
diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index b7307b10e4..a1a7c16098 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -191,6 +191,7 @@
name = "Paraplegic"
desc = "Your legs do not function. Nothing will ever fix this. But hey, free wheelchair!"
value = -3
+ mob_trait = TRAIT_PARA
human_only = TRUE
gain_text = null // Handled by trauma.
lose_text = null
@@ -242,8 +243,12 @@
var/slot_string = "limb"
/datum/quirk/prosthetic_limb/on_spawn()
- var/limb_slot = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
var/mob/living/carbon/human/H = quirk_holder
+ var/limb_slot
+ if(H.has_trait("TRAIT_PARA"))//Prevent paraplegic legs being replaced
+ limb_slot = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)
+ else
+ limb_slot = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
var/obj/item/bodypart/old_part = H.get_bodypart(limb_slot)
var/obj/item/bodypart/prosthetic
switch(limb_slot)
diff --git a/code/modules/vehicles/ridden.dm b/code/modules/vehicles/ridden.dm
index 73e08975ba..72881e314f 100644
--- a/code/modules/vehicles/ridden.dm
+++ b/code/modules/vehicles/ridden.dm
@@ -60,7 +60,7 @@
if(key_type && !is_key(inserted_key))
to_chat(user, "[src] has no key inserted!")
return FALSE
- if(canmove && (user.get_num_lehs() < legs_required))
+ if(canmove && (user.get_num_legs() < legs_required))
to_chat(user, "You don't have enough legs to operate the pedals!")
canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20)