diff --git a/code/ATMOSPHERICS/datum_pipe_network.dm b/code/ATMOSPHERICS/datum_pipe_network.dm index 7fe586733c..8441461342 100644 --- a/code/ATMOSPHERICS/datum_pipe_network.dm +++ b/code/ATMOSPHERICS/datum_pipe_network.dm @@ -16,6 +16,15 @@ datum/pipe_network ..() + Destroy() + pipe_networks -= src + for(var/datum/pipeline/line_member in line_members) + line_member.network = null + for(var/obj/machinery/atmospherics/normal_member in normal_members) + normal_member.reassign_network(src, null) + gases.Cut() // Do not qdel the gases, we don't own them + return ..() + proc/process() //Equalize gases amongst pipe if called for if(update) diff --git a/code/ATMOSPHERICS/datum_pipeline.dm b/code/ATMOSPHERICS/datum_pipeline.dm index 0aece2d139..0115c85c3d 100644 --- a/code/ATMOSPHERICS/datum_pipeline.dm +++ b/code/ATMOSPHERICS/datum_pipeline.dm @@ -14,6 +14,8 @@ datum/pipeline if(air && air.volume) temporarily_store_air() + for(var/obj/machinery/atmospherics/pipe/P in members) + P.parent = null . = ..()