mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-07-20 20:54:35 +01:00
[MIRROR] Fixes synth surgery (#12847)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
482b7b9f7f
commit
269cb3da18
@@ -13,12 +13,12 @@
|
||||
|
||||
/datum/surgery_step/dehusk/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (!affected || (affected.robotic >= ORGAN_ROBOT))
|
||||
return 0
|
||||
return FALSE
|
||||
if(coverage_check(user,target,affected,tool))
|
||||
return 0
|
||||
return FALSE
|
||||
return target_zone == BP_TORSO && (HUSK in target.mutations)
|
||||
|
||||
/datum/surgery_step/dehusk/structinitial
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
/datum/surgery_step/open_encased/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return FALSE
|
||||
return affected && !(affected.robotic >= ORGAN_ROBOT) && affected.encased && affected.open >= FLESH_RETRACTED
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -11,21 +11,21 @@
|
||||
|
||||
/datum/surgery_step/repairflesh/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (isslime(target))
|
||||
return 0
|
||||
return FALSE
|
||||
if (target_zone == O_EYES || target_zone == O_MOUTH)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected == null)
|
||||
return 0
|
||||
return FALSE
|
||||
if (affected.is_stump())
|
||||
return 0
|
||||
return FALSE
|
||||
if (affected.robotic >= ORGAN_ROBOT)
|
||||
return 0
|
||||
return FALSE
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
@@ -50,9 +50,9 @@
|
||||
if(..())
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(affected.burn_stage || affected.brute_stage)
|
||||
return 0
|
||||
return 1
|
||||
return 0
|
||||
return FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/surgery_step/repairflesh/scan_injury/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -103,9 +103,9 @@
|
||||
if(..())
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(affected.burn_stage < 1 || !(affected.burn_dam))
|
||||
return 0
|
||||
return 1
|
||||
return 0
|
||||
return FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/surgery_step/repairflesh/repair_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -175,9 +175,9 @@
|
||||
if(..())
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(affected.brute_stage < 1 || !(affected.brute_dam))
|
||||
return 0
|
||||
return 1
|
||||
return 0
|
||||
return FALSE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/surgery_step/repairflesh/repair_brute/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
|
||||
/datum/surgery_step/face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (!affected || (affected.robotic >= ORGAN_ROBOT))
|
||||
return 0
|
||||
return FALSE
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return FALSE
|
||||
return target_zone == O_MOUTH
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -8,21 +8,21 @@
|
||||
|
||||
/datum/surgery_step/generic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (isslime(target))
|
||||
return 0
|
||||
return FALSE
|
||||
if (target_zone == O_EYES) //there are specific steps for eye surgery
|
||||
return 0
|
||||
return FALSE
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected == null)
|
||||
return 0
|
||||
return FALSE
|
||||
if (affected.is_stump())
|
||||
return 0
|
||||
return FALSE
|
||||
if (affected.robotic >= ORGAN_ROBOT)
|
||||
return 0
|
||||
return FALSE
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Scalpel Surgery
|
||||
@@ -377,12 +377,12 @@
|
||||
|
||||
/datum/surgery_step/generic/amputate/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (target_zone == O_EYES) //there are specific steps for eye surgery
|
||||
return 0
|
||||
return FALSE
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected == null)
|
||||
return 0
|
||||
return FALSE
|
||||
return !affected.cannot_amputate
|
||||
|
||||
/datum/surgery_step/generic/amputate/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
|
||||
/datum/surgery_step/hardsuit/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!istype(target))
|
||||
return 0
|
||||
return FALSE
|
||||
if(istype(tool,/obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/welder = tool
|
||||
if(!welder.isOn() || !welder.remove_fuel(1,user))
|
||||
return 0
|
||||
return FALSE
|
||||
return (target_zone == BP_TORSO) && ((istype(target.back, /obj/item/rig) && !(target.back.canremove)) || (istype(target.belt, /obj/item/rig) && !(target.belt.canremove)))
|
||||
|
||||
/datum/surgery_step/hardsuit/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
/datum/surgery_step/cavity/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return FALSE
|
||||
return affected && affected.open == (affected.encased ? 3 : 2)
|
||||
|
||||
/datum/surgery_step/cavity/proc/get_max_wclass(obj/item/organ/external/affected)
|
||||
@@ -24,7 +24,7 @@
|
||||
return ITEMSIZE_NORMAL
|
||||
if (BP_GROIN)
|
||||
return ITEMSIZE_SMALL
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/datum/surgery_step/cavity/proc/get_cavity(obj/item/organ/external/affected)
|
||||
switch (affected.organ_tag)
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
/datum/surgery_step/cavity/place_item/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
return FALSE
|
||||
if(..())
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(istype(user,/mob/living/silicon/robot))
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
/datum/surgery_step/limb/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected)
|
||||
return 0
|
||||
return FALSE
|
||||
var/list/organ_data = target.species.has_limbs["[target_zone]"]
|
||||
return !isnull(organ_data)
|
||||
|
||||
@@ -31,28 +31,28 @@
|
||||
|
||||
/datum/surgery_step/limb/attach/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/E = tool
|
||||
var/obj/item/organ/external/P = target.organs_by_name[E.parent_organ]
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected)
|
||||
to_chat(user, span_warning("Something is in the way! You can't attach [E] here!"))
|
||||
user.balloon_alert(user, "something is in the way!")
|
||||
return 0
|
||||
return FALSE
|
||||
if(!P)
|
||||
to_chat(user, span_warning("There's nothing to attach [E] to!"))
|
||||
user.balloon_alert(user, "there's nothing to attach [E] to!")
|
||||
return 0
|
||||
return FALSE
|
||||
else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT))
|
||||
to_chat(user, span_warning("Attaching [E] to [P] wouldn't work well."))
|
||||
user.balloon_alert(user, "attaching [E] to [P] wouldn't work well")
|
||||
return 0
|
||||
return FALSE
|
||||
else if(istype(E, /obj/item/organ/external/head) && E.robotic >= ORGAN_ROBOT && P.robotic < ORGAN_ROBOT)
|
||||
to_chat(user, span_warning("Attaching [E] to [P] might break [E]."))
|
||||
user.balloon_alert(user, "attaching [E] to [P] might break [E]")
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/limb/attach/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/E = tool
|
||||
@@ -147,7 +147,7 @@
|
||||
var/obj/item/robot_parts/p = tool
|
||||
if (p.part)
|
||||
if (!(target_zone in p.part))
|
||||
return 0
|
||||
return FALSE
|
||||
return isnull(target.get_organ(target_zone))
|
||||
|
||||
/datum/surgery_step/limb/mechanize/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
/datum/surgery_step/necrotic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if (target_zone == O_MOUTH || target_zone == O_EYES)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return affected && affected.open >= FLESH_RETRACTED && (affected.status & ORGAN_DEAD)
|
||||
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
/datum/surgery_step/generic/ripper/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/surgical/scalpel/ripper/tool)
|
||||
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
if(!istype(tool)) //Only rippers can use the ripper!
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(affected.robotic >= ORGAN_ROBOT) //You can't damage robutts.
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return affected && affected.open != 0 && target_zone != O_MOUTH //Have to cut them open at a minimum.
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
/datum/surgery_step/generic/ripper/destroy_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/removable_organs = list()
|
||||
for(var/organ in target.internal_organs_by_name)
|
||||
@@ -109,7 +109,7 @@
|
||||
removable_organs |= organ
|
||||
|
||||
if(!removable_organs.len)
|
||||
return 0
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/surgery_step/generic/ripper/destroy_organ/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
@@ -179,7 +179,7 @@
|
||||
|
||||
/datum/surgery_step/generic/ripper/rip_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/removable_organs = list()
|
||||
for(var/organ in target.internal_organs_by_name)
|
||||
@@ -188,7 +188,7 @@
|
||||
removable_organs[I.name] = organ
|
||||
|
||||
if(!removable_organs.len)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -7,12 +7,19 @@
|
||||
/datum/surgery_step/internal/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(!affected)
|
||||
return FALSE
|
||||
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return affected && affected.open == (affected.encased ? 3 : 2)
|
||||
return FALSE
|
||||
|
||||
if(affected.encased)
|
||||
return affected.open == BONE_RETRACTED
|
||||
|
||||
return affected.open >= FLESH_RETRACTED
|
||||
|
||||
//Removed unused Embryo Surgery, derelict and broken.
|
||||
|
||||
@@ -114,11 +121,6 @@
|
||||
if(I && I.damage > 0)
|
||||
I.take_damage(dam_amt,0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Robo internal organ fix. For when an organic has robotic limbs.
|
||||
/datum/surgery_step/fix_organic_organ_robotic //For artificial organs
|
||||
surgery_name = "Mend Organ"
|
||||
@@ -212,15 +214,15 @@
|
||||
|
||||
/datum/surgery_step/internal/detatch_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
if(!(affected && !(affected.robotic >= ORGAN_ROBOT)))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
target.op_stage.current_organ = null
|
||||
|
||||
@@ -232,9 +234,9 @@
|
||||
|
||||
var/organ_to_remove = tgui_input_list(user, "Which organ do you want to prepare for removal?", "Organ Choice", attached_organs)
|
||||
if(!organ_to_remove)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!attached_organs[organ_to_remove])
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
target.op_stage.current_organ = attached_organs[organ_to_remove]
|
||||
|
||||
@@ -284,10 +286,10 @@
|
||||
|
||||
/datum/surgery_step/internal/remove_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/removable_organs = list()
|
||||
for(var/organ in target.internal_organs_by_name)
|
||||
@@ -296,7 +298,7 @@
|
||||
removable_organs |= organ
|
||||
|
||||
if(!removable_organs.len)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -373,7 +375,7 @@
|
||||
var/organ_missing
|
||||
|
||||
if(!istype(O))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if((affected.robotic >= ORGAN_ROBOT) && !(O.robotic >= ORGAN_ROBOT))
|
||||
to_chat(user, span_danger("You cannot install a naked organ into a robotic body."))
|
||||
@@ -458,10 +460,10 @@
|
||||
|
||||
/datum/surgery_step/internal/attach_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (!..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
target.op_stage.current_organ = null
|
||||
|
||||
@@ -473,7 +475,7 @@
|
||||
|
||||
var/organ_to_replace = tgui_input_list(user, "Which organ do you want to reattach?", "Organ Choice", removable_organs)
|
||||
if(!organ_to_replace)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
target.op_stage.current_organ = removable_organs[organ_to_replace]
|
||||
return ..()
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
|
||||
/datum/surgery_step/fix_vein/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(!affected) return
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return FALSE
|
||||
var/internal_bleeding = 0
|
||||
for(var/datum/wound/W in affected.wounds) if(W.internal)
|
||||
internal_bleeding = 1
|
||||
|
||||
@@ -9,21 +9,21 @@
|
||||
|
||||
/datum/surgery_step/robotics/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if (isslime(target))
|
||||
return 0
|
||||
return FALSE
|
||||
if (target_zone == O_EYES) //there are specific steps for eye surgery
|
||||
return 0
|
||||
return FALSE
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if (affected == null)
|
||||
return 0
|
||||
return FALSE
|
||||
if (affected.status & ORGAN_DESTROYED)
|
||||
return 0
|
||||
return FALSE
|
||||
if (!(affected.robotic == ORGAN_ROBOT || affected.robotic == ORGAN_LIFELIKE)) //VOREStation Edit - No good on ORGAN_NANOFORM
|
||||
return 0
|
||||
return FALSE
|
||||
if(coverage_check(user, target, affected, tool))
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Unscrew Hatch Surgery
|
||||
@@ -212,8 +212,8 @@
|
||||
return SURGERY_FAILURE
|
||||
else
|
||||
if(!welder.isOn() || !welder.remove_fuel(1,user))
|
||||
return 0
|
||||
return affected && affected.open == BONE_RETRACTED && (affected.disfigured || affected.brute_dam > 0) && target_zone != O_MOUTH // CHOMPEdit End.
|
||||
return FALSE //CHOMPEdit End
|
||||
return affected && affected.open == BONE_RETRACTED && (affected.disfigured || affected.brute_dam > 0) && target_zone != O_MOUTH
|
||||
|
||||
/datum/surgery_step/robotics/repair_brute/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -383,9 +383,9 @@
|
||||
/datum/surgery_step/robotics/detatch_organ_robotic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(!(affected && (affected.robotic >= ORGAN_ROBOT)))
|
||||
return 0
|
||||
return FALSE
|
||||
if(affected.open < 3)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/attached_organs = list() //Let's see if we have any organs able to be detached!
|
||||
for(var/organ in target.internal_organs_by_name)
|
||||
@@ -394,7 +394,7 @@
|
||||
attached_organs |= organ
|
||||
|
||||
if(!attached_organs.len) //No organs able to be detached!
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -447,9 +447,9 @@
|
||||
/datum/surgery_step/robotics/attach_organ_robotic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(!(affected && (affected.robotic >= ORGAN_ROBOT)))
|
||||
return 0
|
||||
return FALSE
|
||||
if(affected.open < 3)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/attachable_organs = list()
|
||||
for(var/organ in target.internal_organs_by_name)
|
||||
@@ -458,7 +458,7 @@
|
||||
attachable_organs |= organ
|
||||
|
||||
if(!attachable_organs.len)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -516,10 +516,10 @@
|
||||
var/obj/item/mmi/M = tool
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
if(!(affected && affected.open == BONE_RETRACTED))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!istype(M))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/* VOREStation Edit - Don't worry about it. We can put these in regardless, because resleeving might make it useful after.
|
||||
if(!M.brainmob || !M.brainmob.client || !M.brainmob.ckey || M.brainmob.stat >= DEAD)
|
||||
@@ -542,7 +542,7 @@
|
||||
user.balloon_alert(user, "your subject already has a brain")
|
||||
return SURGERY_FAILURE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/robotics/install_mmi/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
@@ -619,10 +619,10 @@
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
if(!(affected && affected.open == BONE_RETRACTED))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!istype(N))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!N.held_mob.client || N.held_mob.stat >= DEAD)
|
||||
to_chat(user, span_danger("That nymph is not viable."))
|
||||
@@ -649,7 +649,7 @@
|
||||
user.balloon_alert(user, "your subject already has a cephalon")
|
||||
return SURGERY_FAILURE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/robotics/install_nymph/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
@@ -53,25 +53,25 @@
|
||||
if(IS_WRENCH)
|
||||
if(tool.has_tool_quality(TOOL_WRENCH))
|
||||
return allowed_procs[P]
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
|
||||
// Checks if this step applies to the user mob at all
|
||||
/datum/surgery_step/proc/is_valid_target(mob/living/carbon/human/target)
|
||||
if(!ishuman(target))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(allowed_species)
|
||||
for(var/species in allowed_species)
|
||||
if(target.species.get_bodytype() == species)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if(disallowed_species)
|
||||
for(var/species in disallowed_species)
|
||||
if(target.species.get_bodytype() == species)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
// Let's check if stuff blocks us from doing surgery on them
|
||||
// TODO: make it based on area coverage rather than just forbid spacesuits?
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
// checks whether this step can be applied with the given user and target
|
||||
/datum/surgery_step/proc/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// does stuff to begin the step, usually just printing messages. Moved germs transfering and bloodying here too
|
||||
/datum/surgery_step/proc/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
@@ -128,11 +128,11 @@
|
||||
|
||||
/obj/item/proc/can_do_surgery(mob/living/carbon/M, mob/living/user)
|
||||
// if(M == user)
|
||||
// return 0
|
||||
// return FALSE
|
||||
if(!ishuman(M))
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/proc/do_surgery(mob/living/carbon/M, mob/living/user)
|
||||
if(!can_do_surgery(M, user))
|
||||
@@ -164,7 +164,7 @@
|
||||
continue
|
||||
|
||||
if(!available_surgeries.len) //No available surgeries. Failure.
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// Having trouble with an ASSOSCIATED LIST? or REMOVING SOMETHING FROM AN ASSOCIATED LIST? Look here for a quick guide, developed out of frustration.
|
||||
// Note: This is an ultra edge case. Like, what is being done here is horrible and is so rare this should never happen again in the code.
|
||||
|
||||
Reference in New Issue
Block a user