Zoned Atmos System, merged properly from aryn's repo.

- Explosive (de)compression, breaches are much more fun!
- Improved fire
- Faster system, with less splitting

Signed-off-by: unknown <Colm@Blue.(none)>
This commit is contained in:
unknown
2012-03-15 22:40:00 +00:00
parent ba7768074c
commit 4861e100be
20 changed files with 339 additions and 244 deletions
@@ -77,6 +77,8 @@
var/datum/gas_mixture/removed = air1.remove(transfer_moles)
if(istype(removed))
AirflowRepel(loc,removed.return_pressure())
loc.assume_air(removed)
if(network1)
@@ -95,6 +97,8 @@
var/transfer_moles = pressure_delta*air2.volume/(environment.temperature * R_IDEAL_GAS_EQUATION)
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
if(istype(removed))
AirflowAttract(loc,removed.return_pressure())
air2.merge(removed)
@@ -40,6 +40,9 @@
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
if(istype(removed))
AirflowRepel(loc,removed.return_pressure())
loc.assume_air(removed)
if(network)
@@ -58,6 +61,9 @@
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
if(istype(removed))
AirflowRepel(loc,removed.return_pressure())
loc.assume_air(removed)
if(network)
@@ -94,6 +94,9 @@
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
if(istype(removed))
AirflowRepel(loc,removed.return_pressure())
loc.assume_air(removed)
if(network)
@@ -109,8 +112,10 @@
if(pressure_delta > 0)
if(environment.temperature > 0)
var/transfer_moles = pressure_delta*air_contents.volume/(environment.temperature * R_IDEAL_GAS_EQUATION)
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
if(istype(removed))
AirflowAttract(loc,removed.return_pressure())
if (isnull(removed)) //in space
return
@@ -127,6 +127,8 @@
//Remix the resulting gases
if(istype(removed))
AirflowAttract(loc,filtered_out.return_pressure())
air_contents.merge(filtered_out)
loc.assume_air(removed)
@@ -142,6 +144,9 @@
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
if(istype(removed))
AirflowAttract(loc,removed.return_pressure())
air_contents.merge(removed)
if(network)