anchor.diff:  
   #define GENRATE 800		// generator output coefficient from Q
   
  -/obj/machinery/power/generator/process()
  +/obj/machinery/power/generator/process_atmos()
   
   	if(!cold_circ || !hot_circ)
   		return
  
positive.code: 	var/lastgen = 0
  	var/lastgenlev = -1
  	var/lastcirc = "00"
  
  /obj/machinery/power/generator/initialize()
  	var/obj/machinery/atmospherics/components/binary/circulator/circpath = /obj/machinery/atmospherics/components/binary/circulator
  
negative.code: 			var/datum/gas_mixture/cold_circ_air1 = cold_circ.AIR1
  			cold_circ_air1.merge(cold_air)
  
  	var/circ = "[cold_circ && cold_circ.last_pressure_delta > 0 ? "1" : "0"][hot_circ && hot_circ.last_pressure_delta > 0 ? "1" : "0"]"
  	if(circ != lastcirc)
  		lastcirc = circ
  		update_icon()
  
  	src.updateDialog()
  	
  /obj/machinery/power/generator/process()
  	var/power_output = lastgen / 1000 //Setting this number higher just makes the change in power output slower or faster, it doesnt actualy reduce power output cause **math**
  	send_power(power_output)
  	var/genlev = max(0, min( round(11*power_output / 100000), 11))
  	lastgenlev = genlev
  	lastgen -= power_output
  	..()
  
  /obj/machinery/power/generator/attack_hand(mob/user)
  	if(..())
  