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)