diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 83684822a26..e5c6292fa56 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" @@ -30,12 +29,24 @@ 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() == "Machine")) + if(target.get_species() == "Machine")//i know organ robot might be enough but i am not taking chances... return 0 - if((target.get_species() == "Diona")) + if(!affected.encased)//no bone, problem. 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//no operating on robotic limbs in an organic surgery + + if(!affected.encased)//no bones no problem. + 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