diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index cb11dce0b50..bb0858a79ed 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -239,6 +239,22 @@ update_flag ..() /obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + if(istype(W, /obj/item/weapon/weldingtool)) //Vorestart: Deconstructable Canisters + var/obj/item/weapon/weldingtool/WT = W + if(!WT.remove_fuel(0, user)) + to_chat(user, "The welding tool must be on to complete this task.") + return + if(air_contents.return_pressure() > 1 && !destroyed) // Empty or broken cans are able to be deconstructed + to_chat(user, "\The [src]'s internal pressure is too high! Empty the canister before attempting to weld it apart.") + return + playsound(src, WT.usesound, 50, 1) + if(do_after(user, 20 * WT.toolspeed)) + if(!src || !WT.isOn()) return + to_chat(user, "You deconstruct the [src].") + new /obj/item/stack/material/steel( src.loc, 10) + qdel(src) + return + //Voreend if(!W.is_wrench() && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda)) visible_message("\The [user] hits \the [src] with \a [W]!") src.health -= W.force @@ -332,7 +348,7 @@ update_flag pressure = 10*ONE_ATMOSPHERE . = TRUE else if(pressure == "input") - pressure = tgui_input_number(usr, "New release pressure ([ONE_ATMOSPHERE/10]-[10*ONE_ATMOSPHERE] kPa):", name, release_pressure, 10*ONE_ATMOSPHERE, ONE_ATMOSPHERE/10) + pressure = tgui_input_number(usr, "New release pressure ([ONE_ATMOSPHERE/10]-[10*ONE_ATMOSPHERE] kPa):", name, release_pressure, 10*ONE_ATMOSPHERE, ONE_ATMOSPHERE/10) if(!isnull(pressure) && !..()) . = TRUE else if(text2num(pressure) != null) @@ -452,4 +468,4 @@ update_flag /obj/machinery/portable_atmospherics/canister/take_damage(var/damage) src.health -= damage - healthcheck() \ No newline at end of file + healthcheck()