diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 147e07fe1d..c8555e47ad 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1131,8 +1131,8 @@ /obj/machinery/door/airlock/try_to_weld(obj/item/weapon/weldingtool/W, mob/user) if(!operating && density) - if(W.remove_fuel(0,user)) - if(user.a_intent != INTENT_HELP) + if(user.a_intent != INTENT_HELP) + if(W.remove_fuel(0,user)) user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \ "You begin [welded ? "unwelding":"welding"] the airlock...", \ "You hear welding.") @@ -1143,18 +1143,22 @@ user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \ "You [welded ? "weld the airlock shut":"unweld the airlock"].") update_icon() - else if(obj_integrity < max_integrity) - user.visible_message("[user] is welding the airlock.", \ - "You begin repairing the airlock...", \ - "You hear welding.") - playsound(loc, W.usesound, 40, 1) - if(do_after(user,40*W.toolspeed, 1, target = src, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) - playsound(loc, 'sound/items/Welder2.ogg', 50, 1) - obj_integrity = max_integrity - stat &= ~BROKEN - user.visible_message("[user.name] has repaired [src].", \ - "You finish repairing the airlock.") - update_icon() + else + if(obj_integrity < max_integrity) + if(W.remove_fuel(0,user)) + user.visible_message("[user] is welding the airlock.", \ + "You begin repairing the airlock...", \ + "You hear welding.") + playsound(loc, W.usesound, 40, 1) + if(do_after(user,40*W.toolspeed, 1, target = src, extra_checks = CALLBACK(src, .proc/weld_checks, W, user))) + playsound(loc, 'sound/items/Welder2.ogg', 50, 1) + obj_integrity = max_integrity + stat &= ~BROKEN + user.visible_message("[user.name] has repaired [src].", \ + "You finish repairing the airlock.") + update_icon() + else + to_chat(user, "The airlock doesn't need repairing.") /obj/machinery/door/airlock/proc/weld_checks(obj/item/weapon/weldingtool/W, mob/user) return !operating && density && user && W && W.isOn() && user.loc