mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 01:57:01 +00:00
tgui scrubbers
removes area atmos computer
This commit is contained in:
@@ -115,8 +115,8 @@
|
||||
"ck" = (/obj/machinery/door/airlock/plasma,/turf/simulated/floor/carpet,/area/awaymission/academy/headmaster)
|
||||
"cl" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
|
||||
"cm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/academy/headmaster)
|
||||
"cn" = (/obj/machinery/computer/area_atmos/area,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
|
||||
"co" = (/obj/machinery/portable_atmospherics/scrubber/huge/stationary,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
|
||||
"cn" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/academy/headmaster)
|
||||
"co" = (/obj/machinery/portable_atmospherics/scrubber/huge,/turf/simulated/floor/plating,/area/awaymission/academy/headmaster)
|
||||
"cp" = (/obj/structure/bed/stool,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/academy/headmaster)
|
||||
"cq" = (/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/item/weapon/pen/red,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
|
||||
"cr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
|
||||
|
||||
@@ -669,7 +669,7 @@
|
||||
"mS" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/hangar)
|
||||
"mT" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/hangar)
|
||||
"mU" = (/obj/structure/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/belt/utility/full,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/centcomAway/general)
|
||||
"mV" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/plasteel{icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
|
||||
"mV" = (/turf/simulated/floor/plasteel{icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
|
||||
"mW" = (/obj/structure/bed/stool{pixel_y = 8},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
|
||||
"mX" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome Administration"; opacity = 1; req_access_txt = "102"},/turf/simulated/floor/plasteel{icon_state = "redyellowfull"; dir = 5},/area/awaymission/centcomAway/thunderdome)
|
||||
"mY" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/thunderdome)
|
||||
|
||||
@@ -5721,7 +5721,7 @@
|
||||
"cgc" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/toxins/storage)
|
||||
"cgd" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"cge" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"cgf" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/plasteel,/area/toxins/storage)
|
||||
"cgf" = (/turf/simulated/floor/plasteel,/area/toxins/storage)
|
||||
"cgg" = (/obj/structure/cable/pink{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
|
||||
"cgh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
|
||||
"cgi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research)
|
||||
|
||||
@@ -701,7 +701,7 @@
|
||||
"any" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/simulated/wall,/area/engine/engineering)
|
||||
"anz" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anA" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anB" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/scrubber{name = "heavy duty air scrubber"; volume = 3000; widenet = 1},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anB" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/scrubber/huge,/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anC" = (/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anD" = (/obj/structure/cable/cyan{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/cyan/hidden,/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"anE" = (/obj/machinery/door/airlock/command{name = "teleporter door"; req_access_txt = "17"},/obj/structure/cable/cyan{icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/teleporter{name = "\improper Teleporter Room"})
|
||||
@@ -730,7 +730,7 @@
|
||||
"aob" = (/obj/machinery/door/airlock/glass_engineering{name = "engineering door"; req_access_txt = "10"; req_one_access_txt = "0"},/obj/structure/cable/cyan{icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/engine/engineering)
|
||||
"aoc" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/wall,/area/engine/engineering)
|
||||
"aod" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/pump,/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"aoe" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/scrubber{name = "heavy duty air scrubber"; volume = 3000; widenet = 1},/obj/machinery/camera/autoname{icon_state = "camera"; dir = 9},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"aoe" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/scrubber/huge,/obj/machinery/camera/autoname{icon_state = "camera"; dir = 9},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"aof" = (/turf/simulated/wall,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"aog" = (/obj/machinery/power/apc{dir = 8; name = "Northwest Hallway APC"; pixel_x = -24},/obj/structure/cable/cyan{icon_state = "0-2"},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
"aoh" = (/obj/structure/cable/cyan{icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/cyan/hidden,/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "\improper Northwest Hallway"})
|
||||
|
||||
@@ -7085,7 +7085,7 @@
|
||||
"cGm" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plasteel/bot,/area/toxins/storage)
|
||||
"cGn" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/turf/simulated/floor/plasteel/bot,/area/toxins/storage)
|
||||
"cGo" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel/bot,/area/toxins/storage)
|
||||
"cGp" = (/obj/machinery/computer/area_atmos,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 26; pixel_y = -2; tag = "EAST"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"cGp" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = 26; pixel_y = -2; tag = "EAST"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"cGq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 6; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
|
||||
"cGr" = (/turf/simulated/floor/plasteel/purple/side{tag = "icon-purple (SOUTHEAST)"; icon_state = "purple"; dir = 6},/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/warningline{tag = "icon-warningline (SOUTHEAST)"; icon_state = "warningline"; dir = 6},/area/toxins/mixing)
|
||||
"cGs" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing)
|
||||
|
||||
@@ -1563,7 +1563,7 @@
|
||||
"aEc" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/genetics)
|
||||
"aEd" = (/obj/structure/bed/chair/office/light,/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
|
||||
"aEe" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1485; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 28},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
|
||||
"aEf" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"aEf" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"aEg" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"aEh" = (/obj/machinery/door/firedoor/heavy,/obj/machinery/door/airlock/research{name = "Toxins Lab"; req_access_txt = "8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/mixing{name = "\improper Toxins Lab"})
|
||||
"aEi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"},/area/maintenance/fore)
|
||||
|
||||
@@ -6517,7 +6517,7 @@
|
||||
"cvq" = (/obj/item/weapon/storage/secure/safe{pixel_x = 32; pixel_y = 0},/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"},/area/crew_quarters/hor)
|
||||
"cvr" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
|
||||
"cvs" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/toxins/storage)
|
||||
"cvt" = (/obj/machinery/computer/area_atmos,/obj/machinery/light/small{dir = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/storage)
|
||||
"cvt" = (/obj/machinery/light/small{dir = 1},/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/toxins/storage)
|
||||
"cvu" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Toxins Storage APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"cvv" = (/obj/machinery/portable_atmospherics/scrubber/huge,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
|
||||
"cvw" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/simulated/floor/plating{icon_state = "platingdmg2"},/area/maintenance/aft{name = "Aft Maintenance"})
|
||||
|
||||
@@ -4498,7 +4498,7 @@
|
||||
"bIz" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"bIA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"bIB" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/toxins/storage)
|
||||
"bIC" = (/obj/machinery/computer/area_atmos,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"bIC" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/storage)
|
||||
"bID" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor/plasteel{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"})
|
||||
"bIE" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/research{name = "Research Division"})
|
||||
"bIF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor/plasteel,/area/atmos)
|
||||
|
||||
@@ -221,9 +221,6 @@
|
||||
name = "circuit board (AI Integrity Restorer)"
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
origin_tech = "programming=3;biotech=2"
|
||||
/obj/item/weapon/circuitboard/area_atmos
|
||||
name = "circuit board (Area Air Control)"
|
||||
build_path = /obj/machinery/computer/area_atmos
|
||||
/*/obj/item/weapon/circuitboard/prison_shuttle
|
||||
name = "circuit board (Prison Shuttle)"
|
||||
build_path = /obj/machinery/computer/prison_shuttle*/
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
/obj/machinery/computer/area_atmos
|
||||
name = "area air control computer"
|
||||
desc = "A computer used to control the stationary scrubbers and pumps in the area."
|
||||
icon_screen = "area_atmos"
|
||||
icon_keyboard = "atmos_key"
|
||||
circuit = "/obj/item/weapon/circuitboard/area_atmos"
|
||||
|
||||
var/list/connectedscrubbers = new()
|
||||
var/status = ""
|
||||
|
||||
var/range = 25
|
||||
|
||||
//Simple variable to prevent me from doing attack_hand in both this and the child computer
|
||||
var/zone = "This computer is working on a wireless range, the range is currently limited to 25 meters."
|
||||
|
||||
/obj/machinery/computer/area_atmos/New()
|
||||
..()
|
||||
//So the scrubbers have time to spawn
|
||||
spawn(10)
|
||||
scanscrubbers()
|
||||
|
||||
/obj/machinery/computer/area_atmos/attack_hand(mob/user)
|
||||
if(..())
|
||||
return
|
||||
src.add_fingerprint(usr)
|
||||
var/dat = {"
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
a.green:link
|
||||
{
|
||||
color:#00CC00;
|
||||
}
|
||||
a.green:visited
|
||||
{
|
||||
color:#00CC00;
|
||||
}
|
||||
a.green:hover
|
||||
{
|
||||
color:#00CC00;
|
||||
}
|
||||
a.green:active
|
||||
{
|
||||
color:#00CC00;
|
||||
}
|
||||
a.red:link
|
||||
{
|
||||
color:#FF0000;
|
||||
}
|
||||
a.red:visited
|
||||
{
|
||||
color:#FF0000;
|
||||
}
|
||||
a.red:hover
|
||||
{
|
||||
color:#FF0000;
|
||||
}
|
||||
a.red:active
|
||||
{
|
||||
color:#FF0000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<center><h1>Area Air Control</h1></center>
|
||||
<font color="red">[status]</font><br>
|
||||
<a href="?src=\ref[src];scan=1">Scan</a>
|
||||
<table border="1" width="90%">"}
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in connectedscrubbers)
|
||||
dat += {"
|
||||
<tr>
|
||||
<td>[scrubber.name]</td>
|
||||
<td width="150"><a class="green" href="?src=\ref[src];scrub=\ref[scrubber];toggle=1">Turn On</a> <a class="red" href="?src=\ref[src];scrub=\ref[scrubber];toggle=0">Turn Off</a></td>
|
||||
</tr>"}
|
||||
|
||||
dat += {"
|
||||
</table><br>
|
||||
<i>[zone]</i>
|
||||
</body>
|
||||
</html>"}
|
||||
user << browse("[dat]", "window=miningshuttle;size=400x400")
|
||||
status = ""
|
||||
|
||||
/obj/machinery/computer/area_atmos/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
|
||||
if(href_list["scan"])
|
||||
scanscrubbers()
|
||||
else if(href_list["toggle"])
|
||||
var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber = locate(href_list["scrub"])
|
||||
|
||||
if(!validscrubber(scrubber))
|
||||
spawn(20)
|
||||
status = "ERROR: Couldn't connect to scrubber! (timeout)"
|
||||
connectedscrubbers -= scrubber
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
scrubber.on = text2num(href_list["toggle"])
|
||||
scrubber.update_icon()
|
||||
|
||||
/obj/machinery/computer/area_atmos/proc/validscrubber( obj/machinery/portable_atmospherics/scrubber/huge/scrubber )
|
||||
if(!isobj(scrubber) || get_dist(scrubber.loc, src.loc) > src.range || scrubber.loc.z != src.loc.z)
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/area_atmos/proc/scanscrubbers()
|
||||
connectedscrubbers = new()
|
||||
|
||||
var/found = 0
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in ultra_range(range, src.loc))
|
||||
if(istype(scrubber))
|
||||
found = 1
|
||||
connectedscrubbers += scrubber
|
||||
|
||||
if(!found)
|
||||
status = "ERROR: No scrubber found!"
|
||||
|
||||
src.updateUsrDialog()
|
||||
|
||||
|
||||
/obj/machinery/computer/area_atmos/area
|
||||
zone = "This computer is working in a wired network limited to this area."
|
||||
|
||||
validscrubber( obj/machinery/portable_atmospherics/scrubber/huge/scrubber )
|
||||
if(!isobj(scrubber))
|
||||
return 0
|
||||
|
||||
/*
|
||||
wow this is stupid, someone help me
|
||||
*/
|
||||
var/turf/T_src = get_turf(src)
|
||||
if(!T_src.loc) return 0
|
||||
var/area/A_src = T_src.loc
|
||||
if (A_src.master)
|
||||
A_src = A_src.master
|
||||
|
||||
var/turf/T_scrub = get_turf(scrubber)
|
||||
if(!T_scrub.loc) return 0
|
||||
var/area/A_scrub = T_scrub.loc
|
||||
if (A_scrub.master)
|
||||
A_scrub = A_scrub.master
|
||||
|
||||
if(A_scrub != A_src)
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/area_atmos/area/scanscrubbers()
|
||||
connectedscrubbers = new()
|
||||
|
||||
var/found = 0
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T.loc) return
|
||||
var/area/A = T.loc
|
||||
if (A.master)
|
||||
A = A.master
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in machines )
|
||||
var/turf/T2 = get_turf(scrubber)
|
||||
if(T2 && T2.loc)
|
||||
var/area/A2 = T2.loc
|
||||
if(istype(A2) && A2.master && A2.master == A )
|
||||
connectedscrubbers += scrubber
|
||||
found = 1
|
||||
|
||||
|
||||
if(!found)
|
||||
status = "ERROR: No scrubber found!"
|
||||
|
||||
src.updateUsrDialog()
|
||||
@@ -8,7 +8,7 @@
|
||||
icon_state = "yellow"
|
||||
density = 1
|
||||
|
||||
var/valve_open = 0
|
||||
var/valve_open = FALSE
|
||||
var/obj/machinery/atmospherics/components/binary/pump/pump
|
||||
var/release_log = ""
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
var/temperature_resistance = 1000 + T0C
|
||||
|
||||
var/update_flag = 0
|
||||
var/canister_color = "yellow"
|
||||
var/static/list/label2types = list(
|
||||
"n2" = /obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
"o2" = /obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
@@ -37,25 +36,21 @@
|
||||
name = "n2 canister"
|
||||
desc = "Nitrogen gas. Reportedly useful for something."
|
||||
icon_state = "red"
|
||||
canister_color = "red"
|
||||
gas_type = "n2"
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen
|
||||
name = "o2 canister"
|
||||
desc = "Oxygen. Necessary for human life."
|
||||
icon_state = "blue"
|
||||
canister_color = "blue"
|
||||
gas_type = "o2"
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
||||
name = "co2 canister"
|
||||
desc = "Carbon dioxide. What the fuck is carbon dioxide?"
|
||||
icon_state = "black"
|
||||
canister_color = "black"
|
||||
gas_type = "co2"
|
||||
/obj/machinery/portable_atmospherics/canister/toxins
|
||||
name = "plasma canister"
|
||||
desc = "Plasma gas. The reason YOU are here. Highly toxic."
|
||||
icon_state = "orange"
|
||||
canister_color = "orange"
|
||||
gas_type = "plasma"
|
||||
/obj/machinery/portable_atmospherics/canister/agent_b
|
||||
name = "agent b canister"
|
||||
@@ -65,13 +60,11 @@
|
||||
name = "n2o canister"
|
||||
desc = "Nitrous oxide gas. Known to cause drowsiness."
|
||||
icon_state = "redws"
|
||||
canister_color = "redws"
|
||||
gas_type = "n2o"
|
||||
/obj/machinery/portable_atmospherics/canister/air
|
||||
name = "air canister"
|
||||
desc = "Pre-mixed air."
|
||||
icon_state = "grey"
|
||||
canister_color = "grey"
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/New(loc)
|
||||
..()
|
||||
@@ -82,6 +75,11 @@
|
||||
pump.build_network()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/Destroy()
|
||||
qdel(pump)
|
||||
pump = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/create_gas()
|
||||
if(gas_type)
|
||||
air_contents.assert_gas(gas_type)
|
||||
@@ -89,17 +87,14 @@
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/air/create_gas()
|
||||
air_contents.assert_gases("o2","n2")
|
||||
// PV = nRT
|
||||
air_contents.gases["o2"][MOLES] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
air_contents.gases["n2"][MOLES] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/update_icon()
|
||||
if(destroyed)
|
||||
overlays = 0
|
||||
icon_state = text("[]-1", canister_color)
|
||||
icon_state = "[initial(icon_state)]-1"
|
||||
return
|
||||
else
|
||||
icon_state = canister_color
|
||||
|
||||
overlays.Cut()
|
||||
if(holding)
|
||||
@@ -229,7 +224,6 @@
|
||||
if(newtype)
|
||||
var/obj/machinery/portable_atmospherics/canister/replacement = new newtype(loc)
|
||||
replacement.air_contents.copy_from(air_contents)
|
||||
replacement.update_icon()
|
||||
replacement.interact(usr)
|
||||
qdel(src)
|
||||
if("pressure")
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
"<span class='notice'>You fasten [src] to the port.</span>", \
|
||||
"<span class='italics'>You hear a ratchet.</span>")
|
||||
update_icon()
|
||||
else if((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1)
|
||||
else if((istype(W, /obj/item/device/analyzer)) && Adjacent(user))
|
||||
atmosanalyzer_scan(air_contents, user)
|
||||
else
|
||||
..()
|
||||
@@ -9,7 +9,7 @@
|
||||
icon_state = "psiphon:0"
|
||||
density = 1
|
||||
|
||||
var/on = 0
|
||||
var/on = FALSE
|
||||
var/direction = PUMP_OUT
|
||||
var/obj/machinery/atmospherics/components/binary/pump/pump
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
pump.build_network()
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/Destroy()
|
||||
var/turf/T = get_turf(src)
|
||||
T.assume_air(air_contents)
|
||||
air_update_turf()
|
||||
qdel(pump)
|
||||
pump = null
|
||||
return ..()
|
||||
@@ -36,16 +39,6 @@
|
||||
if(connected_port)
|
||||
overlays += "siphon-connector"
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/emp_act(severity)
|
||||
if(is_operational())
|
||||
if(prob(50 / severity))
|
||||
on = !on
|
||||
if(prob(100 / severity))
|
||||
direction = PUMP_OUT
|
||||
pump.target_pressure = rand(0, 100 * ONE_ATMOSPHERE)
|
||||
update_icon()
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/process_atmos()
|
||||
..()
|
||||
if(!on)
|
||||
@@ -63,6 +56,17 @@
|
||||
if(!holding)
|
||||
air_update_turf() // Update the environment if needed.
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/emp_act(severity)
|
||||
if(is_operational())
|
||||
if(prob(50 / severity))
|
||||
on = !on
|
||||
if(prob(100 / severity))
|
||||
direction = PUMP_OUT
|
||||
pump.target_pressure = rand(0, 100 * ONE_ATMOSPHERE)
|
||||
update_icon()
|
||||
..()
|
||||
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
|
||||
@@ -3,202 +3,123 @@
|
||||
icon_state = "pscrubber:0"
|
||||
density = 1
|
||||
|
||||
var/on = 0
|
||||
var/volume_rate = 800
|
||||
var/widenet = 0 //is this scrubber acting on the 3x3 area around it.
|
||||
var/on = FALSE
|
||||
var/volume_rate = 1000
|
||||
volume = 1000
|
||||
|
||||
volume = 750
|
||||
var/list/scrubbing = list("plasma", "co2", "n2o", "agent_b")
|
||||
|
||||
var/list/gases_to_scrub = list("plasma", "co2", "agent_b", "n2o") //datum var so we can VV it and maybe even change it in the future
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/emp_act(severity)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
..(severity)
|
||||
return
|
||||
|
||||
if(prob(50/severity))
|
||||
on = !on
|
||||
update_icon()
|
||||
|
||||
..(severity)
|
||||
/obj/machinery/portable_atmospherics/scrubber/Destroy()
|
||||
var/turf/T = get_turf(src)
|
||||
T.assume_air(air_contents)
|
||||
air_update_turf()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_icon()
|
||||
src.overlays = 0
|
||||
|
||||
if(on)
|
||||
icon_state = "pscrubber:1"
|
||||
else
|
||||
icon_state = "pscrubber:0"
|
||||
icon_state = "pscrubber:[on]"
|
||||
|
||||
overlays.Cut()
|
||||
if(holding)
|
||||
overlays += "scrubber-open"
|
||||
|
||||
if(connected_port)
|
||||
overlays += "scrubber-connector"
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/process_atmos()
|
||||
if(!on)
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
scrub(T)
|
||||
if(widenet)
|
||||
for(var/turf/simulated/TT in T.GetAtmosAdjacentTurfs(alldir = TRUE))
|
||||
scrub(TT)
|
||||
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/proc/scrub(var/turf/simulated/tile)
|
||||
var/datum/gas_mixture/environment
|
||||
if(holding)
|
||||
environment = holding.air_contents
|
||||
scrub(holding.air_contents)
|
||||
else
|
||||
environment = tile.return_air()
|
||||
var/transfer_moles = min(1, volume_rate/environment.volume)*environment.total_moles()
|
||||
var/turf/T = get_turf(src)
|
||||
scrub(T.return_air())
|
||||
|
||||
//Take a gas sample
|
||||
var/datum/gas_mixture/removed
|
||||
if(holding)
|
||||
removed = environment.remove(transfer_moles)
|
||||
else
|
||||
removed = tile.remove_air(transfer_moles)
|
||||
/obj/machinery/portable_atmospherics/scrubber/proc/scrub(var/datum/gas_mixture/mixture)
|
||||
var/transfer_moles = min(1, volume_rate / mixture.volume) * mixture.total_moles()
|
||||
|
||||
//Filter it
|
||||
if (removed)
|
||||
var/datum/gas_mixture/filtered_out = new
|
||||
var/list/filtered_gases = filtered_out.gases
|
||||
var/list/removed_gases = removed.gases
|
||||
|
||||
for(var/id in removed_gases & gases_to_scrub)
|
||||
filtered_out.assert_gas(id)
|
||||
filtered_gases[id][MOLES] = removed_gases[id][MOLES]
|
||||
removed_gases[id][MOLES] = 0
|
||||
|
||||
filtered_out.temperature = removed.temperature
|
||||
removed.garbage_collect()
|
||||
|
||||
//Remix the resulting gases
|
||||
air_contents.merge(filtered_out)
|
||||
|
||||
if(holding)
|
||||
environment.merge(removed)
|
||||
else
|
||||
tile.assume_air(removed)
|
||||
tile.air_update_turf()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/process()
|
||||
..()
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_ai(mob/user)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_paw(mob/user)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_hand(mob/user)
|
||||
|
||||
user.set_machine(src)
|
||||
var/holding_text
|
||||
|
||||
if(holding)
|
||||
holding_text = {"<BR><B>Tank Pressure</B>: [holding.air_contents.return_pressure()] KPa<BR>
|
||||
<A href='?src=\ref[src];remove_tank=1'>Remove Tank</A><BR>
|
||||
"}
|
||||
var/output_text = {"<TT><B>[name]</B><BR>
|
||||
Pressure: [air_contents.return_pressure()] KPa<BR>
|
||||
Port Status: [(connected_port)?("Connected"):("Disconnected")]
|
||||
[holding_text]
|
||||
<BR>
|
||||
Power Switch: <A href='?src=\ref[src];power=1'>[on?("On"):("Off")]</A><BR>
|
||||
Power regulator: <A href='?src=\ref[src];volume_adj=-1000'>-</A> <A href='?src=\ref[src];volume_adj=-100'>-</A> <A href='?src=\ref[src];volume_adj=-10'>-</A> <A href='?src=\ref[src];volume_adj=-1'>-</A> [volume_rate] <A href='?src=\ref[src];volume_adj=1'>+</A> <A href='?src=\ref[src];volume_adj=10'>+</A> <A href='?src=\ref[src];volume_adj=100'>+</A> <A href='?src=\ref[src];volume_adj=1000'>+</A><BR>
|
||||
|
||||
<HR>
|
||||
<A href='?src=\ref[user];mach_close=scrubber'>Close</A><BR>
|
||||
"}
|
||||
|
||||
user << browse(output_text, "window=scrubber;size=600x300")
|
||||
onclose(user, "scrubber")
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/Topic(href, href_list)
|
||||
..()
|
||||
if (usr.stat || usr.restrained())
|
||||
var/datum/gas_mixture/filtering = mixture.remove(transfer_moles) // Remove part of the mixture to filter.
|
||||
var/datum/gas_mixture/filtered = new
|
||||
if(!filtering)
|
||||
return
|
||||
|
||||
if (((get_dist(src, usr) <= 1) && istype(src.loc, /turf)))
|
||||
usr.set_machine(src)
|
||||
filtered.temperature = filtering.temperature
|
||||
for(var/gas in filtering.gases & scrubbing)
|
||||
filtered.assert_gas(gas)
|
||||
filtered.gases[gas][MOLES] = filtering.gases[gas][MOLES] // Shuffle the "bad" gasses to the filtered mixture.
|
||||
filtering.gases[gas][MOLES] = 0
|
||||
filtering.garbage_collect() // Now that the gasses are set to 0, clean up the mixture.
|
||||
|
||||
if(href_list["power"])
|
||||
air_contents.merge(filtered) // Store filtered out gasses.
|
||||
mixture.merge(filtering) // Returned the cleaned gas.
|
||||
if(!holding)
|
||||
air_update_turf()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/emp_act(severity)
|
||||
if(is_operational())
|
||||
if(prob(50 / severity))
|
||||
on = !on
|
||||
|
||||
if (href_list["remove_tank"])
|
||||
if(holding)
|
||||
holding.loc = loc
|
||||
holding = null
|
||||
|
||||
if (href_list["volume_adj"])
|
||||
var/diff = text2num(href_list["volume_adj"])
|
||||
volume_rate = min(10*ONE_ATMOSPHERE, max(0, volume_rate+diff))
|
||||
|
||||
src.updateUsrDialog()
|
||||
src.add_fingerprint(usr)
|
||||
update_icon()
|
||||
else
|
||||
usr << browse(null, "window=scrubber")
|
||||
..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "portable_scrubber", name, 420, 335, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/get_ui_data()
|
||||
var/data = list()
|
||||
data["on"] = on
|
||||
data["connected"] = connected_port ? 1 : 0
|
||||
data["pressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0)
|
||||
|
||||
if(holding)
|
||||
data["holding"] = list()
|
||||
data["holding"]["name"] = holding.name
|
||||
data["holding"]["pressure"] = round(holding.air_contents.return_pressure())
|
||||
return data
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
switch(action)
|
||||
if("power")
|
||||
on = !on
|
||||
. = TRUE
|
||||
if("eject")
|
||||
if(holding)
|
||||
holding.loc = get_turf(src)
|
||||
holding = null
|
||||
. = TRUE
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge
|
||||
name = "huge air scrubber"
|
||||
icon_state = "scrubber:0"
|
||||
anchored = 1
|
||||
|
||||
volume_rate = 1500
|
||||
volume = 50000
|
||||
widenet = 1
|
||||
|
||||
var/static/gid = 1
|
||||
var/id = 0
|
||||
var/stationary = 0
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/New()
|
||||
..()
|
||||
id = gid
|
||||
gid++
|
||||
|
||||
name = "[name] (ID [id])"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/attack_hand(var/mob/user as mob)
|
||||
usr << "<span class='warning'>You can't directly interact with this machine! Use the area atmos computer.</span>"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/update_icon()
|
||||
src.overlays = 0
|
||||
icon_state = "scrubber:[on]"
|
||||
|
||||
if(on)
|
||||
icon_state = "scrubber:1"
|
||||
else
|
||||
icon_state = "scrubber:0"
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/process_atmos()
|
||||
if(!anchored)
|
||||
on = FALSE
|
||||
update_icon()
|
||||
if(!on)
|
||||
return
|
||||
|
||||
..()
|
||||
if(!holding)
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/turf/simulated/AT in T.GetAtmosAdjacentTurfs(alldir = TRUE))
|
||||
scrub(AT.return_air())
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(stationary)
|
||||
user << "<span class='warning'>The bolts are too tight for you to unscrew!</span>"
|
||||
return
|
||||
if(on)
|
||||
user << "<span class='warning'>Turn it off first!</span>"
|
||||
return
|
||||
|
||||
anchored = !anchored
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "<span class='notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>"
|
||||
|
||||
else if ((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1)
|
||||
atmosanalyzer_scan(air_contents, user)
|
||||
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/stationary
|
||||
name = "stationary air scrubber"
|
||||
stationary = 0
|
||||
if(default_unfasten_wrench(user, W))
|
||||
on = FALSE
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -859,7 +859,6 @@
|
||||
#include "code\modules\atmospherics\machinery\components\unary_devices\unary_devices.dm"
|
||||
#include "code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
|
||||
#include "code\modules\atmospherics\machinery\components\unary_devices\vent_scrubber.dm"
|
||||
#include "code\modules\atmospherics\machinery\other\area_atmos_computer.dm"
|
||||
#include "code\modules\atmospherics\machinery\other\meter.dm"
|
||||
#include "code\modules\atmospherics\machinery\other\zvent.dm"
|
||||
#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -3,7 +3,7 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"autoprefixer": "6.3.1",
|
||||
"babel-core": "6.4.0",
|
||||
"babel-core": "6.4.5",
|
||||
"babel-plugin-external-helpers": "6.4.0",
|
||||
"babel-polyfill": "6.3.14",
|
||||
"babel-preset-es2015": "6.3.13",
|
||||
@@ -14,8 +14,8 @@
|
||||
"browserify": "13.0.0",
|
||||
"bulkify": "1.1.1",
|
||||
"bundle-collapser": "1.2.1",
|
||||
"dom4": "1.6.0",
|
||||
"es3ify": "0.1.4",
|
||||
"dom4": "1.7.0",
|
||||
"es3ify": "0.2.0",
|
||||
"gulp": "github:gulpjs/gulp#4.0",
|
||||
"gulp-bytediff": "1.0.0",
|
||||
"gulp-cssnano": "2.1.0",
|
||||
@@ -24,11 +24,11 @@
|
||||
"gulp-postcss": "6.0.1",
|
||||
"gulp-size": "2.0.0",
|
||||
"gulp-sourcemaps": "1.6.0",
|
||||
"gulp-stylus": "2.2.0",
|
||||
"gulp-stylus": "2.3.0",
|
||||
"gulp-uglify": "1.5.1",
|
||||
"gulplog": "1.0.0",
|
||||
"html5shiv": "3.7.3",
|
||||
"ie8": "0.3.0",
|
||||
"ie8": "0.3.2",
|
||||
"minimist": "1.2.0",
|
||||
"pleeease-filters": "2.0.0",
|
||||
"postcss": "5.0.14",
|
||||
@@ -37,7 +37,7 @@
|
||||
"postcss-font-weights": "2.0.1",
|
||||
"postcss-opacity": "3.0.0",
|
||||
"ractive": "0.7.3",
|
||||
"ractive-componentify": "0.2.2",
|
||||
"ractive-componentify": "0.2.3",
|
||||
"ractive-events-keys": "0.2.1",
|
||||
"ractive-transitions-fade": "0.3.1",
|
||||
"require-globify": "1.3.0",
|
||||
|
||||
37
tgui/src/interfaces/portable_scrubber.ract
Normal file
37
tgui/src/interfaces/portable_scrubber.ract
Normal file
@@ -0,0 +1,37 @@
|
||||
<ui-notice>
|
||||
<span>The regulator {{data.holding ? "is" : "is not"}} connected to a tank.</span>
|
||||
</ui-notice>
|
||||
<ui-display title='Status' button>
|
||||
<ui-section label='Pressure'>
|
||||
<span>{{Math.round(adata.pressure)}} kPa</span>
|
||||
</ui-section>
|
||||
<ui-section label='Port'>
|
||||
<span class='{{data.connected ? "good" : "average"}}'>{{data.connected ? "Connected" : "Not Connected"}}</span>
|
||||
</ui-section>
|
||||
</ui-display>
|
||||
<ui-display title='Filter'>
|
||||
<ui-section label='Power'>
|
||||
<ui-button icon='{{data.on ? "power-off" : "close"}}'
|
||||
style='{{data.on ? "selected" : "null"}}'
|
||||
action='power'>{{data.on ? "On" : "Off"}}</ui-button>
|
||||
</ui-section>
|
||||
</ui-display>
|
||||
<ui-display title='Holding Tank' button>
|
||||
{{#partial button}}
|
||||
{{#if data.holding}}
|
||||
<ui-button icon='eject' style='{{data.on ? "danger" : null}}' action='eject'>Eject</ui-button>
|
||||
{{/if}}
|
||||
{{/partial}}
|
||||
{{#if data.holding}}
|
||||
<ui-section label='Label'>
|
||||
{{data.holding.name}}
|
||||
</ui-section>
|
||||
<ui-section label='Pressure'>
|
||||
{{Math.round(adata.holding.pressure)}} kPa
|
||||
</ui-section>
|
||||
{{else}}
|
||||
<ui-section>
|
||||
<span class='average'>No Holding Tank</span>
|
||||
</ui-section>
|
||||
{{/if}}
|
||||
</ui-display>
|
||||
Reference in New Issue
Block a user