From 84439f618f077e8f78a899db6ac9fc7b9afc2a1f Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Mon, 18 May 2026 18:10:04 -0500 Subject: [PATCH 1/2] Amputated limbs in characters preferences --- .../modules/loadouts/limb_items/limb_base.dm | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm b/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm index 667d01c6e55e..1979354cb492 100644 --- a/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm +++ b/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm @@ -53,3 +53,33 @@ /datum/limb_option_datum/bodypart/cybernetic_l_arm name = "Cybernetic Left Arm" limb_path = /obj/item/bodypart/arm/left/robot + +// Removes the corresponding limb instead of replacing whatever's there +/datum/limb_option_datum/bodypart/amputated + ui_icon = 'icons/mob/landmarks.dmi' + ui_icon_state = "x" + +/datum/limb_option_datum/bodypart/amputated/apply_limb(mob/living/carbon/human/apply_to) + var/obj/item/bodypart/corresponding_limb = limb_path + var/obj/item/bodypart/removing = apply_to.get_bodypart(corresponding_limb::body_zone) + if(isnull(removing)) + return + + removing.drop_limb(special = TRUE, dismembered = FALSE) + qdel(removing) + +/datum/limb_option_datum/bodypart/amputated/right_leg + name = "Amputated Right Arm" + limb_path = /obj/item/bodypart/arm/right // placeholder + +/datum/limb_option_datum/bodypart/amputated/left_leg + name = "Amputated Left Arm" + limb_path = /obj/item/bodypart/arm/left // placeholder + +/datum/limb_option_datum/bodypart/amputated/right_arm + name = "Amputated Right Leg" + limb_path = /obj/item/bodypart/leg/right // placeholder + +/datum/limb_option_datum/bodypart/amputated/left_arm + name = "Amputated Left Leg" + limb_path = /obj/item/bodypart/leg/left // placeholder From 2180fd7364d7537d83b36abe4e91e51bb908f971 Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Mon, 18 May 2026 18:17:09 -0500 Subject: [PATCH 2/2] A --- .../code/modules/loadouts/limb_items/limb_base.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm b/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm index 1979354cb492..ab2459ca9157 100644 --- a/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm +++ b/maplestation_modules/code/modules/loadouts/limb_items/limb_base.dm @@ -68,18 +68,18 @@ removing.drop_limb(special = TRUE, dismembered = FALSE) qdel(removing) -/datum/limb_option_datum/bodypart/amputated/right_leg +/datum/limb_option_datum/bodypart/amputated/right_arm name = "Amputated Right Arm" limb_path = /obj/item/bodypart/arm/right // placeholder -/datum/limb_option_datum/bodypart/amputated/left_leg +/datum/limb_option_datum/bodypart/amputated/left_arm name = "Amputated Left Arm" limb_path = /obj/item/bodypart/arm/left // placeholder -/datum/limb_option_datum/bodypart/amputated/right_arm +/datum/limb_option_datum/bodypart/amputated/right_leg name = "Amputated Right Leg" limb_path = /obj/item/bodypart/leg/right // placeholder -/datum/limb_option_datum/bodypart/amputated/left_arm +/datum/limb_option_datum/bodypart/amputated/left_leg name = "Amputated Left Leg" limb_path = /obj/item/bodypart/leg/left // placeholder