anchor.diff:  	if(locate(/obj/fire) in src)
   		return 1
   	var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases
  -	var/obj/liquid_fuel/liquid = locate() in src
  +	var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src
   	if(air_contents.calculate_firelevel(liquid) > vsc.IgnitionLevel && (fuel || liquid || air_contents.toxins > 0.5))
   		igniting = 1
   		if(air_contents.oxygen < 0.5)
  
positive.code: 	return 0
  
  
  datum/gas_mixture/proc/calculate_firelevel(obj/liquid_fuel/liquid)
  		//Calculates the firelevel based on one equation instead of having to do this multiple times in different areas.
  	var
  		datum/gas/volatile_fuel/fuel = locate() in trace_gases
  
negative.code: 
  			..()
  
  
  turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again.
  turf/proc/apply_fire_protection()
  turf/simulated/apply_fire_protection()
  	fire_protection = world.time
  
  datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid)
  	//This proc is similar to fire(), but uses a simple logarithm to calculate temp, and is thus more stable with ZAS.
  	if(temperature > PLASMA_MINIMUM_BURN_TEMPERATURE)
  		var
  