anchor.diff:  	var/old_heat_capacity = air.heat_capacity()
   	var/list/cached_gases = air.gases
   	var/temperature = air.temperature
  -	var produced_amount = min(5, cached_gases[/datum/gas/carbon_dioxide][MOLES], cached_gases[/datum/gas/oxygen][MOLES])
  +	var produced_amount = min(5, cached_gases[/datum/gas/carbon_dioxide][MOLES], cached_gases[/datum/gas/oxygen][MOLES] * INVERSE(0.5), cached_gases[/datum/gas/tritium][MOLES] * INVERSE(0.01))
   	if(cached_gases[/datum/gas/carbon_dioxide][MOLES] - produced_amount < 0 || cached_gases[/datum/gas/oxygen][MOLES] - produced_amount * 0.5 < 0 || cached_gases[/datum/gas/tritium][MOLES] - produced_amount * 0.01 < 0)
   		return NO_REACTION
   	cached_gases[/datum/gas/carbon_dioxide][MOLES] -= produced_amount
  
positive.code: 			plasma_burn_rate = (temperature_scale * (cached_gases[/datum/gas/oxygen][MOLES] / PLASMA_OXYGEN_FULLBURN)) / PLASMA_BURN_RATE_DELTA
  
  		if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY)
  			plasma_burn_rate = min(plasma_burn_rate, cached_gases[/datum/gas/plasma][MOLES], cached_gases[/datum/gas/oxygen][MOLES]/oxygen_burn_rate) //Ensures matter is conserved properly
  			cached_gases[/datum/gas/plasma][MOLES] = QUANTIZE(cached_gases[/datum/gas/plasma][MOLES] - plasma_burn_rate)
  			cached_gases[/datum/gas/oxygen][MOLES] = QUANTIZE(cached_gases[/datum/gas/oxygen][MOLES] - (plasma_burn_rate * oxygen_burn_rate))
  			if (super_saturation)
  
negative.code: 	if(energy_released > 0)
  		var/new_heat_capacity = air.heat_capacity()
  		if(new_heat_capacity > MINIMUM_HEAT_CAPACITY)
  			air.temperature = (temperature * old_heat_capacity + energy_released) / new_heat_capacity
  
  	//let the floor know a fire is happening
  	if(istype(location))
  