diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index 1d5fab14a97..f7098594a93 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -77,14 +77,13 @@ Pipelines + Other Objects -> Pipe network
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
+ add_fingerprint(user)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "You cannot unwrench this [src], it is too exerted due to internal pressure."
- add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You begin to unfasten \the [src]..."
- add_fingerprint(user)
- if (do_after(user, 40))
+ if (do_after(user, 40) && !gc_destroyed)
user.visible_message( \
"[user] unfastens \the [src].", \
"You have unfastened \the [src].", \
@@ -94,16 +93,15 @@ Pipelines + Other Objects -> Pipe network
return ..()
/obj/machinery/atmospherics/Deconstruct()
- if(can_unwrench)
- var/turf/T = loc
- stored.loc = T
- transfer_fingerprints_to(stored)
- if(istype(src, /obj/machinery/atmospherics/pipe))
- for(var/obj/machinery/meter/meter in T)
- if(meter.target == src)
- new /obj/item/pipe_meter(T)
- qdel(meter)
- qdel(src)
+ var/turf/T = loc
+ stored.loc = T
+ transfer_fingerprints_to(stored)
+ if(istype(src, /obj/machinery/atmospherics/pipe))
+ for(var/obj/machinery/meter/meter in T)
+ if(meter.target == src)
+ new /obj/item/pipe_meter(T)
+ qdel(meter)
+ qdel(src)
/obj/machinery/atmospherics/proc/nullifyPipenet(datum/pipeline/P)
P.other_atmosmch -= src