makes air flow; fixes EVERYTHING

This commit is contained in:
duncathan
2015-07-11 18:45:19 -06:00
parent 0e004e3939
commit e074fb7856
58 changed files with 1941 additions and 1939 deletions
+18 -14
View File
@@ -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