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.