anchor.diff:  		if(oxy < 0.5)
   			return 0
   
  -		active_hotspot = new /obj/effect/hotspot(src)
  -		active_hotspot.temperature = exposed_temperature
  -		active_hotspot.volume = exposed_volume*25
  +		active_hotspot = new /obj/effect/hotspot(src, exposed_temperature, exposed_volume*25)
   
   		active_hotspot.just_spawned = (current_cycle < SSair.times_fired)
   			//remove just_spawned protection if no longer processing this cell
  
positive.code: 	var/bypassing = FALSE
  	var/visual_update_tick = 0
  
  /obj/effect/hotspot/Initialize()
  	. = ..()
  	SSair.hotspots += src
  	perform_exposure()
  	setDir(pick(GLOB.cardinals))
  	air_update_turf()
  
negative.code: 
  	location.active_hotspot = src
  
  	bypassing = !just_spawned && (volume > CELL_VOLUME*0.95)
  
  	if(bypassing)
  		volume = location.air.reaction_results["fire"]*FIRE_GROWTH_RATE
  		temperature = location.air.temperature
  	else
  		var/datum/gas_mixture/affected = location.air.remove_ratio(volume/location.air.volume)
  		if(affected) //in case volume is 0
  			affected.temperature = temperature
  			affected.react(src)
  			temperature = affected.temperature
  			volume = affected.reaction_results["fire"]*FIRE_GROWTH_RATE
  			location.assume_air(affected)
  
  	for(var/A in location)
  		var/atom/AT = A
  