caches gases in more procs

This commit is contained in:
duncathan
2015-12-28 13:32:49 -06:00
parent b18cb5fca8
commit a64b68f76c
16 changed files with 112 additions and 94 deletions
+8 -7
View File
@@ -155,6 +155,7 @@ var/const/SPAWN_AIR = 256
return
var/datum/gas_mixture/G = new
var/list/new_gases = G.gases
if(flag & SPAWN_20C)
G.temperature = T20C
@@ -163,20 +164,20 @@ var/const/SPAWN_AIR = 256
G.temperature += 1000
if(flag & SPAWN_TOXINS)
G.gases[GAS_PL][MOLES] += amount
new_gases[GAS_PL][MOLES] += amount
if(flag & SPAWN_OXYGEN)
G.gases[GAS_O2][MOLES] += amount
new_gases[GAS_O2][MOLES] += amount
if(flag & SPAWN_CO2)
G.gases[GAS_CO2][MOLES] += amount
new_gases[GAS_CO2][MOLES] += amount
if(flag & SPAWN_NITROGEN)
G.gases[GAS_N2][MOLES] += amount
new_gases[GAS_N2][MOLES] += amount
if(flag & SPAWN_N2O)
G.gases[GAS_N2O][MOLES] += amount
new_gases[GAS_N2O][MOLES] += amount
if(flag & SPAWN_AIR)
G.gases[GAS_O2][MOLES] += MOLES_O2STANDARD * amount
G.gases[GAS_N2][MOLES] += MOLES_N2STANDARD * amount
new_gases[GAS_O2][MOLES] += MOLES_O2STANDARD * amount
new_gases[GAS_N2][MOLES] += MOLES_N2STANDARD * amount
air.merge(G)
SSair.add_to_active(src, 0)
+2 -1
View File
@@ -314,12 +314,13 @@
/datum/excited_group/proc/self_breakdown()
var/datum/gas_mixture/A = new
var/list/A_gases = A.gases
for(var/turf/simulated/T in turf_list)
A.merge(T.air)
for(var/turf/simulated/T in turf_list)
for(var/gas in T.air.gases)
gas[MOLES] = A.gases[gas[GAS_INDEX]][MOLES]/turf_list.len
gas[MOLES] = A_gases[gas[GAS_INDEX]][MOLES]/turf_list.len
T.update_visuals()