From f1f72f7d45113ca1ec0e52bc6692234d14e37a3d Mon Sep 17 00:00:00 2001 From: Heroman Date: Sun, 14 Jul 2019 13:04:29 +1000 Subject: [PATCH] Adds phoronlock scrubbers. --- maps/tether/tether_phoronlock.dm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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