diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 06cbcd86f2..d35dad9f08 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -111,23 +111,23 @@ if(affecting && affecting.is_robotic_limb() && user.a_intent != INTENT_HARM) //only heal to threshhold_passed_mindamage if limb is damaged to or past threshhold, otherwise heal normally - var/damage = affecting.brute_dam + var/damage var/heal_amount = 15 - affecting.update_threshhold_state(burn = FALSE) - - if(affecting.threshhold_brute_passed) - heal_amount = min(heal_amount, damage - affecting.threshhold_passed_mindamage) - - if(!heal_amount) - to_chat(user, "") - return if(src.use_tool(H, user, 0, volume=50, amount=1)) if(user == H) user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", "You start fixing some of the dents on [H]'s [affecting.name].") if(!do_mob(user, H, 50)) return + damage = affecting.brute_dam + affecting.update_threshhold_state(burn = FALSE) + if(affecting.threshhold_brute_passed) + heal_amount = min(heal_amount, damage - affecting.threshhold_passed_mindamage) + + if(!heal_amount) + to_chat(user, "[user == H ? "Your" : "[H]'s"] [affecting.name] appears to have suffered severe internal damage and requires surgery to repair further.") + return item_heal_robotic(H, user, heal_amount, 0) else return ..() diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 5fbdc57acb..59f869627c 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -550,20 +550,20 @@ By design, d1 is the smallest direction and d2 is the highest var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) if(affecting && affecting.is_robotic_limb()) //only heal to threshhold_passed_mindamage if limb is damaged to or past threshhold, otherwise heal normally - var/damage = affecting.burn_dam + var/damage var/heal_amount = 15 + if(user == H) + user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H]'s [affecting.name].") + if(!do_mob(user, H, 50)) + return + damage = affecting.burn_dam affecting.update_threshhold_state(brute = FALSE) - if(affecting.threshhold_burn_passed) heal_amount = min(heal_amount, damage - affecting.threshhold_passed_mindamage) if(!heal_amount) - to_chat(user, "") - return - if(user == H) - user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H]'s [affecting.name].") - if(!do_mob(user, H, 50)) + to_chat(user, "[user == H ? "Your" : "[H]'s"] [affecting.name] appears to have suffered severe internal damage and requires surgery to repair further.") return if(item_heal_robotic(H, user, 0, heal_amount)) use(1)