allows vent internal pressure bound to be set by air alarms

This commit is contained in:
oranges
2017-10-15 15:10:16 +13:00
committed by CitadelStationBot
parent b200389630
commit 993cf948fb
3 changed files with 28 additions and 10 deletions
@@ -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"]
@@ -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)