mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Fixes multisurgery, reduces surgical times (#16779)
* Fixes multisurgery, reduces surgical times * Reflect laser scalpels in CL
This commit is contained in:
@@ -12,8 +12,8 @@
|
||||
can_infect = TRUE
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 60
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
|
||||
/singleton/surgery_step/glue_bone/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -48,8 +48,8 @@
|
||||
WRENCH = 75 \
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 70
|
||||
min_duration = 30
|
||||
max_duration = 50
|
||||
|
||||
/singleton/surgery_step/set_bone/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -88,8 +88,8 @@
|
||||
WRENCH = 75 \
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 70
|
||||
min_duration = 40
|
||||
max_duration = 50
|
||||
|
||||
/singleton/surgery_step/mend_skull/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -125,8 +125,8 @@
|
||||
can_infect = TRUE
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 60
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
|
||||
/singleton/surgery_step/finish_bone/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -153,4 +153,4 @@
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message(SPAN_WARNING("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!") , \
|
||||
SPAN_WARNING("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"))
|
||||
target.apply_damage(15, DAMAGE_PAIN)
|
||||
target.apply_damage(15, DAMAGE_PAIN)
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
/obj/item/material/hatchet = 75
|
||||
)
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
min_duration = 30
|
||||
max_duration = 50
|
||||
|
||||
/singleton/surgery_step/open_encased/saw/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -71,8 +71,8 @@
|
||||
/obj/item/crowbar = 75
|
||||
)
|
||||
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
min_duration = 20
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/open_encased/retract/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -123,7 +123,7 @@
|
||||
)
|
||||
|
||||
min_duration = 20
|
||||
max_duration = 40
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/open_encased/close/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -181,7 +181,7 @@
|
||||
)
|
||||
|
||||
min_duration = 20
|
||||
max_duration = 40
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/open_encased/mend/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -211,4 +211,4 @@
|
||||
target.custom_pain("Something hurts horribly in your [affected.name]!", 75)
|
||||
..()
|
||||
|
||||
affected.open = ORGAN_OPEN_RETRACTED
|
||||
affected.open = ORGAN_OPEN_RETRACTED
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
/obj/item/material/shard = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/generic/cut_face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone == BP_MOUTH && target.op_stage.face == FACE_NORMAL
|
||||
@@ -62,8 +62,8 @@
|
||||
/obj/item/material/shard = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/robotics/face/synthskin/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target.op_stage.face == FACE_NORMAL && target.get_species() == SPECIES_IPC_SHELL
|
||||
@@ -81,4 +81,4 @@
|
||||
/singleton/surgery_step/robotics/face/synthskin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
user.visible_message(SPAN_WARNING("[user]'s hand slips, slicing [target]'s throat wth \the [tool]!") , \
|
||||
SPAN_WARNING("Your hand slips, slicing [target]'s throat wth \the [tool]!") )
|
||||
target.apply_damage(40, DAMAGE_BRUTE, target_zone, 0, tool, damage_flags = tool.damage_flags())
|
||||
target.apply_damage(40, DAMAGE_BRUTE, target_zone, 0, tool, damage_flags = tool.damage_flags())
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
/obj/item/material/knife/tacknife = 75
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/generic/prepare_face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone == BP_MOUTH && target.op_stage.face == FACE_CUT_OPEN
|
||||
@@ -55,8 +55,8 @@
|
||||
/obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity.
|
||||
)
|
||||
|
||||
min_duration = 40
|
||||
max_duration = 90
|
||||
min_duration = 30
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/generic/alter_face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone == BP_MOUTH && target.op_stage.face == FACE_RETRACTED
|
||||
@@ -102,8 +102,8 @@
|
||||
/obj/item/weldingtool = 25
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 100
|
||||
min_duration = 50
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/face/cauterize/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target.op_stage.face > FACE_NORMAL
|
||||
@@ -145,8 +145,8 @@
|
||||
/obj/item/material/shard = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/robotics/face/synthskinopen/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target.op_stage.face == FACE_NORMAL && target.get_species() == SPECIES_IPC_SHELL
|
||||
@@ -173,8 +173,8 @@
|
||||
/obj/item/material/knife/tacknife = 75
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/robotics/face/prepare_face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone == BP_MOUTH && target.op_stage.face == FACE_CUT_OPEN
|
||||
@@ -202,8 +202,8 @@
|
||||
/obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity.
|
||||
)
|
||||
|
||||
min_duration = 40
|
||||
max_duration = 90
|
||||
min_duration = 30
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/robotics/face/alter_synthface/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone == BP_MOUTH && target.op_stage.face == FACE_RETRACTED
|
||||
@@ -247,8 +247,8 @@
|
||||
/obj/item/weldingtool = 25
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 100
|
||||
min_duration = 50
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/robotics/face/seal_face/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target.op_stage.face > FACE_NORMAL
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
/obj/item/surgery/scalpel/laser1 = 75
|
||||
)
|
||||
priority = 2
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/generic/cut_with_laser/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -73,8 +73,8 @@
|
||||
/obj/item/surgery/scalpel/manager = 100
|
||||
)
|
||||
priority = 2
|
||||
min_duration = 80
|
||||
max_duration = 120
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/generic/incision_manager/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -117,8 +117,8 @@
|
||||
/obj/item/material/shard = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/generic/cut_open/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -161,8 +161,8 @@
|
||||
/obj/item/pickaxe/ = 15
|
||||
)
|
||||
|
||||
min_duration = 110
|
||||
max_duration = 130
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
|
||||
/singleton/surgery_step/generic/cut_open_vaurca/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -205,8 +205,8 @@
|
||||
/obj/item/device/assembly/mousetrap = 20
|
||||
)
|
||||
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
min_duration = 20
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/generic/clamp_bleeders/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -244,8 +244,8 @@
|
||||
/obj/item/material/kitchen/utensil/fork = 50
|
||||
)
|
||||
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
min_duration = 20
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/generic/retract_skin/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -303,8 +303,8 @@
|
||||
/obj/item/weldingtool = 75
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 100
|
||||
min_duration = 40
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/generic/cauterize/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
/obj/item/stack/rods = 50
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/cavity/make_space/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -80,8 +80,8 @@
|
||||
/obj/item/weldingtool = 25
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/cavity/close_space/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -107,8 +107,8 @@
|
||||
priority = 0
|
||||
allowed_tools = list(/obj/item = 100)
|
||||
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/cavity/place_item/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -162,8 +162,8 @@
|
||||
/obj/item/material/kitchen/utensil/fork = 20
|
||||
)
|
||||
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/cavity/implant_removal/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
name = "Replace Limb"
|
||||
allowed_tools = list(/obj/item/organ/external = 100)
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
|
||||
/singleton/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
|
||||
@@ -58,8 +58,8 @@
|
||||
)
|
||||
can_infect = TRUE
|
||||
|
||||
min_duration = 100
|
||||
max_duration = 120
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
|
||||
/singleton/surgery_step/limb/connect/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -95,8 +95,8 @@
|
||||
name = "Attach Prosthetic Limb"
|
||||
allowed_tools = list(/obj/item/robot_parts = 100)
|
||||
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/limb/mechanize/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -138,4 +138,4 @@
|
||||
/singleton/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
user.visible_message(SPAN_WARNING("[user]'s hand slips, damaging [target]'s flesh!"), \
|
||||
SPAN_WARNING("Your hand slips, damaging [target]'s flesh!"))
|
||||
target.apply_damage(10, DAMAGE_BRUTE, null, damage_flags = DAMAGE_FLAG_SHARP)
|
||||
target.apply_damage(10, DAMAGE_BRUTE, null, damage_flags = DAMAGE_FLAG_SHARP)
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
/obj/item/stack/medical/bruise_pack = 20
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/internal/fix_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -113,8 +113,8 @@
|
||||
SCREWDRIVER = 70
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/internal/fix_organ_robotic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -183,8 +183,8 @@
|
||||
/obj/item/material/shard = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/internal/detach_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -246,8 +246,8 @@
|
||||
/obj/item/material/kitchen/utensil/fork = 20
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
|
||||
/singleton/surgery_step/internal/remove_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -305,8 +305,8 @@
|
||||
/obj/item/organ = 100
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
|
||||
/singleton/surgery_step/internal/replace_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -410,8 +410,8 @@
|
||||
/obj/item/stack/cable_coil = 75
|
||||
)
|
||||
|
||||
min_duration = 100
|
||||
max_duration = 120
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
|
||||
/singleton/surgery_step/internal/attach_organ/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -464,8 +464,8 @@
|
||||
/obj/item/pickaxe/ = 5
|
||||
)
|
||||
|
||||
min_duration = 100
|
||||
max_duration = 120
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
|
||||
/singleton/surgery_step/internal/prepare/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
can_infect = TRUE
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
|
||||
/singleton/surgery_step/fix_vein/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -62,8 +62,8 @@
|
||||
can_infect = TRUE
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 110
|
||||
max_duration = 160
|
||||
min_duration = 80
|
||||
max_duration = 130
|
||||
|
||||
/singleton/surgery_step/internal/fix_dead_tissue/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -127,8 +127,8 @@
|
||||
can_infect = FALSE
|
||||
blood_level = 0
|
||||
|
||||
min_duration = 100
|
||||
max_duration = 110
|
||||
min_duration = 80
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/treat_necrosis/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -193,8 +193,8 @@
|
||||
can_infect = TRUE
|
||||
blood_level = 1
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
min_duration = 50
|
||||
max_duration = 70
|
||||
|
||||
/singleton/surgery_step/fix_tendon/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -234,8 +234,8 @@
|
||||
can_infect = FALSE
|
||||
blood_level = 0
|
||||
|
||||
min_duration = 120
|
||||
max_duration = 180
|
||||
min_duration = 100
|
||||
max_duration = 160
|
||||
|
||||
/singleton/surgery_step/hardsuit/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -271,8 +271,8 @@
|
||||
/obj/item/material/hatchet = 55
|
||||
)
|
||||
|
||||
min_duration = 110
|
||||
max_duration = 160
|
||||
min_duration = 90
|
||||
max_duration = 140
|
||||
|
||||
/singleton/surgery_step/amputate/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
/obj/item/material/kitchen/utensil/knife = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
requires_surgery_compatibility = FALSE
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
/obj/item/material/kitchen/utensil/knife = 50
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
requires_surgery_compatibility = FALSE
|
||||
|
||||
@@ -114,8 +114,8 @@
|
||||
/obj/item/material/kitchen/utensil = 50
|
||||
)
|
||||
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
min_duration = 20
|
||||
max_duration = 30
|
||||
|
||||
/singleton/surgery_step/robotics/open_hatch/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -151,8 +151,8 @@
|
||||
/obj/item/material/kitchen/utensil = 50
|
||||
)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 100
|
||||
min_duration = 50
|
||||
max_duration = 80
|
||||
|
||||
/singleton/surgery_step/robotics/close_hatch/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -191,8 +191,8 @@
|
||||
/obj/item/gun/energy/plasmacutter = 50
|
||||
)
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 60
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
|
||||
/singleton/surgery_step/robotics/repair_brute/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -236,8 +236,8 @@
|
||||
/obj/item/stack/cable_coil/cyborg = 100
|
||||
)
|
||||
|
||||
min_duration = 50
|
||||
max_duration = 60
|
||||
min_duration = 30
|
||||
max_duration = 40
|
||||
|
||||
/singleton/surgery_step/robotics/repair_burn/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -279,8 +279,8 @@
|
||||
/obj/item/device/multitool = 100
|
||||
)
|
||||
|
||||
min_duration = 90
|
||||
max_duration = 110
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
/singleton/surgery_step/robotics/detach_organ_robotic/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
@@ -329,8 +329,8 @@
|
||||
SCREWDRIVER = 100
|
||||
)
|
||||
|
||||
min_duration = 100
|
||||
max_duration = 120
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
|
||||
requires_surgery_compatibility = FALSE
|
||||
|
||||
@@ -380,8 +380,8 @@
|
||||
/obj/item/device/mmi = 100
|
||||
)
|
||||
|
||||
min_duration = 60
|
||||
max_duration = 80
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
|
||||
/singleton/surgery_step/robotics/install_mmi/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!..())
|
||||
|
||||
@@ -122,6 +122,13 @@
|
||||
to_chat(user, SPAN_WARNING("You can't operate on this area while surgery is already in progress."))
|
||||
return TRUE
|
||||
|
||||
//Check that one surgeon is not doing multiple surgeries at once
|
||||
for(var/surg in M.op_stage.in_progress)
|
||||
var/current_surgeon = M.op_stage.in_progress[surg]
|
||||
if(user == current_surgeon)
|
||||
to_chat(user, SPAN_WARNING("You can only focus on one surgery at a time!"))
|
||||
return TRUE
|
||||
|
||||
// What surgeries does our tool/target enable?
|
||||
var/list/possible_surgeries
|
||||
var/list/all_surgeries = GET_SINGLETON_SUBTYPE_MAP(/singleton/surgery_step)
|
||||
@@ -151,17 +158,17 @@
|
||||
if(zone in M.op_stage.in_progress)
|
||||
to_chat(user, SPAN_WARNING("You can't operate on this area while surgery is already in progress."))
|
||||
else if(S.is_valid_target(M))
|
||||
M.op_stage.in_progress += zone
|
||||
M.op_stage.in_progress += list(zone = user)
|
||||
S.begin_step(user, M, zone, tool)
|
||||
var/duration = rand(S.min_duration, S.max_duration)
|
||||
if(prob(S.tool_quality(tool)) && do_mob(user, M, duration))
|
||||
if(prob(S.tool_quality(tool)) && do_mob(user, M, duration) && !autofail)
|
||||
S.end_step(user, M, zone, tool)
|
||||
else if ((tool in user.contents) && user.Adjacent(M))
|
||||
S.fail_step(user, M, zone, tool)
|
||||
else
|
||||
to_chat(user, SPAN_WARNING("You must remain close to your patient to conduct surgery."))
|
||||
if(!QDELETED(M))
|
||||
M.op_stage.in_progress -= zone
|
||||
M.op_stage.in_progress -= list(zone = user)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.update_surgery()
|
||||
|
||||
Reference in New Issue
Block a user