diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 2788905eeb1..0ec2e09497d 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -424,29 +424,24 @@
/obj/item/weapon/weldingtool/attack(var/atom/A, var/mob/living/user, var/def_zone)
if(ishuman(A) && user.a_intent == I_HELP)
- return
- return ..()
-
-/obj/item/weapon/weldingtool/afterattack(var/mob/M, var/mob/user)
-
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
+ var/mob/living/carbon/human/H = A
var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting]
- if(!S || !(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP)
+ if(!S || !(S.status & ORGAN_ROBOT))
return ..()
if(S.brute_dam)
if(S.brute_dam < ROBOLIMB_SELF_REPAIR_CAP)
S.heal_damage(15,0,0,1)
- user.visible_message("\The [user] patches some dents on \the [M]'s [S.name] with \the [src].")
- else if(S.open != 2)
+ user.visible_message("\The [user] patches some dents on \the [H]'s [S.name] with \the [src].")
+ else if(S.open < 3)
user << "The damage is far too severe to patch over externally."
- else if(S.open != 2)
+ else
+ return ..()
+ else
user << "Nothing to fix!"
return
- else
- return ..()
+ return ..()
/*/obj/item/weapon/combitool
name = "combi-tool"
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 12c48a78262..154c1215269 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -515,29 +515,24 @@ obj/structure/cable/proc/cableColor(var/colorC)
//you can use wires to heal robotics
/obj/item/stack/cable_coil/attack(var/atom/A, var/mob/living/user, var/def_zone)
if(ishuman(A) && user.a_intent == I_HELP)
- return
- return ..()
-
-/obj/item/stack/cable_coil/afterattack(var/mob/M, var/mob/user)
-
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
+ var/mob/living/carbon/human/H = A
var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting]
- if(!S || !(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP)
+ if(!S || !(S.status & ORGAN_ROBOT))
return ..()
if(S.burn_dam)
if(S.burn_dam < ROBOLIMB_SELF_REPAIR_CAP)
S.heal_damage(0,15,0,1)
- user.visible_message("\The [user] repairs some burn damage on \the [M]'s [S.name] with \the [src].")
- else if(S.open != 2)
+ user.visible_message("\The [user] repairs some burn damage on \the [H]'s [S.name] with \the [src].")
+ else if(S.open < 3)
user << "The damage is far too severe to patch over externally."
- else if(S.open != 2)
+ else
+ return ..()
+ else
user << "Nothing to fix!"
return
- else
- return ..()
+ return ..()
/obj/item/stack/cable_coil/update_icon()
diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm
index bc971478c1e..7ef998f3f3a 100644
--- a/code/modules/surgery/robotics.dm
+++ b/code/modules/surgery/robotics.dm
@@ -166,15 +166,15 @@
if(..())
var/obj/item/stack/cable_coil/C = tool
var/obj/item/organ/external/affected = target.get_organ(target_zone)
- var/limb_can_operate = (affected && affected.open == 2 && (affected.disfigured || affected.burn_dam > 0) && target_zone != O_MOUTH)
+ var/limb_can_operate = ((affected && affected.open >= 3) && (affected.disfigured || affected.burn_dam > 0) && target_zone != O_MOUTH)
if(limb_can_operate)
if(istype(C))
if(!C.get_amount() >= 3)
user << "You need three or more cable pieces to repair this damage."
return SURGERY_FAILURE
C.use(3)
- return 1
- return 0
+ return 1
+ return SURGERY_FAILURE
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)