From 993cf948fbc69fdeace859bcf0d83495b01f40ed Mon Sep 17 00:00:00 2001 From: oranges Date: Sun, 15 Oct 2017 15:10:16 +1300 Subject: [PATCH] allows vent internal pressure bound to be set by air alarms --- .../atmospherics/machinery/airalarm.dm | 13 +++++++---- .../components/unary_devices/vent_pump.dm | 3 +++ tgui/src/interfaces/airalarm/vents.ract | 22 ++++++++++++++----- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index c758568c1e..4aaa1469b8 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -237,7 +237,9 @@ "incheck" = info["checks"]&2, "direction" = info["direction"], "external" = info["external"], - "extdefault"= (info["external"] == ONE_ATMOSPHERE) + "internal" = info["internal"], + "extdefault"= (info["external"] == ONE_ATMOSPHERE), + "intdefault"= (info["internal"] == 0) )) data["scrubbers"] = list() for(var/id_tag in A.air_scrub_names) @@ -321,15 +323,18 @@ if("incheck") send_signal(device_id, list("checks" = text2num(params["val"])^2)) . = TRUE - if("set_external_pressure") + if("set_external_pressure", "set_internal_pressure") var/area/A = get_area(src) - var/target = input("New target pressure:", name, A.air_vent_info[device_id]["external"]) as num|null + var/target = input("New target pressure:", name, A.air_vent_info[device_id][(action == "set_external_pressure" ? "external" : "internal")]) as num|null if(!isnull(target) && !..()) - send_signal(device_id, list("set_external_pressure" = target)) + send_signal(device_id, list("[action]" = target)) . = TRUE if("reset_external_pressure") send_signal(device_id, list("reset_external_pressure")) . = TRUE + if("reset_internal_pressure") + send_signal(device_id, list("reset_internal_pressure")) + . = TRUE if("threshold") var/env = params["env"] var/name = params["var"] diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index aa6c12a006..28a76f0a2d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -235,6 +235,9 @@ if("reset_external_pressure" in signal.data) external_pressure_bound = ONE_ATMOSPHERE + if("reset_internal_pressure" in signal.data) + internal_pressure_bound = 0 + if("adjust_internal_pressure" in signal.data) internal_pressure_bound = Clamp(internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),0,ONE_ATMOSPHERE*50) diff --git a/tgui/src/interfaces/airalarm/vents.ract b/tgui/src/interfaces/airalarm/vents.ract index 7579e91139..aa39a1aa1b 100644 --- a/tgui/src/interfaces/airalarm/vents.ract +++ b/tgui/src/interfaces/airalarm/vents.ract @@ -19,12 +19,22 @@ External - - {{Math.fixed(external)}} - Reset - + {{#if incheck}} + + {{Math.fixed(internal)}} + Reset + + {{/if}} + {{#if excheck}} + + {{Math.fixed(external)}} + Reset + + {{/if}} {{else}} Error: No vents connected.