diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 2d851669879..66e16b77487 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -183,6 +183,11 @@ take_damage(round(Proj.damage / 2)) ..() +/obj/machinery/door/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > T0C + 800) + take_damage(round(exposed_volume / 200)) + ..() + //When an object is thrown at the window /obj/machinery/door/window/hitby(AM as mob|obj) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 1284b9b0aaf..b7a263110f3 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -218,18 +218,17 @@ state = (state == 0 ? 1 : 0) user << (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame.") - else if(istype(I, /obj/item/weapon/weldingtool)) + else if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == "help") var/obj/item/weapon/weldingtool/WT = I - if(user.a_intent == "help") //so you can still break windows with welding tools - if(health < maxhealth) - if(WT.remove_fuel(0,user)) - user << "You begin repairing [src]..." - playsound(loc, 'sound/items/Welder.ogg', 40, 1) - if(do_after(user, 40)) - health = maxhealth - playsound(loc, 'sound/items/Welder2.ogg', 50, 1) - else - user << "[src] is already in good condition!" + if(health < maxhealth) + if(WT.remove_fuel(0,user)) + user << "You begin repairing [src]..." + playsound(loc, 'sound/items/Welder.ogg', 40, 1) + if(do_after(user, 40)) + health = maxhealth + playsound(loc, 'sound/items/Welder2.ogg', 50, 1) + else + user << "[src] is already in good condition!" update_nearby_icons() else if(istype(I, /obj/item/weapon/wrench) && !anchored)