diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm index f4d8d54805..0b848968d1 100644 --- a/code/modules/atmospherics/machinery/datum_pipeline.dm +++ b/code/modules/atmospherics/machinery/datum_pipeline.dm @@ -105,6 +105,8 @@ addMachineryMember(A) /datum/pipeline/proc/merge(datum/pipeline/E) + if(E == src) + return air.volume += E.air.volume members.Add(E.members) for(var/obj/machinery/atmospherics/pipe/S in E.members) diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 73aaa16820..477cbbc76d 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -79,9 +79,10 @@ parent = P /obj/machinery/atmospherics/pipe/Destroy() + QDEL_NULL(parent) + releaseAirToTurf() - qdel(air_temporary) - air_temporary = null + QDEL_NULL(air_temporary) var/turf/T = loc for(var/obj/machinery/meter/meter in T) @@ -91,8 +92,6 @@ qdel(meter) . = ..() - QDEL_NULL(parent) - /obj/machinery/atmospherics/pipe/proc/update_node_icon() for(var/i in 1 to device_type) if(nodes[i])