anchor.diff:  			for(var/zone/Z in connected_zones)
   				//Ensure we're not doing pointless calculations on equilibrium zones.
   				if(abs(air.total_moles - Z.air.total_moles) > 0.1 || abs(air.temperature - Z.air.temperature) > 0.1)
  -					//if(abs(Z.air.pressure - air.pressure) > vsc.airflow_lightest_pressure)
  -					//	Airflow(src,Z)
  +					if(abs(Z.air.pressure - air.pressure) > vsc.airflow_lightest_pressure)
  +						Airflow(src,Z)
   					ShareRatio(air,Z.air,connected_zones[Z]*(zone_share_percent/100))
   
   proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, ratio)
  
positive.code: 		full_co2 = A.carbon_dioxide * size
  		full_plasma = A.toxins * size
  
  		full_thermal = A.temperature * A.heat_capacity() * size
  
  		s_full_oxy = B.oxygen * share_size
  		s_full_nitro = B.nitrogen * share_size
  		s_full_co2 = B.carbon_dioxide * share_size
  		s_full_plasma = B.toxins * share_size
  
  		s_full_thermal = B.temperature * B.heat_capacity() * share_size
  
  		oxy_avg = (full_oxy + s_full_oxy) / (size + share_size)
  		nit_avg = (full_nitro + s_full_nitro) / (size + share_size)
  		co2_avg = (full_co2 + s_full_co2) / (size + share_size)
  		plasma_avg = (full_plasma + s_full_plasma) / (size + share_size)
  
  		thermal_avg = (full_thermal + s_full_thermal) / (size+share_size)
  
  	A.oxygen = (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg
  	A.nitrogen = (A.nitrogen - nit_avg) * (1-ratio) + nit_avg
  	A.carbon_dioxide = (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg
  	A.toxins = (A.toxins - plasma_avg) * (1-ratio) + plasma_avg
  
  	B.oxygen = (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg
  	B.nitrogen = (B.nitrogen - nit_avg) * (1-ratio) + nit_avg
  	B.carbon_dioxide = (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg
  	B.toxins = (B.toxins - plasma_avg) * (1-ratio) + plasma_avg
  
  	var
  		thermal = (full_thermal/size - thermal_avg) * (1-ratio) + thermal_avg
  		sharer_thermal = (s_full_thermal/share_size - thermal_avg) * (1-ratio) + thermal_avg
  
  	A.temperature = thermal / (A.heat_capacity() == 0 ? MINIMUM_HEAT_CAPACITY : A.heat_capacity())
  
  	B.temperature = sharer_thermal / (B.heat_capacity() == 0 ? MINIMUM_HEAT_CAPACITY : B.heat_capacity())
  
  	for(var/datum/gas/G in A.trace_gases)
  		var/datum/gas/H = locate(G.type) in B.trace_gases
  
negative.code: 		if(space_tiles)
  			for(var/T in space_tiles)
  				if(!istype(T,/turf/space)) space_tiles -= T
  				total_space++
  
  		//Add checks to ensure that we're not sucking air out of an empty room.
  		if(total_space && air.total_moles > 0.1 && air.temperature > TCMB+0.5)
  			//If there is space, air should flow out of the zone.
  			if(abs(air.pressure) > vsc.airflow_lightest_pressure)
  				AirflowSpace(src)
  			ShareSpace(air,total_space*(zone_share_percent/100))
  
  		//React the air here.
  