anchor.diff:  		calculated_laser_rating += laser.rating
   	min_temperature = max(T0C - (base_cooling + calculated_laser_rating * 15), TCMB) //73.15K with T1 stock parts
   	max_temperature = T20C + (base_heating * calculated_laser_rating) //573.15K with T1 stock parts
  -
  +	parts_efficiency = min(calculated_laser_rating * 0.125, 1)
   
   /obj/machinery/atmospherics/components/binary/thermomachine/update_icon_state()
   	switch(target_temperature)
  
positive.code: #define THERMOMACHINE_SAFE_TEMPERATURE 500000
  
  /obj/machinery/atmospherics/components/binary/thermomachine
  	icon = 'icons/obj/atmospherics/components/thermomachine.dmi'
  
negative.code: 
  	if(!cooling)
  		efficiency *= mole_efficiency
  		efficiency = max(efficiency, parts_efficiency)
  
  	main_port.temperature = max((THERMAL_ENERGY(main_port) + (heat_amount * efficiency)) / main_port.heat_capacity(), TCMB)
  
  	heat_amount = min(abs(heat_amount), 1e8) * THERMOMACHINE_POWER_CONVERSION
  	var/power_usage = 0
  	var/power_efficiency = max(efficiency, 0.4)
  	if(abs(temperature_target_delta)  > 1)
  		power_usage = (heat_amount * 0.05 + idle_power_usage) ** (1.05 - (5e7 * power_efficiency) / (max(5e7, heat_amount)))
  	else
  		power_usage = idle_power_usage
  
  	use_power(power_usage)
  	update_appearance()
  