diff --git a/code/modules/surgery/bone_mending.dm b/code/modules/surgery/bone_mending.dm index 0c0083575b..659e20aa3a 100644 --- a/code/modules/surgery/bone_mending.dm +++ b/code/modules/surgery/bone_mending.dm @@ -15,6 +15,9 @@ var/obj/item/bodypart/targeted_bodypart = target.get_bodypart(user.zone_selected) return(targeted_bodypart.get_wound_type(targetable_wound)) +/datum/surgery/repair_bone_hairline/biomech + requires_bodypart_type = BODYPART_HYBRID + steps = list(/datum/surgery_step/mechanic_open, /datum/surgery_step/repair_bone_hairline, /datum/surgery_step/mechanic_close) ///// Repair Compound Fracture (Critical) /datum/surgery/repair_bone_compound @@ -25,6 +28,10 @@ requires_real_bodypart = TRUE targetable_wound = /datum/wound/blunt/critical +/datum/surgery/repair_bone_compound/biomech + requires_bodypart_type = BODYPART_HYBRID + steps = list(/datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, /datum/surgery_step/pry_off_plating, /datum/surgery_step/reset_compound_fracture, /datum/surgery_step/repair_bone_compound, /datum/surgery_step/add_plating, /datum/surgery_step/mechanic_close) + /datum/surgery/repair_bone_compound/can_start(mob/living/user, mob/living/carbon/target) if(..()) var/obj/item/bodypart/targeted_bodypart = target.get_bodypart(user.zone_selected) diff --git a/code/modules/surgery/burn_dressing.dm b/code/modules/surgery/burn_dressing.dm index 8bfa52d245..14bca66139 100644 --- a/code/modules/surgery/burn_dressing.dm +++ b/code/modules/surgery/burn_dressing.dm @@ -16,6 +16,10 @@ var/datum/wound/burn/burn_wound = targeted_bodypart.get_wound_type(targetable_wound) return(burn_wound && burn_wound.infestation > 0) +/datum/surgery/debride/biomech + name = "Debride infected synthetic flesh" + requires_bodypart_type = BODYPART_HYBRID + //SURGERY STEPS ///// Debride diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm index 101be7f103..9df2a5d736 100644 --- a/code/modules/surgery/mechanic_steps.dm +++ b/code/modules/surgery/mechanic_steps.dm @@ -13,7 +13,7 @@ "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].", "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].") -/datum/surgery_step/mechanic_incise/tool_check(mob/user, obj/item/tool) +/datum/surgery_step/mechanic_open/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) return FALSE return TRUE diff --git a/code/modules/surgery/repair_puncture.dm b/code/modules/surgery/repair_puncture.dm index 12aefefc82..b55fee199b 100644 --- a/code/modules/surgery/repair_puncture.dm +++ b/code/modules/surgery/repair_puncture.dm @@ -14,6 +14,10 @@ requires_real_bodypart = TRUE targetable_wound = /datum/wound/pierce +/datum/surgery/repair_puncture/biomech + requires_bodypart_type = BODYPART_HYBRID + steps = list(/datum/surgery_step/mechanic_open, /datum/surgery_step/repair_innards, /datum/surgery_step/seal_veins, /datum/surgery_step/mechanic_close) + /datum/surgery/repair_puncture/can_start(mob/living/user, mob/living/carbon/target) . = ..() if(.)