diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index b92c95fd713..f3ae2426a67 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -95,7 +95,14 @@ /obj/machinery/atmospherics/unary/thermomachine/process_atmos() ..() if(!on) - return 0 + return + + // Coolers don't heat. + if(air_contents.temperature <= target_temperature && cooling) + return + // Heaters don't cool. + if(air_contents.temperature >= target_temperature && !cooling) + return var/air_heat_capacity = air_contents.heat_capacity() var/combined_heat_capacity = heat_capacity + air_heat_capacity @@ -115,7 +122,7 @@ parent.update = TRUE else change_power_mode(IDLE_POWER_USE) - return 1 + return /obj/machinery/atmospherics/unary/thermomachine/attackby(obj/item/I, mob/user, params) if(exchange_parts(user, I))