diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index 44f5fd04cb6..32da78702c2 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -91,6 +91,28 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior radio_connection.post_signal(src, signal, radio_filter = RADIO_AIRLOCK) return 1 +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock //Special scrubber with bonus inbuilt heater + volume_rate = 40000 + active_power_usage = 2000 + var/target_temp = T20C + var/heating_power = 150000 + +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock/process() + ..() + + if(on) + var/datum/gas_mixture/env = loc.return_air() + if(env && abs(env.temperature - target_temp) > 0.1) + var/datum/gas_mixture/removed = env.remove_ratio(0.99) + if(removed) + var/heat_transfer = removed.get_thermal_energy_change(target_temp) + removed.add_thermal_energy(min(heating_power,heat_transfer)) + env.merge(removed) + + var/transfer_moles = min(1, volume_rate/env.volume)*env.total_moles + for(var/i=1 to 3) //Scrubs 4 times as fast + scrub_gas(src, scrubbing_gas, env, air_contents, transfer_moles, active_power_usage) + // // PHORON LOCK CONTROLLER // @@ -175,7 +197,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior memory["external_sensor_phoron"] = VIRGO3B_MOL_PHORON memory["internal_sensor_phoron"] = 0 memory["scrubber_status"] = "unknown" - memory["target_phoron"] = 0.25 + memory["target_phoron"] = 0.1 memory["secure"] = 1 if (istype(M, /obj/machinery/embedded_controller/radio/airlock/phoron)) //if our controller is an airlock controller than we can auto-init our tags