From fab0a1ef1717391abcb83a785631da13a785c4f2 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 9 Apr 2016 00:48:15 -0400 Subject: [PATCH 1/3] I HATE EYEBALLS --- code/modules/surgery/organs_internal.dm | 11 ++++++++++- code/modules/surgery/robotics.dm | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) 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 From f883e06c2ea881dfd3d7e02d0e86ec3bdaa4fa00 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 9 Apr 2016 22:27:53 -0400 Subject: [PATCH 2/3] Adjustments --- code/modules/surgery/organs_internal.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 630302edc65..b5e50e8ed1a 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -29,9 +29,9 @@ 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") return 0 - if((target.get_species() == "Diona")) + if(target.get_species() == "Diona") return 0 return 1 @@ -39,9 +39,11 @@ 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 0//no operating on robotic limbs in an organic surgery + + if(!affected.encased)//no bones no problem. return 1 return 0 From 3dcb3dfb3c54b88ad4746c803b30132e42040a3a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sun, 10 Apr 2016 22:25:52 -0400 Subject: [PATCH 3/3] lemons suggestions...kind of... --- code/modules/surgery/organs_internal.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index b5e50e8ed1a..e5c6292fa56 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -29,9 +29,9 @@ 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