anchor.diff:  
   	mole_efficiency = min(mole_eff_main_port, mole_eff_thermal_port)
   
  -	if(cooling)
  +	if(cooling && !has_metalh2)
   		if (exchange_target.total_moles() < 0.01)
   			skipping_work = TRUE
   			return
  
positive.code: 	. += span_notice("-use a wrench with left-click to rotate [src] and right-click to unanchor it.")
  	. += span_notice("-use a multitool with left-click to change the piping layer and right-click to change the piping color.")
  	. += span_notice("The thermostat is set to [target_temperature]K ([(T0C-target_temperature)*-1]C).")
  	if(in_range(user, src) || isobserver(user))
  		. += span_notice("Heat capacity at <b>[heat_capacity] Joules per Kelvin</b>.")
  		. += span_notice("Temperature range <b>[min_temperature]K - [max_temperature]K ([(T0C-min_temperature)*-1]C - [(T0C-max_temperature)*-1]C)</b>.")
  
negative.code: 	var/mole_efficiency = 1
  	var/mole_eff_main_port = 1
  	var/mole_eff_thermal_port = 1
  	if(cooling && !has_metalh2)
  		// Exchange target is the thing we are paired with, be it enviroment or the red port.
  		if(use_enviroment_heat)
  			exchange_target = local_turf.return_air()
  