Merge pull request #3405 from Citadel-Station-13/upstream-merge-31692

[MIRROR] allows vent internal pressure bound to be set by air alarms
This commit is contained in:
LetterJay
2017-10-15 10:23:26 -04:00
committed by GitHub
3 changed files with 28 additions and 10 deletions

View File

@@ -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"]

View File

@@ -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)

View File

@@ -19,12 +19,22 @@
<ui-button icon='sign-out' style='{{excheck ? "selected" : null}}'
action='excheck' params='{"id_tag": "{{id_tag}}", "val": {{checks}}}'>External</ui-button>
</ui-section>
<ui-section label='Target Pressure'>
<ui-button icon='pencil' action='set_external_pressure'
params='{"id_tag": "{{id_tag}}"}'>{{Math.fixed(external)}}</ui-button>
<ui-button icon='refresh' state='{{extdefault ? "disabled" : null}}' action='reset_external_pressure'
params='{"id_tag": "{{id_tag}}"}'>Reset</ui-button>
</ui-section>
{{#if incheck}}
<ui-section label='Internal Target Pressure'>
<ui-button icon='pencil' action='set_internal_pressure'
params='{"id_tag": "{{id_tag}}"}'>{{Math.fixed(internal)}}</ui-button>
<ui-button icon='refresh' state='{{intdefault ? "disabled" : null}}' action='reset_internal_pressure'
params='{"id_tag": "{{id_tag}}"}'>Reset</ui-button>
</ui-section>
{{/if}}
{{#if excheck}}
<ui-section label='External Target Pressure'>
<ui-button icon='pencil' action='set_external_pressure'
params='{"id_tag": "{{id_tag}}"}'>{{Math.fixed(external)}}</ui-button>
<ui-button icon='refresh' state='{{extdefault ? "disabled" : null}}' action='reset_external_pressure'
params='{"id_tag": "{{id_tag}}"}'>Reset</ui-button>
</ui-section>
{{/if}}
</ui-subdisplay>
{{else}}
<span class='bad'>Error: No vents connected.</span>