From b3b2b62021d9c89562f376acca454c7d4f1baaeb Mon Sep 17 00:00:00 2001 From: Core0verload Date: Fri, 20 Jan 2017 06:01:55 +0300 Subject: [PATCH] Allows any sharp item for "incise" surgery step (30% success) (#22656) * Allows any sharp item for "incise" step * difines --- code/modules/surgery/generic_steps.dm | 35 +++++++++++++++++++-------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/code/modules/surgery/generic_steps.dm b/code/modules/surgery/generic_steps.dm index 85954f8c3f5..45af0c659ef 100644 --- a/code/modules/surgery/generic_steps.dm +++ b/code/modules/surgery/generic_steps.dm @@ -2,13 +2,19 @@ //make incision /datum/surgery_step/incise name = "make incision" - implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/melee/energy/sword = 75, /obj/item/weapon/kitchen/knife = 65, /obj/item/weapon/shard = 45) + implements = list(/obj/item/weapon/scalpel = 100, /obj/item/weapon/melee/energy/sword = 75, /obj/item/weapon/kitchen/knife = 65, + /obj/item/weapon/shard = 45, /obj/item = 30) // 30% success with any sharp item. time = 16 /datum/surgery_step/incise/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to make an incision in [target]'s [parse_zone(target_zone)].", "You begin to make an incision in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to make an incision in [target]'s [parse_zone(target_zone)].", + "You begin to make an incision in [target]'s [parse_zone(target_zone)]...") +/datum/surgery_step/incise/tool_check(mob/user, obj/item/tool) + if(implement_type == /obj/item && !tool.is_sharp()) + return FALSE + return TRUE //clamp bleeders /datum/surgery_step/clamp_bleeders @@ -17,7 +23,8 @@ time = 24 /datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].", "You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].", + "You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]...") /datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(locate(/datum/surgery_step/saw) in surgery.steps) @@ -32,18 +39,21 @@ time = 24 /datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].", "You begin to retract the skin in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].", + "You begin to retract the skin in [target]'s [parse_zone(target_zone)]...") //close incision /datum/surgery_step/close name = "mend incision" - implements = list(/obj/item/weapon/cautery = 100, /obj/item/weapon/gun/energy/laser = 90, /obj/item/weapon/weldingtool = 70, /obj/item/weapon/lighter = 45, /obj/item/weapon/match = 20) + implements = list(/obj/item/weapon/cautery = 100, /obj/item/weapon/gun/energy/laser = 90, /obj/item/weapon/weldingtool = 70, + /obj/item/weapon/lighter = 45, /obj/item/weapon/match = 20) time = 24 /datum/surgery_step/close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].", "You begin to mend the incision in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].", + "You begin to mend the incision in [target]'s [parse_zone(target_zone)]...") /datum/surgery_step/close/tool_check(mob/user, obj/item/tool) @@ -77,11 +87,14 @@ //saw bone /datum/surgery_step/saw name = "saw bone" - implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, /obj/item/weapon/melee/arm_blade = 75, /obj/item/weapon/mounted_chainsaw = 65, /obj/item/weapon/twohanded/required/chainsaw = 50, /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25) + implements = list(/obj/item/weapon/circular_saw = 100, /obj/item/weapon/melee/energy/sword/cyborg/saw = 100, + /obj/item/weapon/melee/arm_blade = 75, /obj/item/weapon/mounted_chainsaw = 65, /obj/item/weapon/twohanded/required/chainsaw = 50, + /obj/item/weapon/twohanded/fireaxe = 50, /obj/item/weapon/hatchet = 35, /obj/item/weapon/kitchen/knife/butcher = 25) time = 54 /datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].", "You begin to saw through the bone in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].", + "You begin to saw through the bone in [target]'s [parse_zone(target_zone)]...") /datum/surgery_step/saw/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) target.apply_damage(50,"brute","[target_zone]") @@ -96,8 +109,10 @@ time = 30 /datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].", "You begin to drill into the bone in [target]'s [parse_zone(target_zone)]...") + user.visible_message("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].", + "You begin to drill into the bone in [target]'s [parse_zone(target_zone)]...") /datum/surgery_step/drill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user] drills into [target]'s [parse_zone(target_zone)]!", "You drill into [target]'s [parse_zone(target_zone)].") + user.visible_message("[user] drills into [target]'s [parse_zone(target_zone)]!", + "You drill into [target]'s [parse_zone(target_zone)].") return 1