diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index f448a5d0227..d7fdb869fee 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -23,6 +23,24 @@ /datum/surgery_step/close, ) +/datum/surgery/organ_manipulation/external + name = "Feature manipulation" + possible_locs = list( + BODY_ZONE_CHEST, + BODY_ZONE_HEAD, + BODY_ZONE_PRECISE_GROIN, + BODY_ZONE_L_ARM, + BODY_ZONE_R_ARM, + BODY_ZONE_L_LEG, + BODY_ZONE_R_LEG, + ) + steps = list( + /datum/surgery_step/incise, + /datum/surgery_step/retract_skin, + /datum/surgery_step/manipulate_organs/external, + /datum/surgery_step/close, + ) + /datum/surgery/organ_manipulation/alien name = "Alien organ manipulation" possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_PRECISE_GROIN, BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM) @@ -46,7 +64,7 @@ /datum/surgery_step/open_hatch, /datum/surgery_step/mechanic_unwrench, /datum/surgery_step/prepare_electronics, - /datum/surgery_step/manipulate_organs/internal, + /datum/surgery_step/manipulate_organs/internal/mechanic, /datum/surgery_step/mechanic_wrench, /datum/surgery_step/mechanic_close, ) @@ -87,12 +105,12 @@ /datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, /datum/surgery_step/prepare_electronics, - /datum/surgery_step/manipulate_organs/internal, + /datum/surgery_step/manipulate_organs/internal/mechanic, /datum/surgery_step/mechanic_close, ) -/datum/surgery/organ_manipulation/external - name = "Feature manipulation" +/datum/surgery/organ_manipulation/mechanic/external + name = "Prosthetic feature manipulation" possible_locs = list( BODY_ZONE_CHEST, BODY_ZONE_HEAD, @@ -102,11 +120,12 @@ BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, ) - steps = list( - /datum/surgery_step/incise, - /datum/surgery_step/retract_skin, - /datum/surgery_step/manipulate_organs/external, - /datum/surgery_step/close, + steps = list( //not shorter than soft prosthetic manip because I dunno what steps could be cut here + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/manipulate_organs/external/mechanic, + /datum/surgery_step/mechanic_close, ) ///Organ manipulation base class. Do not use, it wont work. Use it's subtypes @@ -272,6 +291,11 @@ /datum/surgery_step/manipulate_organs/internal/can_use_organ(mob/user, obj/item/organ/organ) return isinternalorgan(organ) +///prosthetic surgery gives full effectiveness to crowbars (and hemostats) +/datum/surgery_step/manipulate_organs/internal/mechanic + implements_extract = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100, /obj/item/kitchen/fork = 35) + name = "manipulate prosthetic organs (hemostat or crowbar/organ)" + ///Surgery step for external organs/features, like tails, frills, wings etc /datum/surgery_step/manipulate_organs/external time = 3.2 SECONDS @@ -280,3 +304,8 @@ ///Only operate on external organs /datum/surgery_step/manipulate_organs/external/can_use_organ(mob/user, obj/item/organ/organ) return isexternalorgan(organ) + +///prosthetic surgery gives full effectiveness to crowbars (and hemostats) +/datum/surgery_step/manipulate_organs/external/mechanic + implements_extract = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100, /obj/item/kitchen/fork = 35) + name = "manipulate prosthetic features (hemostat or crowbar/feature)"