From 2654352d0c7b7c22745eefb2d6b854164128ee2b Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Sat, 18 Apr 2020 17:37:19 -0400
Subject: [PATCH] tg surgery fixes time
---
code/modules/surgery/helpers.dm | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm
index 773048f838..7a92b39692 100644
--- a/code/modules/surgery/helpers.dm
+++ b/code/modules/surgery/helpers.dm
@@ -89,18 +89,23 @@
"You remove [I] from [M]'s [parse_zone(selected_zone)].")
qdel(S)
else if(S.can_cancel)
- var/close_tool_type = /obj/item/cautery
+ var/required_tool_type = TOOL_CAUTERY
var/obj/item/close_tool = user.get_inactive_held_item()
var/is_robotic = S.requires_bodypart_type == BODYPART_ROBOTIC
if(is_robotic)
- close_tool_type = /obj/item/screwdriver
- if(istype(close_tool, close_tool_type) || iscyborg(user))
- M.surgeries -= S
- user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \
- "You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].")
- qdel(S)
- else
+ required_tool_type = TOOL_SCREWDRIVER
+ if(iscyborg(user))
+ close_tool = locate(/obj/item/cautery) in user.held_items
+ if(!close_tool)
+ to_chat(user, "You need to equip a cautery in an inactive slot to stop [M]'s surgery!")
+ return
+ else if(!close_tool || close_tool.tool_behaviour != required_tool_type)
to_chat(user, "You need to hold a [is_robotic ? "screwdriver" : "cautery"] in your inactive hand to stop [M]'s surgery!")
+ return
+ M.surgeries -= S
+ user.visible_message("[user] closes [M]'s [parse_zone(selected_zone)] with [close_tool] and removes [I].", \
+ "You close [M]'s [parse_zone(selected_zone)] with [close_tool] and remove [I].")
+ qdel(S)
/proc/get_location_modifier(mob/M)
var/turf/T = get_turf(M)