diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 83684822a26..630302edc65 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -15,7 +15,6 @@ possible_locs = list("chest","head","groin", "eyes", "mouth") steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/internal/manipulate_organs,/datum/surgery_step/generic/cauterize) requires_organic_bodypart = 1 - allowed_mob = list(/mob/living/carbon/human/diona) /datum/surgery/organ_manipulation/alien name = "alien organ manipulation" @@ -36,6 +35,16 @@ return 0 return 1 +/datum/surgery/organ_manipulation_boneless/can_start(mob/user, mob/living/carbon/target) + if(istype(target,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = target + var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) + if(affected && (affected.status & ORGAN_ROBOT)) + return 0 + if(target.get_species() == "Diona") + return 1 + return 0 + /datum/surgery/organ_manipulation/alien/can_start(mob/user, mob/living/carbon/target) if(istype(target,/mob/living/carbon/alien/humanoid)) return 1 diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index da627a57f0d..fee1d87323a 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -12,7 +12,7 @@ /datum/surgery/cybernetic_repair/internal name = "Internal Cybernetic Mainpulation" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/robotics/manipulate_robotic_organs) - possible_locs = list("chest","head","groin") + possible_locs = list("eyes", "chest","head","groin") requires_organic_bodypart = 0 /datum/surgery/cybernetic_amputation