This commit is contained in:
DeltaFire
2020-12-06 17:37:46 +01:00
parent 86b9161fc9
commit dd4f60a24b
@@ -2,22 +2,27 @@
name = "experimental organ replacement" name = "experimental organ replacement"
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/incise, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert) steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/incise, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert)
possible_locs = list(BODY_ZONE_CHEST) possible_locs = list(BODY_ZONE_CHEST)
ignore_clothes = 1 ignore_clothes = TRUE
/datum/surgery/organ_extraction/can_start(mob/user, mob/living/carbon/target) /datum/surgery/organ_extraction/can_start(mob/user, mob/living/carbon/target)
if(!ishuman(user)) if(!ishuman(user))
return 0 return FALSE
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(H.dna.species.id == "abductor") if(H.dna.species.id == "abductor")
return 1 return TRUE
for(var/obj/item/implant/abductor/A in H.implants) for(var/obj/item/implant/abductor/A in H.implants)
return 1 return TRUE
return 0 return FALSE
/datum/surgery/organ_extraction/mechanic
name = "Prosthesis experimental organ replacement"
requires_bodypart_type = BODYPART_ROBOTIC
steps = list(/datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, /datum/surgery_step/mechanic_unwrench, /datum/surgery_step/prepare_electronics, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert)
/datum/surgery_step/extract_organ /datum/surgery_step/extract_organ
name = "remove heart" name = "remove heart"
accept_hand = 1 accept_hand = TRUE
time = 32 time = 32
var/obj/item/organ/IC = null var/obj/item/organ/IC = null
var/list/organ_types = list(/obj/item/organ/heart) var/list/organ_types = list(/obj/item/organ/heart)
@@ -34,10 +39,10 @@
user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "<span class='notice'>You pull [IC] out of [target]'s [target_zone].</span>") user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "<span class='notice'>You pull [IC] out of [target]'s [target_zone].</span>")
user.put_in_hands(IC) user.put_in_hands(IC)
IC.Remove() IC.Remove()
return 1 return TRUE
else else
to_chat(user, "<span class='warning'>You don't find anything in [target]'s [target_zone]!</span>") to_chat(user, "<span class='warning'>You don't find anything in [target]'s [target_zone]!</span>")
return 1 return TRUE
/datum/surgery_step/gland_insert /datum/surgery_step/gland_insert
name = "insert gland" name = "insert gland"
@@ -52,4 +57,4 @@
user.temporarilyRemoveItemFromInventory(tool, TRUE) user.temporarilyRemoveItemFromInventory(tool, TRUE)
var/obj/item/organ/heart/gland/gland = tool var/obj/item/organ/heart/gland/gland = tool
gland.Insert(target, 2) gland.Insert(target, 2)
return 1 return TRUE