anchor.diff:  		process()
   			. = 1
   
  -			if(firelevel > vsc.IgnitionLevel)
  -
  -				var/turf/simulated/floor/S = loc
  -				if(!S.zone) del src //Cannot exist where zones are broken.
  -
  -				if(istype(S,/turf/simulated/floor))
  -					var
  -						datum/gas_mixture/air_contents = S.return_air()
  -						//Get whatever trace fuels are in the area
  -						datum/gas/volatile_fuel/fuel = locate(/datum/gas/volatile_fuel/) in air_contents.trace_gases
  -						//Also get liquid fuels on the ground.
  -						obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S
  -
  -					var/datum/gas_mixture/flow = air_contents.remove_ratio(0.25)
  -					//The reason we're taking a part of the air instead of all of it is so that it doesn't jump to
  -					//the fire's max temperature instantaneously.
  -
  -					firelevel = air_contents.calculate_firelevel(liquid)
  -
  -					//Ensure that there is an appropriate amount of fuel and O2 here.
  -					if(firelevel > 0.25 && flow.oxygen > 0.3 && (air_contents.toxins || fuel || liquid))
  -
  -						for(var/direction in cardinal)
  -							if(S.air_check_directions&direction) //Grab all valid bordering tiles
  -
  -								var/turf/simulated/enemy_tile = get_step(S, direction)
  -
  -								if(istype(enemy_tile))
  -									//If extinguisher mist passed over the turf it's trying to spread to, don't spread and
  -									//reduce firelevel.
  -									if(enemy_tile.fire_protection > world.time-30)
  -										firelevel -= 1.5
  -										continue
  -
  -									//Spread the fire.
  -									if(!(locate(/obj/fire) in enemy_tile))
  -										if( prob( firelevel*10 ) )
  -											new/obj/fire(enemy_tile,firelevel)
  -
  -					if(flow)
  -
  -						//Ensure adequate oxygen and fuel.
  -						if(flow.oxygen > 0.3 && (flow.toxins || fuel || liquid))
  -
  -							//Change icon depending on the fuel, and thus temperature.
  -							if(firelevel > 6)
  -								icon_state = "3"
  -							else if(firelevel > 2.5)
  -								icon_state = "2"
  -							else
  -								icon_state = "1"
  -
  -							//Ensure flow temperature is higher than minimum fire temperatures.
  -							flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature)
  -
  -							//Burn the gas mixture.
  -							flow.zburn(liquid)
  -
  +			var/turf/simulated/floor/S = loc
  +			if(!S.zone) del src //Cannot exist where zones are broken.
  +
  +			if(istype(S,/turf/simulated/floor))
  +				var
  +					datum/gas_mixture/air_contents = S.return_air()
  +					//Get whatever trace fuels are in the area
  +					datum/gas/volatile_fuel/fuel = locate(/datum/gas/volatile_fuel/) in air_contents.trace_gases
  +					//Also get liquid fuels on the ground.
  +					obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S
  +
  +				var/datum/gas_mixture/flow = air_contents.remove_ratio(0.25)
  +				//The reason we're taking a part of the air instead of all of it is so that it doesn't jump to
  +				//the fire's max temperature instantaneously.
  +
  +				firelevel = air_contents.calculate_firelevel(liquid)
  +
  +				//Ensure that there is an appropriate amount of fuel and O2 here.
  +				if(firelevel > 0.25 && flow.oxygen > 0.3 && (air_contents.toxins || fuel || liquid))
  +
  +					for(var/direction in cardinal)
  +						if(S.air_check_directions&direction) //Grab all valid bordering tiles
  +
  +							var/turf/simulated/enemy_tile = get_step(S, direction)
  +
  +							if(istype(enemy_tile))
  +								//If extinguisher mist passed over the turf it's trying to spread to, don't spread and
  +								//reduce firelevel.
  +								if(enemy_tile.fire_protection > world.time-30)
  +									firelevel -= 1.5
  +									continue
  +
  +								//Spread the fire.
  +								if(!(locate(/obj/fire) in enemy_tile))
  +									if( prob( firelevel*10 ) )
  +										new/obj/fire(enemy_tile,firelevel)
  +
  +				if(flow)
  +
  +					//Ensure adequate oxygen and fuel.
  +					if(flow.oxygen > 0.3 && (flow.toxins || fuel || liquid))
  +
  +						//Change icon depending on the fuel, and thus temperature.
  +						if(firelevel > 6)
  +							icon_state = "3"
  +						else if(firelevel > 2.5)
  +							icon_state = "2"
   						else
  -
  +							icon_state = "1"
  +
  +						//Ensure flow temperature is higher than minimum fire temperatures.
  +						flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature)
  +
  +						//Burn the gas mixture.
  +						if(!flow.zburn(liquid))
   							del src
   
  -
  -						S.assume_air(flow) //Then put it back where you found it.
  -
   					else
  +
   						del src
  +
  +
  +					S.assume_air(flow) //Then put it back where you found it.
  +
   				else
   					del src
   			else
  
positive.code: 			datum/gas/volatile_fuel/fuel = locate() in trace_gases
  
  		if(fuel)
  		//Volatile Fuel
  			total_fuel += fuel.moles
  			fuel_sources++
  
  		if(liquid)
  		//Liquid Fuel
  			if(liquid.amount <= 0)
  				del liquid
  			else
  
negative.code: 			temperature = max( 1700*log(0.4*firelevel + 1.23) , temperature )
  
  			//Consume some gas.
  			var/consumed_gas = min(oxygen,firelevel * 50,total_fuel) / fuel_sources
  
  			oxygen = max(0,oxygen-consumed_gas)
  
  