mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
makes air flow; fixes EVERYTHING
This commit is contained in:
@@ -31,7 +31,7 @@ Iconnery
|
||||
*/
|
||||
|
||||
/obj/machinery/atmospherics/components/proc/icon_addintact(var/obj/machinery/atmospherics/node, var/connected = 0)
|
||||
var/image/img = getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color)
|
||||
var/image/img = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color)
|
||||
underlays += img
|
||||
|
||||
return connected | img.dir
|
||||
@@ -40,7 +40,7 @@ Iconnery
|
||||
var/unconnected = (~connected) & initialize_directions
|
||||
for(var/direction in cardinal)
|
||||
if(unconnected & direction)
|
||||
underlays += getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "pipe_exposed", direction)
|
||||
underlays += getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_exposed", direction)
|
||||
|
||||
/obj/machinery/atmospherics/components/proc/update_icon_nopipes()
|
||||
return
|
||||
@@ -85,15 +85,14 @@ Pipenet stuff; housekeeping
|
||||
|
||||
/obj/machinery/atmospherics/components/construction()
|
||||
..()
|
||||
for(var/datum/pipeline/P in parents)
|
||||
P.update = 1
|
||||
update_parents()
|
||||
|
||||
/obj/machinery/atmospherics/components/build_network() //doesn't work
|
||||
/obj/machinery/atmospherics/components/build_network()
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
if(!parents["p[I]"])
|
||||
var/datum/pipeline/P = new
|
||||
parents["p[I]"] = new /datum/pipeline()
|
||||
var/datum/pipeline/P = parents["p[I]"]
|
||||
P.build_pipeline(src)
|
||||
parents["p[I]"] = P
|
||||
|
||||
/obj/machinery/atmospherics/components/disconnect(obj/machinery/atmospherics/reference)
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
@@ -118,13 +117,18 @@ Pipenet stuff; housekeeping
|
||||
if(reference == parents["p[I]"])
|
||||
return airs["a[I]"]
|
||||
|
||||
/obj/machinery/atmospherics/components/pipeline_expansion(datum/pipeline/reference) //runtime
|
||||
/obj/machinery/atmospherics/components/pipeline_expansion(datum/pipeline/reference)
|
||||
if(reference)
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
if(nodes["n[I]"])
|
||||
if(parents["p[I]"] == reference)
|
||||
return list("n" = nodes["n1"])
|
||||
return nodes
|
||||
return list("n" = nodes["n[I]"])
|
||||
|
||||
var/list/obj/machinery/atmospherics/return_nodes = list()
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
return_nodes += nodes["n[I]"]
|
||||
|
||||
return return_nodes
|
||||
|
||||
/obj/machinery/atmospherics/components/setPipenet(datum/pipeline/reference, obj/machinery/atmospherics/A)
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
@@ -153,19 +157,18 @@ Pipenet stuff; housekeeping
|
||||
var/lost = null
|
||||
var/times_lost = 0
|
||||
for(var/A = 1; A <= device_type; A++)
|
||||
var/datum/gas_mixture/air = airs[A]
|
||||
var/datum/gas_mixture/air = airs["a[A]"]
|
||||
lost += pressures*environment.volume/(air.temperature * R_IDEAL_GAS_EQUATION)
|
||||
times_lost++
|
||||
var/shared_loss = lost/times_lost
|
||||
|
||||
var/datum/gas_mixture/to_release
|
||||
for(var/A = 1; A <= device_type; A++)
|
||||
var/datum/gas_mixture/air = airs[A]
|
||||
var/datum/gas_mixture/air = airs["a[A]"]
|
||||
if(!to_release)
|
||||
to_release = air.remove(shared_loss)
|
||||
continue
|
||||
to_release.merge(air.remove(shared_loss))
|
||||
airs[A] = air
|
||||
T.assume_air(to_release)
|
||||
air_update_turf(1)
|
||||
|
||||
@@ -184,5 +187,6 @@ Helpers
|
||||
*/
|
||||
|
||||
/obj/machinery/atmospherics/components/proc/update_parents()
|
||||
for(var/datum/pipeline/parent in parents)
|
||||
for(var/I = 1; I <= device_type; I++)
|
||||
var/datum/pipeline/parent = parents["p[I]"]
|
||||
parent.update = 1
|
||||
Reference in New Issue
Block a user