diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 820ffd0be4..7bec217f62 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -226,6 +226,12 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel,
/area/security/prison)
+"aaK" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/crew_quarters/bar)
"aaL" = (
/obj/machinery/computer/libraryconsole/bookmanagement,
/obj/structure/table,
@@ -5861,7 +5867,7 @@
pixel_y = -2
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -8268,7 +8274,7 @@
},
/obj/structure/filingcabinet/employment,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/wood,
@@ -8414,7 +8420,7 @@
/area/crew_quarters/dorms)
"asl" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plating,
@@ -9588,7 +9594,7 @@
/area/maintenance/fore)
"avj" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable{
@@ -11430,7 +11436,7 @@
/obj/item/clothing/under/gladiator,
/obj/item/clothing/under/gladiator,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -13476,13 +13482,6 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
-"aDQ" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/turf/open/floor/wood,
-/area/crew_quarters/bar)
"aDR" = (
/obj/structure/closet/lasertag/blue,
/obj/item/clothing/under/pj/blue,
@@ -14587,7 +14586,7 @@
/area/ai_monitored/nuke_storage)
"aGf" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -15886,7 +15885,7 @@
/obj/item/reagent_containers/glass/bucket,
/obj/item/plant_analyzer,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/green,
@@ -17035,7 +17034,7 @@
/area/construction/mining/aux_base)
"aLv" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -19589,7 +19588,7 @@
/area/library)
"aRR" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
@@ -19620,7 +19619,7 @@
pixel_y = 24
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable{
@@ -19680,6 +19679,7 @@
/area/storage/tools)
"aSd" = (
/obj/machinery/firealarm{
+ dir = 1;
pixel_y = -24
},
/turf/open/floor/plasteel,
@@ -21255,7 +21255,7 @@
"aVH" = (
/obj/machinery/processor,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/cafeteria,
@@ -23027,7 +23027,7 @@
/area/bridge/meeting_room)
"aZv" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/table,
@@ -23357,7 +23357,7 @@
pixel_y = 2
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -23901,7 +23901,7 @@
/area/chapel/main)
"bbG" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -24036,7 +24036,7 @@
/area/crew_quarters/locker)
"bbV" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -25327,7 +25327,7 @@
layer = 2.9
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/table/reinforced,
@@ -26112,7 +26112,7 @@
/area/crew_quarters/heads/captain)
"bgY" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -28412,7 +28412,7 @@
},
/obj/item/stack/cable_coil,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white,
@@ -28706,7 +28706,7 @@
},
/obj/machinery/light,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/white,
@@ -28945,7 +28945,7 @@
/obj/item/assembly/flash/handheld,
/obj/item/assembly/flash/handheld,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -29837,7 +29837,7 @@
"bpg" = (
/obj/structure/chair/office/light,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -29884,7 +29884,7 @@
network = list("ss13","medbay")
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/closet/secure_closet/personal/patient,
@@ -30212,7 +30212,7 @@
/area/science/robotics/lab)
"bpX" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -31709,7 +31709,7 @@
"btt" = (
/obj/structure/table,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/folder/yellow,
@@ -34596,7 +34596,7 @@
/area/science/research)
"bzF" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -34892,7 +34892,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/white,
@@ -36231,7 +36231,7 @@
/area/quartermaster/miningdock)
"bDl" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -36265,7 +36265,7 @@
/area/quartermaster/miningdock)
"bDp" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -42597,7 +42597,7 @@
/area/medical/virology)
"bRO" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white,
@@ -45588,7 +45588,7 @@
/area/engine/break_room)
"bYI" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/yellow,
@@ -47354,7 +47354,7 @@
/area/maintenance/port/aft)
"ccv" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -48381,7 +48381,7 @@
/area/crew_quarters/heads/chief)
"cfd" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/closet/radiation,
@@ -51655,7 +51655,7 @@
/area/engine/engineering)
"cmG" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable{
@@ -52930,7 +52930,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/engine,
@@ -53882,7 +53882,7 @@
pixel_y = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -54088,7 +54088,7 @@
"cuo" = (
/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/corner,
@@ -54175,7 +54175,7 @@
amount = 35
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/corner{
@@ -54830,7 +54830,7 @@
network = list("aicore")
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/circuit,
@@ -55028,7 +55028,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/dark,
@@ -56922,7 +56922,7 @@
/area/engine/engineering)
"cEk" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/dark,
@@ -59662,7 +59662,7 @@
"vzp" = (
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/stock_parts/cell/high,
@@ -95402,7 +95402,7 @@ cNE
aQP
awB
awB
-aDQ
+aaK
aFi
awB
awB
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index ac7d291b2f..25f8bfdd4c 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1800,7 +1800,7 @@
pixel_y = -32
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -15186,7 +15186,7 @@
/area/crew_quarters/bar)
"aGc" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -15457,7 +15457,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -16828,7 +16828,7 @@
/area/maintenance/disposal/incinerator)
"aIy" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -17791,7 +17791,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -21486,7 +21486,7 @@
"aQl" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/camera,
@@ -23602,7 +23602,7 @@
/area/crew_quarters/theatre)
"aTy" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -27337,7 +27337,7 @@
/area/crew_quarters/bar/atrium)
"aYF" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -27513,7 +27513,7 @@
"aYR" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -27639,7 +27639,7 @@
"aZb" = (
/obj/machinery/photocopier,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -29336,7 +29336,7 @@
pixel_y = 22
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/chem_master/condimaster{
@@ -29603,7 +29603,7 @@
/obj/item/clipboard,
/obj/item/toy/figure/miner,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -30819,7 +30819,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -31057,7 +31057,7 @@
"beY" = (
/obj/structure/kitchenspike,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -32627,7 +32627,7 @@
/area/crew_quarters/kitchen)
"bhL" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -40095,7 +40095,7 @@
/area/crew_quarters/heads/hos)
"bty" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -40782,7 +40782,7 @@
/area/security/main)
"buM" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -41844,7 +41844,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -43216,7 +43216,7 @@
"byI" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/red{
@@ -43230,7 +43230,7 @@
/area/security/execution/transfer)
"byJ" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -48755,7 +48755,7 @@
/area/engine/gravity_generator)
"bGg" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -48794,7 +48794,7 @@
/area/engine/break_room)
"bGk" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/airalarm{
@@ -48935,7 +48935,7 @@
"bGt" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -49890,7 +49890,7 @@
/area/engine/gravity_generator)
"bHS" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -50406,7 +50406,7 @@
"bIG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -51881,7 +51881,7 @@
"bKU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -52445,7 +52445,7 @@
"bLK" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/button/door{
@@ -55374,7 +55374,7 @@
"bQh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/yellow{
@@ -57009,7 +57009,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -57153,7 +57153,7 @@
pixel_y = -3
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -57248,7 +57248,7 @@
layer = 2.9
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -60797,7 +60797,7 @@
"bXY" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60899,7 +60899,7 @@
"bYh" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60920,7 +60920,7 @@
"bYi" = (
/obj/structure/window/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -62280,7 +62280,7 @@
/area/ai_monitored/turret_protected/aisat_interior)
"caj" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/porta_turret/ai,
@@ -64037,7 +64037,7 @@
"cdk" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -64076,7 +64076,7 @@
/area/security/brig)
"cdn" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -67030,7 +67030,7 @@
/area/engine/engineering)
"chF" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -67361,7 +67361,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -69328,7 +69328,7 @@
pixel_x = -26
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -70711,7 +70711,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/grimy,
@@ -76603,7 +76603,7 @@
},
/obj/item/crowbar,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/table/reinforced,
@@ -77602,7 +77602,7 @@
"czP" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -77888,7 +77888,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable/white{
@@ -78794,7 +78794,7 @@
"cBL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -80798,7 +80798,7 @@
/obj/item/radio,
/obj/item/radio,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/decal/cleanable/dirt,
@@ -81427,7 +81427,7 @@
/obj/item/clothing/head/welding,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -82645,7 +82645,7 @@
/area/crew_quarters/dorms)
"cIk" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -87477,7 +87477,7 @@
"cQE" = (
/obj/structure/closet/secure_closet/security/science,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/status_display{
@@ -88838,7 +88838,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -95618,7 +95618,7 @@
/obj/item/paper_bin,
/obj/item/pen,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/storage/bag/bio,
@@ -96554,7 +96554,7 @@
/obj/item/reagent_containers/glass/bottle/epinephrine,
/obj/item/reagent_containers/dropper,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -100259,7 +100259,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/door/firedoor,
@@ -100623,7 +100623,7 @@
/area/science/explab)
"dmJ" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/bot,
@@ -100634,7 +100634,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -103278,7 +103278,7 @@
pixel_x = 36
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/vending/assist,
@@ -103445,7 +103445,7 @@
pixel_y = 6
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -104055,7 +104055,7 @@
"dti" = (
/obj/structure/closet/bombcloset,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -104389,7 +104389,7 @@
/area/medical/surgery)
"dtQ" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -105002,7 +105002,7 @@
"duZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -105033,7 +105033,7 @@
"dvd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -107185,7 +107185,7 @@
"dyD" = (
/obj/structure/table,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/status_display/ai{
@@ -108398,7 +108398,7 @@
/obj/item/clothing/glasses/welding,
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -111492,7 +111492,7 @@
dir = 5
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -111886,7 +111886,7 @@
pixel_y = 26
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -112582,7 +112582,7 @@
/area/science/robotics/lab)
"dHC" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/disposalpipe/segment,
@@ -113983,7 +113983,7 @@
"dJO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -114247,7 +114247,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -116746,7 +116746,7 @@
"dOC" = (
/obj/structure/filingcabinet/medical,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -117626,7 +117626,7 @@
name = "emergency shower"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -118825,7 +118825,7 @@
/area/medical/virology)
"dSd" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -119657,7 +119657,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/sign/poster/official/work_for_a_future{
@@ -119868,7 +119868,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -121622,7 +121622,7 @@
"dXI" = (
/obj/structure/chair/wood,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -122148,7 +122148,7 @@
/area/medical/virology)
"dYV" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/closet/secure_closet/medical1,
@@ -125155,7 +125155,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/status_display{
@@ -125251,7 +125251,7 @@
"eeH" = (
/obj/structure/filingcabinet/security,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -125960,7 +125960,7 @@
"egb" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/clipboard,
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 0e6feb67c6..10e0c1a9a7 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -1445,7 +1445,7 @@
icon_state = "1-2"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -3882,7 +3882,7 @@
/obj/item/clothing/head/helmet/riot,
/obj/item/clothing/head/helmet/riot,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral{
@@ -4020,7 +4020,7 @@
"ahJ" = (
/obj/machinery/disposal/bin,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -4158,7 +4158,7 @@
icon_state = "1-2"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -4903,7 +4903,7 @@
name = "Evidence Closet 5"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral{
@@ -7192,7 +7192,7 @@
/obj/item/reagent_containers/glass/bottle/morphine,
/obj/machinery/light/small,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/bot,
@@ -7248,7 +7248,7 @@
"anu" = (
/obj/machinery/vending/security,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/showroomfloor,
@@ -7733,7 +7733,7 @@
"aot" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/red{
@@ -7780,7 +7780,7 @@
/area/maintenance/port/fore)
"aoy" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/structure/closet/secure_closet/warden,
@@ -9298,7 +9298,7 @@
},
/obj/structure/table/wood,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/grimy,
@@ -9456,7 +9456,7 @@
/area/engine/gravity_generator)
"arS" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/structure/cable{
@@ -11192,7 +11192,7 @@
dir = 5
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/tile/neutral{
@@ -13469,7 +13469,7 @@
/area/security/brig)
"azQ" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/filingcabinet,
@@ -14063,7 +14063,7 @@
/area/hallway/primary/fore)
"aAX" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/light/small{
@@ -14112,7 +14112,7 @@
"aBc" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/tile/red{
@@ -14609,7 +14609,7 @@
maxcharge = 2000
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/spawner/lootdrop/maintenance,
@@ -15124,7 +15124,7 @@
/area/maintenance/port/fore)
"aDh" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -16127,7 +16127,7 @@
"aFc" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -16225,7 +16225,7 @@
"aFo" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral{
@@ -16236,7 +16236,7 @@
"aFp" = (
/obj/structure/reagent_dispensers/watertank,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -16584,7 +16584,7 @@
icon_state = "2-4"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/machinery/camera{
@@ -16858,7 +16858,7 @@
},
/obj/item/pen,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/reagent_dispensers/peppertank{
@@ -17616,7 +17616,7 @@
/area/maintenance/starboard/fore)
"aHX" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -18710,7 +18710,7 @@
icon_state = "1-8"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -19722,7 +19722,7 @@
/area/storage/primary)
"aMF" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -19794,7 +19794,7 @@
/area/hallway/primary/fore)
"aMK" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -20623,7 +20623,7 @@
/area/lawoffice)
"aOs" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/table,
@@ -21207,7 +21207,7 @@
"aPA" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -21396,7 +21396,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/tile/neutral{
@@ -23473,7 +23473,7 @@
icon_state = "1-2"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -23863,7 +23863,7 @@
/area/crew_quarters/locker)
"aUL" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -25956,7 +25956,7 @@
pixel_x = -38
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/loading_area{
@@ -28079,7 +28079,7 @@
"bcn" = (
/obj/structure/rack,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/item/clothing/gloves/color/fyellow,
@@ -28277,7 +28277,7 @@
/area/storage/tech)
"bcE" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/structure/disposalpipe/segment{
@@ -28446,7 +28446,7 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/cable/yellow{
@@ -28566,7 +28566,7 @@
},
/obj/structure/closet/secure_closet/security,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/red{
@@ -28783,7 +28783,7 @@
dir = 9
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -29276,7 +29276,7 @@
"beo" = (
/obj/structure/closet/secure_closet/security/engine,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/cable/yellow{
@@ -30114,7 +30114,7 @@
pixel_y = 7
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
@@ -30613,7 +30613,7 @@
/obj/item/mop,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -31943,7 +31943,7 @@
/area/hallway/primary/starboard)
"bjE" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -32353,7 +32353,7 @@
"bkn" = (
/obj/structure/table,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/tile/brown{
@@ -33024,7 +33024,7 @@
/obj/machinery/computer/teleporter,
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/effect/turf_decal/tile/neutral{
@@ -34207,7 +34207,7 @@
/area/ai_monitored/storage/satellite)
"bnK" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -34637,7 +34637,7 @@
/area/bridge)
"boC" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/item/storage/fancy/donut_box,
@@ -36458,7 +36458,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -37243,7 +37243,7 @@
/obj/structure/table,
/obj/item/camera_film,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel,
@@ -38242,7 +38242,7 @@
pixel_x = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
@@ -38729,7 +38729,7 @@
"bwr" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -38821,7 +38821,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -38943,7 +38943,7 @@
"bwK" = (
/obj/structure/table,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/machinery/chem_dispenser/drinks,
@@ -39807,7 +39807,7 @@
"byv" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -39973,7 +39973,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue,
@@ -40671,7 +40671,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/carpet,
@@ -41103,7 +41103,7 @@
pixel_y = -30
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/item/paper_bin{
@@ -41614,7 +41614,7 @@
/area/crew_quarters/theatre)
"bCd" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/table/wood,
@@ -41949,7 +41949,7 @@
/area/crew_quarters/toilet/auxiliary)
"bCS" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -44190,7 +44190,7 @@
dir = 5
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/yellow{
@@ -45223,7 +45223,7 @@
/area/security/vacantoffice)
"bJx" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -45233,7 +45233,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/decal/cleanable/cobweb,
@@ -45319,7 +45319,7 @@
"bJH" = (
/obj/machinery/suit_storage_unit/standard_unit,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -45967,7 +45967,7 @@
icon_state = "1-2"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -46985,7 +46985,7 @@
"bMW" = (
/obj/machinery/teleport/station,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plating,
@@ -47352,7 +47352,7 @@
/area/crew_quarters/kitchen)
"bNC" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/vending/dinnerware,
@@ -47447,7 +47447,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/dark,
@@ -49198,7 +49198,7 @@
name = "novelty HoS hat"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -49294,7 +49294,7 @@
"bRO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -49729,7 +49729,7 @@
"bSD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -52408,7 +52408,7 @@
/area/hallway/primary/central)
"bXZ" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/item/twohanded/required/kirbyplants{
@@ -53733,7 +53733,7 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -53817,7 +53817,7 @@
},
/obj/item/pen,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/red{
@@ -53831,7 +53831,7 @@
/area/security/checkpoint/science/research)
"caG" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/sink{
@@ -55905,7 +55905,7 @@
},
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26;
pixel_y = 28
},
@@ -57091,7 +57091,7 @@
icon_state = "2-8"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/structure/reagent_dispensers/cooking_oil,
@@ -57265,7 +57265,7 @@
/area/medical/sleeper)
"cgT" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -57892,7 +57892,7 @@
/area/maintenance/port/aft)
"cie" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -59031,7 +59031,7 @@
/area/maintenance/starboard/aft)
"ckm" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/sink{
@@ -59626,7 +59626,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -59730,7 +59730,7 @@
/area/science/research)
"clI" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/closet/firecloset,
@@ -61045,7 +61045,7 @@
/area/science/research)
"cok" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/structure/disposalpipe/segment,
@@ -62766,7 +62766,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white/side{
@@ -63319,7 +63319,7 @@
"csq" = (
/obj/structure/bed,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/item/bedsheet/medical,
@@ -63349,7 +63349,7 @@
/area/medical/cryo)
"cst" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -64556,7 +64556,7 @@
pixel_y = 2
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/sign/warning/nosmoking{
@@ -64778,7 +64778,7 @@
},
/obj/item/storage/secure/briefcase,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/cafeteria{
@@ -65130,7 +65130,7 @@
/area/medical/genetics)
"cvC" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/storage/box/syringes,
@@ -65705,7 +65705,7 @@
"cwF" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -65785,7 +65785,7 @@
"cwO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -66781,7 +66781,7 @@
/area/science/circuit)
"cyN" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/airalarm{
@@ -67430,7 +67430,7 @@
},
/obj/item/paper,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/table/glass,
@@ -68105,7 +68105,7 @@
"cBi" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/delivery,
@@ -68521,7 +68521,7 @@
/area/medical/medbay/aft)
"cCb" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/closet/secure_closet/personal/patient,
@@ -69596,7 +69596,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -70136,7 +70136,7 @@
/area/science/robotics/lab)
"cFj" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28;
pixel_y = 5
},
@@ -70649,7 +70649,7 @@
"cGi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white/side{
@@ -72046,7 +72046,7 @@
dir = 9
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/machinery/vending/wardrobe/viro_wardrobe,
@@ -73267,7 +73267,7 @@
dir = 9
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -73902,7 +73902,7 @@
"cLS" = (
/obj/structure/chair/stool,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/green,
@@ -73931,7 +73931,7 @@
pixel_y = 25
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/structure/table/wood,
@@ -77869,7 +77869,7 @@
/area/hallway/primary/central)
"cVi" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -79683,7 +79683,7 @@
network = list("ss13","engine")
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
@@ -81295,7 +81295,7 @@
/area/crew_quarters/theatre)
"dis" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/disposal/bin,
@@ -84068,7 +84068,7 @@
/area/library)
"qXt" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index bd3d72dc85..b8484859f4 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -1094,7 +1094,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/purple{
@@ -3052,7 +3052,7 @@
"afp" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -3138,7 +3138,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -4288,7 +4288,7 @@
/area/maintenance/starboard/fore)
"ahk" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -4440,7 +4440,7 @@
"ahy" = (
/obj/machinery/suit_storage_unit/security,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
@@ -4475,7 +4475,7 @@
"ahB" = (
/obj/machinery/photocopier,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable/white{
@@ -7740,7 +7740,7 @@
/obj/item/stack/packageWrap,
/obj/item/hand_labeler,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -7886,7 +7886,7 @@
"anj" = (
/obj/machinery/suit_storage_unit/standard_unit,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/end{
@@ -8367,7 +8367,7 @@
"anZ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -8554,7 +8554,7 @@
},
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -9965,7 +9965,7 @@
icon_state = "plant-21"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -10216,7 +10216,7 @@
pixel_y = -22
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/paper_bin,
@@ -11445,7 +11445,7 @@
"atj" = (
/obj/machinery/vending/coffee,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -12887,7 +12887,7 @@
/area/hallway/primary/port)
"avX" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/item/twohanded/required/kirbyplants{
@@ -12902,7 +12902,7 @@
/obj/item/stock_parts/cell/high,
/obj/machinery/cell_charger,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -14105,7 +14105,7 @@
/area/engine/atmos)
"ayl" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -14116,7 +14116,7 @@
"aym" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/delivery,
@@ -16093,7 +16093,7 @@
"aCh" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/bot,
@@ -16503,7 +16503,7 @@
/obj/item/clipboard,
/obj/item/toy/figure/chef,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -16714,7 +16714,7 @@
/area/engine/break_room)
"aDw" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -17444,7 +17444,7 @@
"aEK" = (
/obj/machinery/vending/clothing,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -17977,7 +17977,7 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/cable{
@@ -18209,7 +18209,7 @@
/area/hallway/primary/port)
"aFL" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -20148,7 +20148,7 @@
/obj/structure/table,
/obj/item/storage/pill_bottle/dice,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -21489,7 +21489,7 @@
"aLg" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -22597,7 +22597,7 @@
/area/maintenance/starboard/central)
"aNF" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -23062,7 +23062,7 @@
/area/engine/engineering)
"aOG" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -23834,7 +23834,7 @@
"aPW" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -25049,7 +25049,7 @@
name = "emergency shower"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -26916,7 +26916,7 @@
/obj/item/storage/box/bodybags,
/obj/item/pen,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -28252,7 +28252,7 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -29794,7 +29794,7 @@
/area/hallway/primary/aft)
"baN" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -30100,7 +30100,7 @@
/area/medical/medbay/zone3)
"bbu" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -31241,7 +31241,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -32128,7 +32128,7 @@
/area/security/checkpoint)
"beK" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -34456,7 +34456,7 @@
pixel_y = -22
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -37099,7 +37099,7 @@
"dai" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -40387,7 +40387,7 @@
/area/maintenance/starboard)
"sHf" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -42215,6 +42215,7 @@
},
/obj/structure/table,
/obj/machinery/firealarm{
+ dir = 1;
pixel_y = -26
},
/obj/effect/turf_decal/tile/neutral,
@@ -42280,6 +42281,7 @@
},
/obj/effect/turf_decal/delivery,
/obj/machinery/firealarm{
+ dir = 1;
pixel_y = -26
},
/obj/effect/turf_decal/tile/neutral,
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 9f1c1824cd..13922a15e2 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -174,7 +174,6 @@
pixel_x = -27
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 26
},
/turf/open/floor/circuit,
@@ -672,7 +671,7 @@
/obj/item/pen,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/item/paper_bin,
@@ -2453,7 +2452,7 @@
dir = 6
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -27
},
/turf/open/floor/plasteel/showroomfloor,
@@ -3387,7 +3386,7 @@
/obj/item/gun/energy/e_gun,
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -27
},
/turf/open/floor/plasteel/dark,
@@ -4248,7 +4247,7 @@
},
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -27
},
/obj/effect/turf_decal/tile/red{
@@ -4964,7 +4963,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/showroomfloor,
@@ -8228,7 +8227,7 @@
dir = 10
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/dark,
@@ -8715,7 +8714,7 @@
/area/crew_quarters/dorms)
"avl" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/computer/cryopod{
@@ -9674,7 +9673,7 @@
light_color = "#e8eaff"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/computer/rdconsole{
@@ -11431,7 +11430,6 @@
"aBB" = (
/obj/machinery/computer/cargo/request,
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/turf/open/floor/wood,
@@ -12379,7 +12377,7 @@
/area/storage/primary)
"aDB" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral,
@@ -14356,7 +14354,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/blue{
@@ -17508,7 +17505,7 @@
dir = 10
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel,
@@ -18556,7 +18553,7 @@
/area/maintenance/department/crew_quarters/bar)
"aSA" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/machinery/hydroponics/constructable,
@@ -18775,7 +18772,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/brown{
@@ -19108,7 +19104,7 @@
"aTP" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral,
@@ -21328,7 +21324,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/brown,
@@ -21725,7 +21721,7 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/dark,
@@ -22077,7 +22073,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/green{
@@ -24433,7 +24429,6 @@
"bfx" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 24
},
/obj/effect/turf_decal/delivery,
@@ -24819,7 +24814,6 @@
/area/hallway/primary/central)
"bgx" = (
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 27
},
/obj/structure/chair,
@@ -26683,7 +26677,7 @@
"bly" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26;
pixel_y = 28
},
@@ -27994,7 +27988,6 @@
"boz" = (
/obj/machinery/vending/clothing,
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 27
},
/obj/effect/turf_decal/tile/blue{
@@ -30024,7 +30017,7 @@
"bsB" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/obj/structure/sign/poster/official/random{
@@ -30231,7 +30224,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/green,
@@ -30360,7 +30353,7 @@
/obj/item/crowbar,
/obj/item/wrench,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/item/multitool,
@@ -30810,7 +30803,7 @@
/area/medical/chemistry)
"bun" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/yellow{
@@ -30848,7 +30841,7 @@
network = list("ss13","rd")
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -31469,7 +31462,7 @@
dir = 1
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -34270,7 +34263,7 @@
/area/science/storage)
"bBH" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -34299,7 +34292,7 @@
"bBK" = (
/obj/structure/closet/bombcloset,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/sign/poster/official/random{
@@ -35599,7 +35592,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -35961,8 +35954,7 @@
dir = 1
},
/obj/machinery/vending/wallmed{
- pixel_y = 28;
- products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
+ pixel_y = 28
},
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/effect/landmark/blobstart,
@@ -36644,7 +36636,7 @@
"bGe" = (
/obj/machinery/portable_atmospherics/scrubber,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral{
@@ -36690,7 +36682,7 @@
network = list("ss13","rd")
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/turf/open/floor/engine,
@@ -37123,7 +37115,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -37798,8 +37790,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/vending/wallmed{
- pixel_y = 28;
- products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
+ pixel_y = 28
},
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -38760,8 +38751,7 @@
/area/medical/medbay/central)
"bKw" = (
/obj/machinery/vending/wallmed{
- pixel_y = 28;
- products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
+ pixel_y = 28
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
@@ -39311,7 +39301,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/white,
@@ -40977,7 +40967,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/yellow{
@@ -41200,7 +41190,6 @@
},
/obj/effect/turf_decal/stripes/line,
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/turf/open/floor/plasteel/dark,
@@ -41252,7 +41241,6 @@
},
/obj/item/stock_parts/cell/high/plus,
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/green{
@@ -42923,7 +42911,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/yellow{
@@ -45325,7 +45312,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/stripes/corner{
@@ -47520,7 +47506,7 @@
/area/engine/engineering)
"cgV" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -48339,7 +48325,7 @@
"ckD" = (
/obj/structure/chair/wood/normal,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/turf/open/floor/plasteel/dark,
@@ -52165,7 +52151,6 @@
network = list("ss13","monastery")
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/turf/open/floor/plasteel/dark,
@@ -53839,7 +53824,7 @@
/area/maintenance/department/security/brig)
"ePS" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/machinery/light{
@@ -54224,7 +54209,7 @@
"fFv" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
@@ -54362,7 +54347,7 @@
"gdL" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -56363,7 +56348,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -27
},
/obj/effect/turf_decal/tile/green{
@@ -59450,7 +59435,6 @@
pixel_y = 6
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 27
},
/turf/open/floor/plasteel/cafeteria,
@@ -59851,7 +59835,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/red{
@@ -60093,7 +60076,7 @@
},
/obj/item/hand_labeler,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -61756,7 +61739,6 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/neutral{
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 80e80cd6a9..6a323ee86f 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -3398,7 +3398,7 @@
/area/centcom/supply)
"iS" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/brown{
@@ -3883,7 +3883,7 @@
/area/centcom/control)
"jV" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -4231,7 +4231,7 @@
icon_state = "plant-22"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -5775,7 +5775,7 @@
req_access_txt = "109"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -5799,7 +5799,7 @@
req_access_txt = "109"
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -6866,7 +6866,7 @@
/area/centcom/ferry)
"pM" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -6893,7 +6893,7 @@
/obj/item/clothing/gloves/color/black,
/obj/item/clothing/glasses/eyepatch,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/grimy,
@@ -9214,7 +9214,7 @@
pixel_y = -32
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -11017,7 +11017,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -12323,7 +12323,7 @@
/obj/item/book/manual/wiki/security_space_law,
/obj/item/taperecorder,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -12390,7 +12390,7 @@
"CM" = (
/obj/structure/filingcabinet/medical,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -14511,7 +14511,7 @@
/area/tdome/tdomeobserve)
"Hq" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white,
@@ -14554,7 +14554,7 @@
/area/tdome/tdomeobserve)
"Hu" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/bar,
@@ -15835,7 +15835,7 @@
icon_state = "plant-21"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
index 058fd864bd..cabcc0a17d 100644
--- a/code/__DEFINES/antagonists.dm
+++ b/code/__DEFINES/antagonists.dm
@@ -12,6 +12,7 @@
#define APPRENTICE_BLUESPACE "bluespace"
#define APPRENTICE_ROBELESS "robeless"
#define APPRENTICE_HEALING "healing"
+#define APPRENTICE_MARTIAL "martial"
//ERT Types
diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 41b5deb302..74a6796bd2 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -9,12 +9,13 @@
#define META_GAS_FUSION_POWER 7
//ATMOS
//stuff you should probably leave well alone!
-#define R_IDEAL_GAS_EQUATION 8.31 //kPa*L/(K*mol)
-#define ONE_ATMOSPHERE 101.325 //kPa
-#define TCMB 2.7 // -270.3degC
-#define TCRYO 225 // -48.15degC
-#define T0C 273.15 // 0degC
-#define T20C 293.15 // 20degC
+#define R_IDEAL_GAS_EQUATION 8.31446261815324 //kPa*L/(K*mol)
+#define ONE_ATMOSPHERE 101.325 //kPa
+#define TCMB 2.7 // -270.3degC
+#define TCRYO 225 // -48.15degC
+#define T0C 273.15 // 0degC
+#define T20C 293.15 // 20degC
+#define STEFANBOLTZMANN (5.670373*10e-8) // W/(m^2*K^4)
#define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC
#define M_CELL_WITH_RATIO (MOLES_CELLSTANDARD * 0.005) //compared against for superconductivity
@@ -149,9 +150,9 @@
//OPEN TURF ATMOS
#define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" //the default air mix that open turfs spawn
-#define TCOMMS_ATMOS "n2=100;TEMP=80" //-193,15°C telecommunications. also used for xenobiology slime killrooms
+#define TCOMMS_ATMOS "n2=100;TEMP=80" //-193,15°C telecommunications. also used for xenobiology slime killrooms
#define AIRLESS_ATMOS "TEMP=2.7" //space
-#define FROZEN_ATMOS "o2=22;n2=82;TEMP=180" //-93.15°C snow and ice turfs
+#define FROZEN_ATMOS "o2=22;n2=82;TEMP=180" //-93.15°C snow and ice turfs
#define BURNMIX_ATMOS "o2=2500;plasma=5000;TEMP=370" //used in the holodeck burn test program
//ATMOSPHERICS DEPARTMENT GAS TANK TURFS
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index e3cafd4613..47b5c2f602 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -57,9 +57,9 @@
#define BALLS_SACK_SIZE_DEF 8
#define BALLS_SACK_SIZE_MAX 40
-#define CUM_RATE 0.035
+#define CUM_RATE 2 // holy shit what a really shitty define name - relates to units per arbitrary measure of time?
#define CUM_RATE_MULT 1
-#define CUM_EFFICIENCY 1//amount of nutrition required per life()
+#define CUM_EFFICIENCY 1 //amount of nutrition required per life()
#define EGG_GIRTH_MIN 1//inches
#define EGG_GIRTH_DEF 6
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index 6a25b9fcaf..7b2dd8663c 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -36,8 +36,10 @@
//////////////////////////////////////////////////////////////////
// /datum signals
-#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (/datum/component)
-#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (/datum/component)
+#define COMSIG_COMPONENT_ADDED "component_added" //sent to the new datum parent when a component is added to them: (/datum/component)
+#define COMSIG_COMPONENT_REMOVING "component_removing" //sent to the datum parent before a component is removed from them because of RemoveComponent: (/datum/component)
+#define COMSIG_COMPONENT_UNREGISTER_PARENT "component_unregister_parent" //sent to the component itself when unregistered from a parent
+#define COMSIG_COMPONENT_REGISTER_PARENT "component_register_parent" //sent to the component itself when registered to a parent
#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted" //before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
#define COMSIG_PARENT_QDELETING "parent_qdeleting" //just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
@@ -150,13 +152,16 @@
#define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination)
// /mind signals
-#define COMSIG_MIND_TRANSFER "mind_transfer" //from base of mind/transfer_to(): (new_character, old_character)
+#define COMSIG_PRE_MIND_TRANSFER "pre_mind_transfer" //from base of mind/transfer_to() before it's done: (new_character, old_character)
+ #define COMPONENT_STOP_MIND_TRANSFER 1 //stops the mind transfer from happening.
+#define COMSIG_MIND_TRANSFER "mind_transfer" //from base of mind/transfer_to() when it's done: (new_character, old_character)
// /mob signals
#define COMSIG_MOB_EXAMINATE "mob_examinate" //from base of /mob/verb/examinate(): (atom/A)
#define COMPONENT_ALLOW_EXAMINE 1
#define COMSIG_MOB_DEATH "mob_death" //from base of mob/death(): (gibbed)
-#define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize(): (can_reenter_corpse)
+ #define COMPONENT_BLOCK_DEATH_BROADCAST 1 //stops the death from being broadcasted in deadchat.
+#define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize(): (can_reenter_corpse, special, penalize)
#define COMPONENT_BLOCK_GHOSTING 1
#define COMSIG_MOB_ALLOWED "mob_allowed" //from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" //from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)
@@ -168,7 +173,9 @@
#define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
#define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" //from base of mob/RangedAttack(): (atom/A, params)
#define COMSIG_MOB_THROW "mob_throw" //from base of /mob/throw_item(): (atom/target)
-#define COMSIG_MOB_KEY_CHANGE "mob_key_change" //from base of /mob/transfer_ckey()
+#define COMSIG_MOB_KEY_CHANGE "mob_key_change" //from base of /mob/transfer_ckey(): (new_character, old_character)
+#define COMSIG_MOB_PRE_PLAYER_CHANGE "mob_pre_player_change" //sent to the target mob from base of /mob/transfer_ckey() and /mind/transfer_to(): (our_character, their_character)
+// #define COMPONENT_STOP_MIND_TRANSFER 1
#define COMSIG_MOB_UPDATE_SIGHT "mob_update_sight" //from base of /mob/update_sight(): ()
#define COMSIG_MOB_SAY "mob_say" // from /mob/living/say(): (proc args list)
#define COMPONENT_UPPERCASE_SPEECH 1
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 6f433374e7..09ef814f68 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -118,6 +118,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define ismouse(A) (istype(A, /mob/living/simple_animal/mouse))
+#define iscow(A) (istype(A, /mob/living/simple_animal/cow))
+
#define isslime(A) (istype(A, /mob/living/simple_animal/slime))
#define isdrone(A) (istype(A, /mob/living/simple_animal/drone))
diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm
index 13dccc74fe..89c702e605 100644
--- a/code/__DEFINES/lighting.dm
+++ b/code/__DEFINES/lighting.dm
@@ -59,11 +59,13 @@
#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow.
#define LIGHTING_PLANE_ALPHA_VISIBLE 255
-#define LIGHTING_PLANE_ALPHA_NV_TRAIT 250
+#define LIGHTING_PLANE_ALPHA_NV_TRAIT 223
#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192
#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
#define LIGHTING_PLANE_ALPHA_INVISIBLE 0
+#define NIGHT_VISION_DARKSIGHT_RANGE 3
+
//lighting area defines
#define DYNAMIC_LIGHTING_DISABLED 0 //dynamic lighting disabled (area stays at full brightness)
#define DYNAMIC_LIGHTING_ENABLED 1 //dynamic lighting enabled
@@ -80,4 +82,4 @@
#define FLASH_LIGHT_DURATION 2
#define FLASH_LIGHT_POWER 3
-#define FLASH_LIGHT_RANGE 3.8
\ No newline at end of file
+#define FLASH_LIGHT_RANGE 3.8
diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm
index 50e1a10fa1..1883df6e8e 100644
--- a/code/__DEFINES/movespeed_modification.dm
+++ b/code/__DEFINES/movespeed_modification.dm
@@ -57,6 +57,7 @@
#define MOVESPEED_ID_PRONE_DRAGGING "PRONE_DRAG"
#define MOVESPEED_ID_HUMAN_CARRYING "HUMAN_CARRY"
+#define MOVESPEED_ID_SHRINK_RAY "SHRUNKEN_SPEED_MODIFIER"
#define MOVESPEED_ID_TASED_STATUS "TASED"
diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index d772680ce4..6d52f4640c 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -68,6 +68,8 @@
#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage
+#define STATUS_EFFECT_NECKSLICE /datum/status_effect/neck_slice //Creates the flavor messages for the neck-slice
+
#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse
#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured
#define CURSE_SPAWNING 2 //spawns creatures that attack the target only
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 8cc8960b01..d17db07b50 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -66,6 +66,7 @@
#define TRAIT_HUSK "husk"
#define TRAIT_NOCLONE "noclone"
#define TRAIT_CLUMSY "clumsy"
+#define TRAIT_CHUNKYFINGERS "chunkyfingers" //means that you can't use weapons with normal trigger guards.
#define TRAIT_DUMB "dumb"
#define TRAIT_MONKEYLIKE "monkeylike" //sets IsAdvancedToolUser to FALSE
#define TRAIT_PACIFISM "pacifism"
@@ -223,5 +224,6 @@
#define LOCKED_HELMET_TRAIT "locked-helmet"
#define NINJA_SUIT_TRAIT "ninja-suit"
#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
+#define SLEEPING_CARP_TRAIT "sleeping_carp"
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
#define MADE_UNCLONEABLE "made-uncloneable"
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index f7131e63fa..4a86f57fcd 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -95,4 +95,22 @@ GLOBAL_VAR_INIT(cmp_field, "name")
return sorttext(A.sample_object.name, B.sample_object.name)
/proc/cmp_numbered_displays_name_dsc(datum/numbered_display/A, datum/numbered_display/B)
- return sorttext(B.sample_object.name, A.sample_object.name)
\ No newline at end of file
+ return sorttext(B.sample_object.name, A.sample_object.name)
+
+/proc/cmp_quirk_asc(datum/quirk/A, datum/quirk/B)
+ var/a_sign = num2sign(initial(A.value) * -1)
+ var/b_sign = num2sign(initial(B.value) * -1)
+
+ // Neutral traits go last.
+ if(a_sign == 0)
+ a_sign = 2
+ if(b_sign == 0)
+ b_sign = 2
+
+ var/a_name = initial(A.name)
+ var/b_name = initial(B.name)
+
+ if(a_sign != b_sign)
+ return a_sign - b_sign
+ else
+ return sorttext(b_name, a_name)
\ No newline at end of file
diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index b899d7f6ab..27f1a81fef 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -320,6 +320,8 @@
parts += "[FOURSPACES][FOURSPACES][str]"
for(var/entry in mode.threat_tallies)
parts += "[FOURSPACES][FOURSPACES][entry] added [mode.threat_tallies[entry]]"
+ SSblackbox.record_feedback("tally","dynamic_threat",mode.threat_level,"Final threat level")
+ SSblackbox.record_feedback("tally","dynamic_threat",mode.threat,"Threat left")
return parts.Join(" ")
/client/proc/roundend_report_file()
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 9abe42ea8e..29f5331fd3 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1548,4 +1548,12 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/proc/CallAsync(datum/source, proctype, list/arguments)
set waitfor = FALSE
- return call(source, proctype)(arglist(arguments))
\ No newline at end of file
+ return call(source, proctype)(arglist(arguments))
+
+/proc/num2sign(numeric)
+ if(numeric > 0)
+ return 1
+ else if(numeric < 0)
+ return -1
+ else
+ return 0
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 391e86f390..c42956bbaa 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -213,6 +213,16 @@ or something covering your eyes."
desc = "Whoa man, you're tripping balls! Careful you don't get addicted... if you aren't already."
icon_state = "high"
+/obj/screen/alert/mind_control
+ name = "Mind Control"
+ desc = "Your mind has been hijacked! Click to view the mind control command."
+ icon_state = "mind_control"
+ var/command
+
+/obj/screen/alert/mind_control/Click()
+ var/mob/living/L = usr
+ to_chat(L, "[command] ")
+
/obj/screen/alert/hypnosis
name = "Hypnosis"
desc = "Something's hypnotizing you, but you're not really sure about what."
diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm
index fdddbda344..21d9d4e093 100644
--- a/code/controllers/configuration/entries/game_options.dm
+++ b/code/controllers/configuration/entries/game_options.dm
@@ -379,3 +379,10 @@
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
+
+/datum/config_entry/number/marauder_delay_non_reebe
+ config_entry_value = 1800
+ min_val = 0
+
+/datum/config_entry/flag/allow_clockwork_marauder_on_station
+ config_entry_value = TRUE
diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm
index c3db8552c6..8329493818 100644
--- a/code/controllers/subsystem/persistence.dm
+++ b/code/controllers/subsystem/persistence.dm
@@ -12,6 +12,7 @@ SUBSYSTEM_DEF(persistence)
var/list/obj/structure/chisel_message/chisel_messages = list()
var/list/saved_messages = list()
var/list/saved_modes = list(1,2,3)
+ var/list/saved_dynamic_rules = list(list(),list(),list())
var/list/saved_threat_levels = list(1,1,1)
var/list/saved_maps
var/list/saved_trophies = list()
@@ -227,7 +228,10 @@ SUBSYSTEM_DEF(persistence)
CollectSecretSatchels()
CollectTrophies()
CollectRoundtype()
- CollectThreatLevel()
+ if(istype(SSticker.mode, /datum/game_mode/dynamic))
+ var/datum/game_mode/dynamic/mode = SSticker.mode
+ CollectThreatLevel(mode)
+ CollectRulesets(mode)
RecordMaps()
SavePhotoPersistence() //THIS IS PERSISTENCE, NOT THE LOGGING PORTION.
if(CONFIG_GET(flag/use_antag_rep))
@@ -384,17 +388,27 @@ SUBSYSTEM_DEF(persistence)
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))
-/datum/controller/subsystem/persistence/proc/CollectThreatLevel()
- if(istype(SSticker.mode, /datum/game_mode/dynamic))
- var/datum/game_mode/dynamic/mode = SSticker.mode
- saved_threat_levels[3] = saved_threat_levels[2]
- saved_threat_levels[2] = saved_threat_levels [1]
- saved_threat_levels[1] = mode.threat_level
- var/json_file = file("data/RecentThreatLevels.json")
- var/list/file_data = list()
- file_data["data"] = saved_threat_levels
- fdel(json_file)
- WRITE_FILE(json_file, json_encode(file_data))
+/datum/controller/subsystem/persistence/proc/CollectThreatLevel(var/datum/game_mode/dynamic/mode)
+ saved_threat_levels[3] = saved_threat_levels[2]
+ saved_threat_levels[2] = saved_threat_levels [1]
+ saved_threat_levels[1] = mode.threat_level
+ var/json_file = file("data/RecentThreatLevels.json")
+ var/list/file_data = list()
+ file_data["data"] = saved_threat_levels
+ fdel(json_file)
+ WRITE_FILE(json_file, json_encode(file_data))
+
+/datum/controller/subsystem/persistence/proc/CollectRulesets(var/datum/game_mode/dynamic/mode)
+ saved_dynamic_rules[3] = saved_dynamic_rules[2]
+ saved_dynamic_rules[2] = saved_dynamic_rules[1]
+ saved_dynamic_rules[1] = list()
+ for(var/datum/dynamic_ruleset/ruleset in mode.executed_rules)
+ saved_dynamic_rules[1] += ruleset.config_tag
+ var/json_file = file("data/RecentRulesets.json")
+ var/list/file_data = list()
+ file_data["data"] = saved_dynamic_rules
+ fdel(json_file)
+ WRITE_FILE(json_file, json_encode(file_data))
/datum/controller/subsystem/persistence/proc/RecordMaps()
saved_maps = saved_maps?.len ? list("[SSmapping.config.map_name]") | saved_maps : list("[SSmapping.config.map_name]")
diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm
index 4af54b8c70..0b9284a144 100644
--- a/code/controllers/subsystem/processing/quirks.dm
+++ b/code/controllers/subsystem/processing/quirks.dm
@@ -12,27 +12,40 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
var/list/quirk_names_by_path = list()
var/list/quirk_points = list() //Assoc. list of quirk names and their "point cost"; positive numbers are good traits, and negative ones are bad
var/list/quirk_objects = list() //A list of all quirk objects in the game, since some may process
+ var/list/quirk_blacklist = list() //A list a list of quirks that can not be used with each other. Format: list(quirk1,quirk2),list(quirk3,quirk4)
/datum/controller/subsystem/processing/quirks/Initialize(timeofday)
if(!quirks.len)
SetupQuirks()
+ quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic"),list("Ageusia","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"))
return ..()
/datum/controller/subsystem/processing/quirks/proc/SetupQuirks()
- for(var/V in subtypesof(/datum/quirk))
+// Sort by Positive, Negative, Neutral; and then by name
+ var/list/quirk_list = sortList(subtypesof(/datum/quirk), /proc/cmp_quirk_asc)
+
+ for(var/V in quirk_list)
var/datum/quirk/T = V
quirks[initial(T.name)] = T
quirk_points[initial(T.name)] = initial(T.value)
quirk_names_by_path[T] = initial(T.name)
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/cli, spawn_effects, roundstart = FALSE, datum/job/job, silent = FALSE, mob/to_chat_target)
- GenerateQuirks(cli)
- var/list/quirks = cli.prefs.character_quirks.Copy()
+ var/badquirk = FALSE
+ var/list/my_quirks = cli.prefs.all_quirks.Copy()
var/list/cut
- if(job && job.blacklisted_quirks)
- cut = filter_quirks(quirks, job)
- for(var/V in quirks)
- user.add_quirk(V, spawn_effects)
+ if(job?.blacklisted_quirks)
+ cut = filter_quirks(my_quirks, job)
+ for(var/V in my_quirks)
+ var/datum/quirk/Q = quirks[V]
+ if(Q)
+ user.add_quirk(Q, spawn_effects)
+ else
+ stack_trace("Invalid quirk \"[V]\" in client [cli.ckey] preferences")
+ cli.prefs.all_quirks -= V
+ badquirk = TRUE
+ if(badquirk)
+ cli.prefs.save_character()
if(!silent && LAZYLEN(cut))
to_chat(to_chat_target || user, "All of your non-neutral character quirks have been cut due to these quirks conflicting with your job assignment: [english_list(cut)]. ")
@@ -50,28 +63,28 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
for(var/i in quirk_names)
. += quirk_points_by_name(i)
-/datum/controller/subsystem/processing/quirks/proc/filter_quirks(list/quirks, datum/job/job)
+/datum/controller/subsystem/processing/quirks/proc/filter_quirks(list/our_quirks, datum/job/job)
var/list/cut = list()
var/list/banned_names = list()
for(var/i in job.blacklisted_quirks)
var/name = quirk_name_by_path(i)
if(name)
banned_names += name
- var/list/blacklisted = quirks & banned_names
+ var/list/blacklisted = our_quirks & banned_names
if(length(blacklisted))
for(var/i in blacklisted)
- quirks -= i
+ our_quirks -= i
cut += i
/* //Code to automatically reduce positive quirks until balance is even.
- var/points_used = total_points(quirks)
+ var/points_used = total_points(our_quirks)
if(points_used > 0)
//they owe us points, let's collect.
- for(var/i in quirks)
+ for(var/i in our_quirks)
var/points = quirk_points_by_name(i)
if(points > 0)
cut += i
- quirks -= i
+ our_quirks -= i
points_used -= points
if(points_used <= 0)
break
@@ -79,14 +92,9 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
//Nah, let's null all non-neutrals out.
if(cut.len)
- for(var/i in quirks)
+ for(var/i in our_quirks)
if(quirk_points_by_name(i) != 0)
//cut += i -- Commented out: Only show the ones that triggered the quirk purge.
- quirks -= i
+ our_quirks -= i
return cut
-
-/datum/controller/subsystem/processing/quirks/proc/GenerateQuirks(client/user)
- if(user.prefs.character_quirks.len)
- return
- user.prefs.character_quirks = user.prefs.all_quirks
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 6f619fef0b..890725fbb1 100755
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -384,8 +384,8 @@ SUBSYSTEM_DEF(ticker)
captainless=0
if(player.mind.assigned_role != player.mind.special_role)
SSjob.EquipRank(N, player.mind.assigned_role, 0)
- if(CONFIG_GET(flag/roundstart_traits) && ishuman(N.new_character))
- SSquirks.AssignQuirks(N.new_character, N.client, TRUE, TRUE, SSjob.GetJob(player.mind.assigned_role), FALSE, N)
+ if(CONFIG_GET(flag/roundstart_traits) && ishuman(N.new_character))
+ SSquirks.AssignQuirks(N.new_character, N.client, TRUE, TRUE, SSjob.GetJob(player.mind.assigned_role), FALSE, N)
CHECK_TICK
if(captainless)
for(var/mob/dead/new_player/N in GLOB.player_list)
diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm
index ef63338a67..1ad4a15ee7 100644
--- a/code/controllers/subsystem/traumas.dm
+++ b/code/controllers/subsystem/traumas.dm
@@ -93,7 +93,7 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt,
/obj/item/clothing/under/rank/research_director/alt, /obj/item/clothing/under/rank/research_director/turtleneck,
/obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, /obj/item/clothing/under/hosparadefem,
- /obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor_baton,
+ /obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor/baton,
/obj/item/storage/belt/military/abductor, /obj/item/gun/energy/alien, /obj/item/abductor/silencer,
/obj/item/abductor/gizmo, /obj/item/clothing/under/rank/centcom_officer,
/obj/item/clothing/suit/space/hardsuit/ert, /obj/item/clothing/suit/space/hardsuit/ert/sec,
@@ -136,7 +136,7 @@ SUBSYSTEM_DEF(traumas)
"aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo,
/obj/structure/alien, /obj/item/toy/toy_xeno,
/obj/item/clothing/suit/armor/abductor, /obj/item/abductor, /obj/item/gun/energy/alien,
- /obj/item/abductor_baton, /obj/item/radio/headset/abductor, /obj/item/scalpel/alien, /obj/item/hemostat/alien,
+ /obj/item/abductor/baton, /obj/item/radio/headset/abductor, /obj/item/scalpel/alien, /obj/item/hemostat/alien,
/obj/item/retractor/alien, /obj/item/circular_saw/alien, /obj/item/surgicaldrill/alien, /obj/item/cautery/alien,
/obj/item/clothing/head/helmet/abductor, /obj/structure/bed/abductor, /obj/structure/table_frame/abductor,
/obj/structure/table/abductor, /obj/structure/table/optable/abductor, /obj/structure/closet/abductor, /obj/item/organ/heart/gland,
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index f938a70308..72b9681f91 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -53,7 +53,7 @@
// If you want/expect to be moving the component around between parents, use this to register on the parent for signals
/datum/component/proc/RegisterWithParent()
- return
+ SEND_SIGNAL(src, COMSIG_COMPONENT_REGISTER_PARENT) //CITADEL EDIT
/datum/component/proc/Initialize(...)
return
@@ -85,7 +85,7 @@
UnregisterFromParent()
/datum/component/proc/UnregisterFromParent()
- return
+ SEND_SIGNAL(src, COMSIG_COMPONENT_UNREGISTER_PARENT) //CITADEL EDIT
/datum/proc/RegisterSignal(datum/target, sig_type_or_types, proctype, override = FALSE)
if(QDELETED(src) || QDELETED(target))
diff --git a/code/datums/components/bane.dm b/code/datums/components/bane.dm
index 84f8010270..bdfcfed517 100644
--- a/code/datums/components/bane.dm
+++ b/code/datums/components/bane.dm
@@ -19,12 +19,14 @@
src.damage_multiplier = damage_multiplier
/datum/component/bane/RegisterWithParent()
+ . = ..()
if(speciestype)
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/speciesCheck)
else
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/mobCheck)
/datum/component/bane/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, COMSIG_ITEM_AFTERATTACK)
/datum/component/bane/proc/speciesCheck(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters)
diff --git a/code/datums/components/bouncy.dm b/code/datums/components/bouncy.dm
index f6a2a89195..c7ca85455b 100644
--- a/code/datums/components/bouncy.dm
+++ b/code/datums/components/bouncy.dm
@@ -21,9 +21,11 @@
RegisterSignal(parent, bounce, .proc/bounce_up)
/datum/component/bouncy/RegisterWithParent()
+ . = ..()
RegisterSignal(parent, bounce_signals, .proc/bounce_up)
/datum/component/bouncy/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, bounce_signals)
/datum/component/bouncy/proc/bounce_up(datum/source)
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index 1518a84456..d5af47ea1f 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -23,17 +23,51 @@
RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/onItemAttack)
/datum/component/butchering/proc/onItemAttack(obj/item/source, mob/living/M, mob/living/user)
- if(user.a_intent == INTENT_HARM && M.stat == DEAD && (M.butcher_results || M.guaranteed_butcher_results)) //can we butcher it?
+ if(user.a_intent != INTENT_HARM)
+ return
+ if(M.stat == DEAD && (M.butcher_results || M.guaranteed_butcher_results)) //can we butcher it?
if(butchering_enabled && (can_be_blunt || source.get_sharpness()))
INVOKE_ASYNC(src, .proc/startButcher, source, M, user)
return COMPONENT_ITEM_NO_ATTACK
+ if(ishuman(M) && source.force && source.get_sharpness())
+ var/mob/living/carbon/human/H = M
+ if((H.health <= H.crit_threshold || (user.pulling == H && user.grab_state >= GRAB_NECK) || H.IsSleeping()) && user.zone_selected == BODY_ZONE_HEAD) // Only sleeping, neck grabbed, or crit, can be sliced.
+ if(H.has_status_effect(/datum/status_effect/neck_slice))
+ user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse! ", 1, \
+ "Their neck has already been already cut, you can't make the bleeding any worse! ")
+ return COMPONENT_ITEM_NO_ATTACK
+ INVOKE_ASYNC(src, .proc/startNeckSlice, source, H, user)
+ return COMPONENT_ITEM_NO_ATTACK
+
/datum/component/butchering/proc/startButcher(obj/item/source, mob/living/M, mob/living/user)
to_chat(user, "You begin to butcher [M]... ")
playsound(M.loc, butcher_sound, 50, TRUE, -1)
if(do_mob(user, M, speed) && M.Adjacent(source))
Butcher(user, M)
+/datum/component/butchering/proc/startNeckSlice(obj/item/source, mob/living/carbon/human/H, mob/living/user)
+ user.visible_message("[user] is slitting [H]'s throat! ", \
+ "You start slicing [H]'s throat! ", \
+ "You hear a cutting noise! ", ignored_mobs = H)
+ H.show_message("Your throat is being slit by [user]! ", 1, \
+ "Something is cutting into your neck! ", NONE)
+ log_combat(user, H, "starts slicing the throat of")
+
+ playsound(H.loc, butcher_sound, 50, TRUE, -1)
+ if(do_mob(user, H, CLAMP(500 / source.force, 30, 100)) && H.Adjacent(source))
+ if(H.has_status_effect(/datum/status_effect/neck_slice))
+ user.show_message("[H]'s neck has already been already cut, you can't make the bleeding any worse! ", 1, \
+ "Their neck has already been already cut, you can't make the bleeding any worse! ")
+ return
+
+ H.visible_message("[user] slits [H]'s throat! ", \
+ "[user] slits your throat... ")
+ log_combat(user, H, "finishes slicing the throat of")
+ H.apply_damage(source.force, BRUTE, BODY_ZONE_HEAD)
+ H.bleed_rate = CLAMP(H.bleed_rate + 20, 0, 30)
+ H.apply_status_effect(/datum/status_effect/neck_slice)
+
/datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat)
var/turf/T = meat.drop_location()
var/final_effectiveness = effectiveness - meat.butcher_difficulty
diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm
index 641dbdb1cf..60317797a7 100644
--- a/code/datums/components/decal.dm
+++ b/code/datums/components/decal.dm
@@ -17,6 +17,7 @@
apply()
/datum/component/decal/RegisterWithParent()
+ . = ..()
if(first_dir)
RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react)
if(cleanable)
@@ -25,6 +26,7 @@
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine)
/datum/component/decal/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE))
/datum/component/decal/Destroy()
diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm
index 86e016784a..9e8493b6f4 100644
--- a/code/datums/components/fantasy/_fantasy.dm
+++ b/code/datums/components/fantasy/_fantasy.dm
@@ -30,11 +30,13 @@
return ..()
/datum/component/fantasy/RegisterWithParent()
+ . = ..()
var/obj/item/master = parent
originalName = master.name
modify()
/datum/component/fantasy/UnregisterFromParent()
+ . = ..()
unmodify()
/datum/component/fantasy/InheritComponent(datum/component/fantasy/newComp, original, list/arguments)
diff --git a/code/datums/components/igniter.dm b/code/datums/components/igniter.dm
index b40383e828..13944b1200 100644
--- a/code/datums/components/igniter.dm
+++ b/code/datums/components/igniter.dm
@@ -9,6 +9,7 @@
src.fire_stacks = fire_stacks
/datum/component/igniter/RegisterWithParent()
+ . = ..()
if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc
RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit)
else if(isitem(parent))
@@ -17,6 +18,7 @@
RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget)
/datum/component/igniter/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT))
/datum/component/igniter/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters)
diff --git a/code/datums/components/knockback.dm b/code/datums/components/knockback.dm
index b4fcaa2dd8..988a0e575e 100644
--- a/code/datums/components/knockback.dm
+++ b/code/datums/components/knockback.dm
@@ -10,6 +10,7 @@
src.throw_anchored = throw_anchored
/datum/component/knockback/RegisterWithParent()
+ . = ..()
if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc
RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit)
else if(isitem(parent))
@@ -18,6 +19,7 @@
RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget)
/datum/component/knockback/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT))
/datum/component/knockback/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters)
diff --git a/code/datums/components/lifesteal.dm b/code/datums/components/lifesteal.dm
index c7a78e10a3..9d62d32866 100644
--- a/code/datums/components/lifesteal.dm
+++ b/code/datums/components/lifesteal.dm
@@ -10,6 +10,7 @@
src.flat_heal = flat_heal
/datum/component/lifesteal/RegisterWithParent()
+ . = ..()
if(isgun(parent))
RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit)
else if(isitem(parent))
@@ -18,6 +19,7 @@
RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget)
/datum/component/lifesteal/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT))
/datum/component/lifesteal/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters)
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index a0e6f97de0..2ecd77546d 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -150,15 +150,6 @@
if(9)
setSanity(sanity+0.4, maximum=SANITY_GREAT)
- if(HAS_TRAIT(owner, TRAIT_DEPRESSION))
- if(prob(0.05))
- add_event(null, "depression", /datum/mood_event/depression)
- clear_event(null, "jolly")
- if(HAS_TRAIT(owner, TRAIT_JOLLY))
- if(prob(0.05))
- add_event(null, "jolly", /datum/mood_event/jolly)
- clear_event(null, "depression")
-
HandleNutrition(owner)
/datum/component/mood/proc/setSanity(amount, minimum=SANITY_INSANE, maximum=SANITY_NEUTRAL)//I'm sure bunging this in here will have no negative repercussions.
diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm
index 362961a24f..0ef13b514b 100644
--- a/code/datums/components/nanites.dm
+++ b/code/datums/components/nanites.dm
@@ -34,6 +34,7 @@
cloud_sync()
/datum/component/nanites/RegisterWithParent()
+ . = ..()
RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites)
RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data)
RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs)
@@ -57,6 +58,7 @@
RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal)
/datum/component/nanites/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_HAS_NANITES,
COMSIG_NANITE_UI_DATA,
COMSIG_NANITE_GET_PROGRAMS,
diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm
index efa0fd14d5..05174c196b 100644
--- a/code/datums/components/orbiter.dm
+++ b/code/datums/components/orbiter.dm
@@ -20,12 +20,14 @@
begin_orbit(orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation)
/datum/component/orbiter/RegisterWithParent()
+ . = ..()
var/atom/target = parent
while(ismovableatom(target))
RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/move_react)
target = target.loc
/datum/component/orbiter/UnregisterFromParent()
+ . = ..()
var/atom/target = parent
while(ismovableatom(target))
UnregisterSignal(target, COMSIG_MOVABLE_MOVED)
diff --git a/code/datums/components/shrapnel.dm b/code/datums/components/shrapnel.dm
index a911221f26..4d1fe21b95 100644
--- a/code/datums/components/shrapnel.dm
+++ b/code/datums/components/shrapnel.dm
@@ -13,10 +13,12 @@
src.override_projectile_range = override_projectile_range
/datum/component/shrapnel/RegisterWithParent()
+ . = ..()
if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc
RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit)
/datum/component/shrapnel/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_PROJECTILE_ON_HIT))
/datum/component/shrapnel/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle)
diff --git a/code/datums/components/shrink.dm b/code/datums/components/shrink.dm
new file mode 100644
index 0000000000..f070d9b22f
--- /dev/null
+++ b/code/datums/components/shrink.dm
@@ -0,0 +1,42 @@
+/datum/component/shrink
+ var/olddens
+ var/oldopac
+ dupe_mode = COMPONENT_DUPE_HIGHLANDER
+
+/datum/component/shrink/Initialize(shrink_time)
+ if(!isatom(parent))
+ return COMPONENT_INCOMPATIBLE
+ var/atom/parent_atom = parent
+ parent_atom.transform = parent_atom.transform.Scale(0.5,0.5)
+ olddens = parent_atom.density
+ oldopac = parent_atom.opacity
+ parent_atom.density = 0
+ parent_atom.opacity = 0
+ if(isliving(parent_atom))
+ var/mob/living/L = parent_atom
+ L.add_movespeed_modifier(MOVESPEED_ID_SHRINK_RAY, update=TRUE, priority=100, multiplicative_slowdown=4)
+ if(iscarbon(L))
+ var/mob/living/carbon/C = L
+ C.unequip_everything()
+ C.visible_message("[C]'s belongings fall off of [C.p_them()] as they shrink down! ",
+ "Your belongings fall away as everything grows bigger! ")
+ if(ishuman(C))
+ var/mob/living/carbon/human/H = C
+ H.physiology.damage_resistance -= 100//carbons take double damage while shrunk
+ parent_atom.visible_message("[parent_atom] shrinks down to a tiny size! ",
+ "Everything grows bigger! ")
+ QDEL_IN(src, shrink_time)
+
+
+/datum/component/shrink/Destroy()
+ var/atom/parent_atom = parent
+ parent_atom.transform = parent_atom.transform.Scale(2,2)
+ parent_atom.density = olddens
+ parent_atom.opacity = oldopac
+ if(isliving(parent_atom))
+ var/mob/living/L = parent_atom
+ L.remove_movespeed_modifier(MOVESPEED_ID_SHRINK_RAY)
+ if(ishuman(L))
+ var/mob/living/carbon/human/H = L
+ H.physiology.damage_resistance += 100
+ ..()
\ No newline at end of file
diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm
index 552959603d..61718301b3 100644
--- a/code/datums/components/summoning.dm
+++ b/code/datums/components/summoning.dm
@@ -24,6 +24,7 @@
src.faction = faction
/datum/component/summoning/RegisterWithParent()
+ . = ..()
if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc
RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit)
else if(isitem(parent))
@@ -32,6 +33,7 @@
RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget)
/datum/component/summoning/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT))
/datum/component/summoning/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters)
diff --git a/code/datums/components/tactical.dm b/code/datums/components/tactical.dm
index 5917fc3009..ba028e2fd5 100644
--- a/code/datums/components/tactical.dm
+++ b/code/datums/components/tactical.dm
@@ -9,10 +9,12 @@
src.allowed_slot = allowed_slot
/datum/component/tactical/RegisterWithParent()
+ . = ..()
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/modify)
RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/unmodify)
/datum/component/tactical/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
unmodify()
diff --git a/code/datums/components/virtual_reality.dm b/code/datums/components/virtual_reality.dm
index 7bad836e47..2f0405af2e 100644
--- a/code/datums/components/virtual_reality.dm
+++ b/code/datums/components/virtual_reality.dm
@@ -1,128 +1,245 @@
+/**
+ * The virtual reality turned component.
+ * Originally created to overcome issues of mob polymorphing locking the player inside virtual reality
+ * and allow for a more "immersive" virtual reality in a virtual reality experience.
+ * It relies on comically complex order of logic, expect things to break if procs such as mind/transfer_to() are revamped.
+ * In short, a barebone not so hardcoded VR framework.
+ * If you plan to add more devices that make use of this component, remember to isolate their code outta here where possible.
+ */
/datum/component/virtual_reality
can_transfer = TRUE
- var/datum/mind/mastermind // where is my mind t. pixies
+ //the player's mind (not the parent's), should something happen to them or to their mob.
+ var/datum/mind/mastermind
+ //the current mob's mind, which we need to keep track for mind transfer.
var/datum/mind/current_mind
- var/obj/machinery/vr_sleeper/vr_sleeper
+ //the action datum used by the mob to quit the vr session.
var/datum/action/quit_vr/quit_action
+ //This one's name should be self explainatory, currently used for emags.
var/you_die_in_the_game_you_die_for_real = FALSE
- var/datum/component/virtual_reality/inception //The component works on a very fragile link betwixt mind, ckey and death.
+ //Used to allow people to play recursively playing vr while playing vr without many issues.
+ var/datum/component/virtual_reality/level_below
+ var/datum/component/virtual_reality/level_above
+ //Used to stop the component from executing certain functions that'd cause us some issues otherwise.
+ //FALSE if there is a connected player, otherwise TRUE.
+ var/session_paused = TRUE
+ //Used to stop unwarranted behaviour from happening in cases where the master mind transference is unsupported. Set on Initialize().
+ var/allow_mastermind_transfer = FALSE
-/datum/component/virtual_reality/Initialize(mob/M, obj/machinery/vr_sleeper/gaming_pod, yolo = FALSE, new_char = TRUE)
- if(!ismob(parent) || !istype(M))
+/datum/component/virtual_reality/Initialize(yolo = FALSE, _allow_mastermind_transfer = FALSE)
+ var/mob/M = parent
+ if(!istype(M) || !M.mind)
return COMPONENT_INCOMPATIBLE
- var/mob/vr_M = parent
- mastermind = M.mind
- RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over)
- RegisterSignal(M, COMSIG_MOB_KEY_CHANGE, .proc/switch_player)
- RegisterSignal(mastermind, COMSIG_MIND_TRANSFER, .proc/switch_player)
you_die_in_the_game_you_die_for_real = yolo
- quit_action = new()
- if(gaming_pod)
- vr_sleeper = gaming_pod
- RegisterSignal(vr_sleeper, COMSIG_ATOM_EMAG_ACT, .proc/you_only_live_once)
- RegisterSignal(vr_sleeper, COMSIG_MACHINE_EJECT_OCCUPANT, .proc/revert_to_reality)
- vr_M.ckey = M.ckey
- var/datum/component/virtual_reality/clusterfk = M.GetComponent(/datum/component/virtual_reality)
- if(clusterfk && !clusterfk.inception)
- clusterfk.inception = src
- SStgui.close_user_uis(M, src)
+ allow_mastermind_transfer = _allow_mastermind_transfer
+ quit_action = new
+
+/datum/component/virtual_reality/Destroy()
+ QDEL_NULL(quit_action)
+ if(level_above)
+ level_above.level_below = null
+ level_above = null
+ if(level_below)
+ level_below.level_above = null
+ level_below = null
+ return ..()
/datum/component/virtual_reality/RegisterWithParent()
+ . = ..()
var/mob/M = parent
current_mind = M.mind
+ if(!quit_action)
+ quit_action = new
quit_action.Grant(M)
- RegisterSignal(quit_action, COMSIG_ACTION_TRIGGER, .proc/revert_to_reality)
+ RegisterSignal(quit_action, COMSIG_ACTION_TRIGGER, .proc/action_trigger)
RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over)
RegisterSignal(M, COMSIG_MOB_GHOSTIZE, .proc/be_a_quitter)
- RegisterSignal(M, COMSIG_MOB_KEY_CHANGE, .proc/pass_me_the_remote)
- RegisterSignal(current_mind, COMSIG_MIND_TRANSFER, .proc/pass_me_the_remote)
- mastermind.current.audiovisual_redirect = M
- if(vr_sleeper)
- vr_sleeper.vr_mob = M
+ RegisterSignal(M, COMSIG_MOB_KEY_CHANGE, .proc/on_player_transfer)
+ RegisterSignal(current_mind, COMSIG_MIND_TRANSFER, .proc/on_player_transfer)
+ RegisterSignal(current_mind, COMSIG_PRE_MIND_TRANSFER, .proc/pre_player_transfer)
+ if(mastermind?.current)
+ mastermind.current.audiovisual_redirect = M
/datum/component/virtual_reality/UnregisterFromParent()
- quit_action.Remove(parent)
+ . = ..()
+ if(quit_action)
+ quit_action.Remove(parent)
+ UnregisterSignal(quit_action, COMSIG_ACTION_TRIGGER)
UnregisterSignal(parent, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING, COMSIG_MOB_KEY_CHANGE, COMSIG_MOB_GHOSTIZE))
- UnregisterSignal(current_mind, COMSIG_MIND_TRANSFER)
- UnregisterSignal(quit_action, COMSIG_ACTION_TRIGGER)
+ UnregisterSignal(current_mind, list(COMSIG_MIND_TRANSFER, COMSIG_PRE_MIND_TRANSFER))
current_mind = null
- mastermind.current.audiovisual_redirect = null
+ if(mastermind?.current)
+ mastermind.current.audiovisual_redirect = null
-/datum/component/virtual_reality/proc/switch_player(datum/source, mob/new_mob, mob/old_mob)
- if(vr_sleeper || !new_mob.mind)
- // Machineries currently don't deal up with the occupant being polymorphed et similar... Or did something fuck up?
- revert_to_reality()
- return
- old_mob.audiovisual_redirect = null
- new_mob.audiovisual_redirect = parent
-
-/datum/component/virtual_reality/proc/action_trigger(datum/signal_source, datum/action/source)
- if(source != quit_action)
- return COMPONENT_ACTION_BLOCK_TRIGGER
- revert_to_reality(signal_source)
+/**
+ * Called when attempting to connect a mob to a virtual reality mob.
+ * This will return FALSE if the mob is without player or dead. TRUE otherwise
+ */
+/datum/component/virtual_reality/proc/connect(mob/M)
+ var/mob/vr_M = parent
+ if(!M.mind || M.stat == DEAD || !vr_M.mind || vr_M.stat == DEAD)
+ return FALSE
+ var/datum/component/virtual_reality/VR = M.GetComponent(/datum/component/virtual_reality)
+ if(VR)
+ VR.level_below = src
+ level_above = VR
+ M.transfer_ckey(vr_M, FALSE)
+ mastermind = M.mind
+ mastermind.current.audiovisual_redirect = parent
+ RegisterSignal(mastermind, COMSIG_PRE_MIND_TRANSFER, .proc/switch_player)
+ RegisterSignal(M, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over)
+ RegisterSignal(M, COMSIG_MOB_PRE_PLAYER_CHANGE, .proc/player_hijacked)
+ SStgui.close_user_uis(vr_M, src)
+ session_paused = FALSE
+ return TRUE
+/**
+ * emag_act() hook. Makes the game deadlier, killing the mastermind mob too should the parent die.
+ */
/datum/component/virtual_reality/proc/you_only_live_once()
- if(you_die_in_the_game_you_die_for_real || vr_sleeper?.only_current_user_can_interact)
+ if(you_die_in_the_game_you_die_for_real)
return FALSE
you_die_in_the_game_you_die_for_real = TRUE
return TRUE
-/datum/component/virtual_reality/proc/pass_me_the_remote(datum/source, mob/new_mob)
- if(new_mob == mastermind.current)
- revert_to_reality(source)
- return TRUE
- new_mob.TakeComponent(src)
- return TRUE
+/**
+ * Called when the mastermind mind is transferred to another mob.
+ * This is pretty much just going to simply quit the session until machineries support polymorphed occupants etcetera.
+ */
+/datum/component/virtual_reality/proc/switch_player(datum/source, mob/new_mob, mob/old_mob)
+ if(session_paused)
+ return
+ if(!allow_mastermind_transfer)
+ quit()
+ return COMPONENT_STOP_MIND_TRANSFER
+ UnregisterSignal(old_mob, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING, COMSIG_MOB_PRE_PLAYER_CHANGE))
+ RegisterSignal(new_mob, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), .proc/game_over)
+ RegisterSignal(new_mob, COMSIG_MOB_PRE_PLAYER_CHANGE, .proc/player_hijacked)
+ old_mob.audiovisual_redirect = null
+ new_mob.audiovisual_redirect = parent
+/**
+ * Called to stop the player mind from being transferred should the new mob happen to be one of our masterminds'.
+ * Since the target's mind.current is going to be null'd in the mind transfer process,
+ * This has to be done in a different signal proc than on_player_transfer(), by then the mastermind.current will be null.
+ */
+/datum/component/virtual_reality/proc/pre_player_transfer(datum/source, mob/new_mob, mob/old_mob)
+ if(!mastermind || session_paused)
+ return
+ if(new_mob == mastermind.current)
+ quit()
+ return COMPONENT_STOP_MIND_TRANSFER
+ if(!level_above)
+ return
+ var/datum/component/virtual_reality/VR = level_above
+ while(VR)
+ if(VR.mastermind.current == new_mob)
+ VR.quit() //this will revert the ckey back to new_mob.
+ return COMPONENT_STOP_MIND_TRANSFER
+ VR = VR.level_above
+
+/**
+ * Called when someone or something else is somewhat about to replace the mastermind's mob key somehow.
+ * And potentially lock the player in a broken virtual reality plot. Not really something to be proud of.
+ */
+/datum/component/virtual_reality/proc/player_hijacked(datum/source, mob/our_character, mob/their_character)
+ if(session_paused)
+ return
+ if(!their_character)
+ quit(cleanup = TRUE)
+ return
+ var/will_it_be_handled_in_their_pre_player_transfer = FALSE
+ var/datum/component/virtual_reality/VR = src
+ while(VR)
+ if(VR.parent == their_character)
+ will_it_be_handled_in_their_pre_player_transfer = TRUE
+ break
+ VR = VR.level_below
+ if(!will_it_be_handled_in_their_pre_player_transfer) //it's not the player playing shenanigeans, abandon all ships.
+ quit(cleanup = TRUE)
+
+/**
+ * Takes care of moving the component from a mob to another when their mind or ckey is transferred.
+ * The very reason this component even exists (else one would be stuck playing as a monky if monkyified)
+ */
+/datum/component/virtual_reality/proc/on_player_transfer(datum/source, mob/new_mob, mob/old_mob)
+ new_mob.TakeComponent(src)
+
+/**
+ * Required for the component to be transferable from mob to mob.
+ */
/datum/component/virtual_reality/PostTransfer()
if(!ismob(parent))
return COMPONENT_INCOMPATIBLE
+/**
+ *The following procs simply acts as hooks for quit(), since components do not use callbacks anymore
+ */
+/datum/component/virtual_reality/proc/action_trigger(datum/signal_source, datum/action/source)
+ quit()
+ return COMPONENT_ACTION_BLOCK_TRIGGER
+
/datum/component/virtual_reality/proc/revert_to_reality(datum/source)
- quit_it()
+ quit()
/datum/component/virtual_reality/proc/game_over(datum/source)
- quit_it(TRUE, TRUE)
+ quit(you_die_in_the_game_you_die_for_real, TRUE)
+ return COMPONENT_BLOCK_DEATH_BROADCAST
-/datum/component/virtual_reality/proc/be_a_quitter(datum/source, can_reenter_corpse)
- quit_it()
- return COMPONENT_BLOCK_GHOSTING
+/datum/component/virtual_reality/proc/be_a_quitter(datum/source, can_reenter_corpse, special = FALSE, penalize = FALSE)
+ if(!special)
+ quit()
+ return COMPONENT_BLOCK_GHOSTING
-/datum/component/virtual_reality/proc/virtual_reality_in_a_virtual_reality(mob/player, killme = FALSE, datum/component/virtual_reality/yo_dawg)
+/datum/component/virtual_reality/proc/machine_destroyed(datum/source)
+ quit(cleanup = TRUE)
+
+/**
+ * Takes care of deleting itself, moving the player back to the mastermind's current and queueing the parent for deletion.
+ * It supports nested virtual realities by recursively calling vr_in_a_vr(), which in turns calls quit(),
+ * up to the deepest level, where the ckey will be transferred back to our mastermind's mob instead.
+ * The above operation is skipped when session_paused is TRUE (ergo no player in control of the current mob).
+ * vars:
+ * * deathcheck is used to kill the master, you want this FALSE unless for stuff that doesn't involve emagging.
+ * * cleanup is used to queue the parent for the next vr_clean_master's run, where they'll be deleted should they be dead.
+ * * mob/override is used for the recursive virtual reality explained above and shouldn't be used outside of vr_in_a_vr().
+ */
+/datum/component/virtual_reality/proc/quit(deathcheck = FALSE, cleanup = FALSE, mob/override)
var/mob/M = parent
- quit_it(FALSE, killme, player, yo_dawg)
- yo_dawg.inception = null
- if(killme)
- M.death(FALSE)
-
-/datum/component/virtual_reality/proc/quit_it(deathcheck = FALSE, cleanup = FALSE, mob/override)
- var/mob/M = parent
- var/mob/dreamer = override ? override : mastermind.current
- if(!mastermind)
- to_chat(M, "You feel a dreadful sensation, something terrible happened. You try to wake up, but you find yourself unable to... ")
- else
- var/key_transfer = FALSE
- if(inception?.parent)
- inception.virtual_reality_in_a_virtual_reality(dreamer, cleanup, src)
+ if(!session_paused)
+ session_paused = TRUE
+ var/mob/dreamer = override || mastermind.current
+ if(!dreamer) //This shouldn't happen.
+ stack_trace("virtual reality component quit() called without a mob to transfer the parent ckey to.")
+ to_chat(M, "You feel a dreadful sensation, something terrible happened. You try to wake up, but you find yourself unable to... ")
+ qdel(src)
+ return
+ if(level_below?.parent)
+ level_below.vr_in_a_vr(dreamer, deathcheck, (deathcheck && cleanup))
else
- key_transfer = TRUE
- if(key_transfer)
M.transfer_ckey(dreamer, FALSE)
- dreamer.stop_sound_channel(CHANNEL_HEARTBEAT)
- dreamer.audiovisual_redirect = null
- if(deathcheck && you_die_in_the_game_you_die_for_real)
- to_chat(mastermind, "You feel everything fading away... ")
- dreamer.death(FALSE)
- if(cleanup)
- var/obj/effect/vr_clean_master/cleanbot = locate() in get_area(M)
- if(cleanbot)
- LAZYADD(cleanbot.corpse_party, M)
- if(vr_sleeper)
- vr_sleeper.vr_mob = null
- vr_sleeper = null
- qdel(src)
+ if(deathcheck)
+ to_chat(dreamer, "You feel everything fading away... ")
+ dreamer.death(FALSE)
+ mastermind.current.audiovisual_redirect = null
+ if(!cleanup)
+ if(level_above)
+ level_above.level_below = null
+ level_above = null
+ UnregisterSignal(mastermind.current, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING, COMSIG_MOB_PRE_PLAYER_CHANGE))
+ UnregisterSignal(mastermind, COMSIG_PRE_MIND_TRANSFER)
+ mastermind = null
+ if(cleanup)
+ var/obj/effect/vr_clean_master/cleanbot = locate() in get_area(M)
+ if(cleanbot)
+ LAZYOR(cleanbot.corpse_party, M)
+ qdel(src)
-/datum/component/virtual_reality/Destroy()
- var/datum/action/quit_vr/delet_me = quit_action
- . = ..()
- qdel(delet_me)
\ No newline at end of file
+/**
+ * Used for recursive virtual realities shenanigeans and should be called only through the above proc.
+ */
+/datum/component/virtual_reality/proc/vr_in_a_vr(mob/player, deathcheck = FALSE, lethal_cleanup = FALSE)
+ var/mob/M = parent
+ quit(deathcheck, lethal_cleanup, player)
+ M.audiovisual_redirect = null
+ if(lethal_cleanup)
+ M.death(FALSE)
diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm
index 38b17993d8..d6c5c0bf83 100644
--- a/code/datums/components/wet_floor.dm
+++ b/code/datums/components/wet_floor.dm
@@ -34,10 +34,12 @@
last_process = world.time
/datum/component/wet_floor/RegisterWithParent()
+ . = ..()
RegisterSignal(parent, COMSIG_TURF_IS_WET, .proc/is_wet)
RegisterSignal(parent, COMSIG_TURF_MAKE_DRY, .proc/dry)
/datum/component/wet_floor/UnregisterFromParent()
+ . = ..()
UnregisterSignal(parent, list(COMSIG_TURF_IS_WET, COMSIG_TURF_MAKE_DRY))
/datum/component/wet_floor/Destroy()
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 60bb24c8c2..cf33fa3633 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -255,7 +255,7 @@
M.fields["alg_d"] = "No allergies have been detected in this patient."
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
- M.fields["notes"] = "No notes."
+ M.fields["notes"] = H.get_trait_string(medical)
medical += M
//Security Record
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index e44134f01f..feac1de972 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -1398,3 +1398,29 @@
var/mob/living/carbon/human/H = locate(href_list["copyoutfit"]) in GLOB.carbon_list
if(istype(H))
H.copy_outfit()
+ else if(href_list["modquirks"])
+ if(!check_rights(R_SPAWN))
+ return
+
+ var/mob/living/carbon/human/H = locate(href_list["modquirks"]) in GLOB.mob_list
+ if(!istype(H))
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
+ return
+
+ var/list/options = list("Clear"="Clear")
+ for(var/x in subtypesof(/datum/quirk))
+ var/datum/quirk/T = x
+ var/qname = initial(T.name)
+ options[H.has_quirk(T) ? "[qname] (Remove)" : "[qname] (Add)"] = T
+
+ var/result = input(usr, "Choose quirk to add/remove","Quirk Mod") as null|anything in options
+ if(result)
+ if(result == "Clear")
+ for(var/datum/quirk/q in H.roundstart_quirks)
+ H.remove_quirk(q.type)
+ else
+ var/T = options[result]
+ if(H.has_quirk(T))
+ H.remove_quirk(T)
+ else
+ H.add_quirk(T,TRUE)
diff --git a/code/datums/martial.dm b/code/datums/martial.dm
index 26a709590c..32850c69df 100644
--- a/code/datums/martial.dm
+++ b/code/datums/martial.dm
@@ -8,9 +8,7 @@
var/deflection_chance = 0 //Chance to deflect projectiles
var/reroute_deflection = FALSE //Delete the bullet, or actually deflect it in some direction?
var/block_chance = 0 //Chance to block melee attacks using items while on throw mode.
- var/restraining = 0 //used in cqc's disarm_act to check if the disarmed is being restrained and so whether they should be put in a chokehold or not
var/help_verb
- var/no_guns = FALSE
var/pacifism_check = TRUE //are the martial arts combos/attacks unable to be used by pacifist.
var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts
@@ -28,14 +26,16 @@
/datum/martial_art/proc/add_to_streak(element,mob/living/carbon/human/D)
if(D != current_target)
- current_target = D
- streak = ""
- restraining = 0
+ reset_streak(D)
streak = streak+element
if(length(streak) > max_streak_length)
streak = copytext(streak,2)
return
+/datum/martial_art/proc/reset_streak(mob/living/carbon/human/new_target)
+ current_target = new_target
+ streak = ""
+
/datum/martial_art/proc/basic_hit(mob/living/carbon/human/A,mob/living/carbon/human/D)
var/damage = rand(A.dna.species.punchdamagelow, A.dna.species.punchdamagehigh)
@@ -81,7 +81,7 @@
D.forcesay(GLOB.hit_appends)
return 1
-/datum/martial_art/proc/teach(mob/living/carbon/human/H,make_temporary=0)
+/datum/martial_art/proc/teach(mob/living/carbon/human/H, make_temporary = FALSE)
if(!istype(H) || !H.mind)
return FALSE
if(H.mind.martial_art)
diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm
index 73173a4a9a..09a493a670 100644
--- a/code/datums/martial/cqc.dm
+++ b/code/datums/martial/cqc.dm
@@ -9,24 +9,13 @@
id = MARTIALART_CQC
help_verb = /mob/living/carbon/human/proc/CQC_help
block_chance = 75
- var/just_a_cook = FALSE
- var/static/list/areas_under_siege = typecacheof(list(/area/crew_quarters/kitchen,
- /area/crew_quarters/cafeteria,
- /area/crew_quarters/bar))
+ var/old_grab_state = null
+ var/restraining = FALSE
-/datum/martial_art/cqc/under_siege
- name = "Close Quarters Cooking"
- just_a_cook = TRUE
-
-/datum/martial_art/cqc/proc/drop_restraining()
+/datum/martial_art/cqc/reset_streak(mob/living/carbon/human/new_target)
+ . = ..()
restraining = FALSE
-/datum/martial_art/cqc/can_use(mob/living/carbon/human/H)
- var/area/A = get_area(H)
- if(just_a_cook && !(is_type_in_typecache(A, areas_under_siege)))
- return FALSE
- return ..()
-
/datum/martial_art/cqc/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
return FALSE
@@ -75,6 +64,7 @@
D.apply_damage(10, BRUTE)
log_combat(A, D, "kicked (CQC)")
if(D.IsKnockdown() && !D.stat)
+ log_combat(A, D, "knocked out (Head kick)(CQC)")
D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out! ", \
"[A] kicks your head, knocking you out! ")
playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, 1, -1)
@@ -85,7 +75,8 @@
/datum/martial_art/cqc/proc/Pressure(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
return FALSE
- D.visible_message("[A] forces their arm on [D]'s neck! ")
+ log_combat(A, D, "pressured (CQC)")
+ D.visible_message("[A] punches [D]'s neck! ")
D.adjustStaminaLoss(60)
playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, 1, -1)
return TRUE
@@ -96,18 +87,20 @@
if(!can_use(A))
return FALSE
if(!D.stat)
+ log_combat(A, D, "restrained (CQC)")
D.visible_message("[A] locks [D] into a restraining position! ", \
"[A] locks you into a restraining position! ")
D.adjustStaminaLoss(20)
D.Stun(100)
restraining = TRUE
- addtimer(CALLBACK(src, .proc/drop_restraining), 50, TIMER_UNIQUE)
+ addtimer(VARSET_CALLBACK(src, restraining, FALSE), 50, TIMER_UNIQUE)
return TRUE
/datum/martial_art/cqc/proc/Consecutive(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
return FALSE
if(!D.stat)
+ log_combat(A, D, "consecutive CQC'd (CQC)")
D.visible_message("[A] strikes [D]'s abdomen, neck and back consecutively ", \
"[A] strikes your abdomen, neck and back consecutively! ")
playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, 1, -1)
@@ -119,23 +112,20 @@
return TRUE
/datum/martial_art/cqc/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(!can_use(A))
- return FALSE
- add_to_streak("G",D)
- if(check_streak(A,D))
- return TRUE
- if(A == D) // no self grab.
- return FALSE
- if(A.grab_state >= GRAB_AGGRESSIVE)
+ if(A.a_intent == INTENT_GRAB && A!=D && can_use(A)) // A!=D prevents grabbing yourself
+ add_to_streak("G",D)
+ if(check_streak(A,D)) //if a combo is made no grab upgrade is done
+ return TRUE
+ old_grab_state = A.grab_state
D.grabbedby(A, 1)
- else
- A.start_pulling(D, 1)
- if(A.pulling)
- D.stop_pulling()
+ if(old_grab_state == GRAB_PASSIVE)
+ D.drop_all_held_items()
+ A.grab_state = GRAB_AGGRESSIVE //Instant agressive grab if on grab intent
log_combat(A, D, "grabbed", addition="aggressively")
- A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab
-
- return TRUE
+ D.visible_message("[A] violently grabs [D]! ", \
+ "[A] violently grabs you! ")
+ return TRUE
+ return FALSE
/datum/martial_art/cqc/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
@@ -190,6 +180,7 @@
playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
log_combat(A, D, "disarmed (CQC)", "[I ? " grabbing \the [I]" : ""]")
if(restraining && A.pulling == D)
+ log_combat(A, D, "knocked out (Chokehold)(CQC)")
D.visible_message("[A] puts [D] into a chokehold! ", \
"[A] puts you into a chokehold! ")
D.SetSleeping(400)
@@ -208,9 +199,19 @@
to_chat(usr, "You try to remember some of the basics of CQC. ")
to_chat(usr, "Slam : Grab Harm. Slam opponent into the ground, knocking them down.")
- to_chat(usr, "CQC Kick : Disarm Harm Harm. Knocks opponent away. Knocks out stunned or knocked down opponents.")
- to_chat(usr, "Restrain : Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a choke hold.")
+ to_chat(usr, "CQC Kick : Harm Harm. Knocks opponent away. Knocks out stunned or knocked down opponents.")
+ to_chat(usr, "Restrain : Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a chokehold.")
to_chat(usr, "Pressure : Disarm Grab. Decent stamina damage.")
to_chat(usr, "Consecutive CQC : Disarm Disarm Harm. Mainly offensive move, huge damage and decent stamina damage.")
to_chat(usr, "In addition, by having your throw mode on when being attacked, you enter an active defense mode where you have a chance to block and sometimes even counter attacks done to you. ")
+
+///Subtype of CQC. Only used for the chef.
+/datum/martial_art/cqc/under_siege
+ name = "Close Quarters Cooking"
+
+///Prevents use if the cook is not in the kitchen.
+/datum/martial_art/cqc/under_siege/can_use(mob/living/carbon/human/H) //this is used to make chef CQC only work in kitchen
+ if(!istype(get_area(H), /area/crew_quarters/kitchen))
+ return FALSE
+ return ..()
diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm
index f92c82727e..85f8a4a101 100644
--- a/code/datums/martial/sleeping_carp.dm
+++ b/code/datums/martial/sleeping_carp.dm
@@ -9,35 +9,36 @@
id = MARTIALART_SLEEPINGCARP
deflection_chance = 100
reroute_deflection = TRUE
- no_guns = TRUE
allow_temp_override = FALSE
help_verb = /mob/living/carbon/human/proc/sleeping_carp_help
+ var/old_grab_state = null
/datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(findtext(streak,WRIST_WRENCH_COMBO))
streak = ""
wristWrench(A,D)
- return 1
+ return TRUE
if(findtext(streak,BACK_KICK_COMBO))
streak = ""
backKick(A,D)
- return 1
+ return TRUE
if(findtext(streak,STOMACH_KNEE_COMBO))
streak = ""
kneeStomach(A,D)
- return 1
+ return TRUE
if(findtext(streak,HEAD_KICK_COMBO))
streak = ""
headKick(A,D)
- return 1
+ return TRUE
if(findtext(streak,ELBOW_DROP_COMBO))
streak = ""
elbowDrop(A,D)
- return 1
- return 0
+ return TRUE
+ return FALSE
/datum/martial_art/the_sleeping_carp/proc/wristWrench(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.IsStun() && !D.IsKnockdown())
+ log_combat(A, D, "wrist wrenched (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways! ", \
"[A] grabs your wrist and violently wrenches it to the side! ")
@@ -46,24 +47,29 @@
D.dropItemToGround(D.get_active_held_item())
D.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
D.Knockdown(60)//CIT CHANGE - makes sleepingcarp use knockdown() for its stuns instead of stun()
- return 1
- log_combat(A, D, "wrist wrenched (Sleeping Carp)")
+ return TRUE
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/backKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
- if(A.dir == D.dir && !D.stat && !D.IsKnockdown())
- A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
- D.visible_message("[A] kicks [D] in the back! ", \
- "[A] kicks you in the back, making you stumble and fall! ")
- step_to(D,get_step(D,D.dir),1)
- D.Knockdown(80)
- playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
- return 1
- log_combat(A, D, "back-kicked (Sleeping Carp)")
+ if(!D.stat && !D.IsKnockdown())
+ if(A.dir == D.dir)
+ log_combat(A, D, "back-kicked (Sleeping Carp)")
+ A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
+ D.visible_message("[A] kicks [D] in the back! ", \
+ "[A] kicks you in the back, making you stumble and fall! ")
+ step_to(D,get_step(D,D.dir),1)
+ D.Knockdown(80)
+ playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
+ return TRUE
+ else
+ log_combat(A, D, "missed a back-kick (Sleeping Carp) on")
+ D.visible_message("[A] tries to kick [D] in the back, but misses! ", \
+ "[A] tries to kick you in the back, but misses! ")
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.IsKnockdown())
+ log_combat(A, D, "stomach kneed (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] knees [D] in the stomach! ", \
"[A] winds you with a knee in the stomach! ")
@@ -71,12 +77,12 @@
D.losebreath += 3
D.Knockdown(40)//CIT CHANGE - makes sleepingcarp use knockdown() for its stuns instead of stun()
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
- return 1
- log_combat(A, D, "stomach kneed (Sleeping Carp)")
+ return TRUE
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/headKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.IsKnockdown())
+ log_combat(A, D, "head kicked (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("[A] kicks [D] in the head! ", \
"[A] kicks you in the jaw! ")
@@ -84,12 +90,12 @@
D.drop_all_held_items()
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
D.Knockdown(80)//CIT CHANGE - makes sleepingcarp use knockdown() for its stuns instead of stun()
- return 1
- log_combat(A, D, "head kicked (Sleeping Carp)")
+ return TRUE
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(D.IsKnockdown() || D.resting || D.stat)
+ log_combat(A, D, "elbow dropped (Sleeping Carp)")
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("[A] elbow drops [D]! ", \
"[A] piledrives you with their elbow! ")
@@ -97,37 +103,29 @@
D.death() //FINISH HIM!
D.apply_damage(50, BRUTE, BODY_ZONE_CHEST)
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 75, 1, -1)
- return 1
- log_combat(A, D, "elbow dropped (Sleeping Carp)")
+ return TRUE
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- add_to_streak("G",D)
- if(check_streak(A,D))
- return 1
- if(A == D) //no self grab stun
- return FALSE
- if(A.grab_state >= GRAB_AGGRESSIVE)
+ if(A.a_intent == INTENT_GRAB && A!=D) // A!=D prevents grabbing yourself
+ add_to_streak("G",D)
+ if(check_streak(A,D)) //if a combo is made no grab upgrade is done
+ return TRUE
+ old_grab_state = A.grab_state
D.grabbedby(A, 1)
- else
- A.start_pulling(D, 1)
- if(A.pulling)
+ if(old_grab_state == GRAB_PASSIVE)
D.drop_all_held_items()
- D.stop_pulling()
- if(A.a_intent == INTENT_GRAB)
- log_combat(A, D, "grabbed", addition="aggressively")
- D.visible_message("[A] violently grabs [D]! ", \
- "[A] violently grabs you! ")
- A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab
- else
- log_combat(A, D, "grabbed", addition="passively")
- A.grab_state = GRAB_PASSIVE
- return 1
+ A.grab_state = GRAB_AGGRESSIVE //Instant agressive grab if on grab intent
+ log_combat(A, D, "grabbed", addition="aggressively")
+ D.visible_message("[A] violently grabs [D]! ", \
+ "[A] violently grabs you! ")
+ return TRUE
+ return FALSE
/datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
add_to_streak("H",D)
if(check_streak(A,D))
- return 1
+ return TRUE
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams")
D.visible_message("[A] [atk_verb] [D]! ", \
@@ -138,15 +136,25 @@
D.visible_message("[D] stumbles and falls! ", "The blow sends you to the ground! ")
D.Knockdown(80)
log_combat(A, D, "[atk_verb] (Sleeping Carp)")
- return 1
+ return TRUE
/datum/martial_art/the_sleeping_carp/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
add_to_streak("D",D)
if(check_streak(A,D))
- return 1
+ return TRUE
return ..()
+/datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary = FALSE)
+ . = ..()
+ if(!.)
+ return
+ ADD_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT)
+
+/datum/martial_art/the_sleeping_carp/on_remove(mob/living/carbon/human/H)
+ . = ..()
+ REMOVE_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT)
+
/mob/living/carbon/human/proc/sleeping_carp_help()
set name = "Recall Teachings"
set desc = "Remember the martial techniques of the Sleeping Carp clan."
@@ -232,4 +240,4 @@
/obj/item/twohanded/bostaff/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(wielded)
return ..()
- return 0
+ return FALSE
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 0ded5f9912..d1b4e51a7d 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -88,6 +88,9 @@
/datum/mind/proc/transfer_to(mob/new_character, var/force_key_move = 0)
var/old_character = current
+ var/signals = SEND_SIGNAL(new_character, COMSIG_MOB_PRE_PLAYER_CHANGE, new_character, old_character) | SEND_SIGNAL(src, COMSIG_PRE_MIND_TRANSFER, new_character, old_character)
+ if(signals & COMPONENT_STOP_MIND_TRANSFER)
+ return
if(current) // remove ourself from our old body's mind variable
current.mind = null
SStgui.on_transfer(current, new_character)
@@ -125,7 +128,6 @@
transfer_martial_arts(new_character)
if(active || force_key_move)
new_character.key = key //now transfer the key to link the client to our new body
- SEND_SIGNAL(src, COMSIG_MIND_TRANSFER, new_character, old_character)
//CIT CHANGE - makes arousal update when transfering bodies
if(isliving(new_character)) //New humans and such are by default enabled arousal. Let's always use the new mind's prefs.
@@ -134,6 +136,8 @@
L.canbearoused = L.client.prefs.arousable //Technically this should make taking over a character mean the body gain the new minds setting...
L.update_arousal_hud() //Removes the old icon
+ SEND_SIGNAL(src, COMSIG_MIND_TRANSFER, new_character, old_character)
+
/datum/mind/proc/store_memory(new_text)
if((length(memory) + length(new_text)) <= MAX_MESSAGE_LEN)
memory += "[new_text] "
diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm
index 3d07e6066f..c536196e95 100644
--- a/code/datums/mutations/hulk.dm
+++ b/code/datums/mutations/hulk.dm
@@ -13,6 +13,7 @@
return
ADD_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK)
ADD_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK)
+ ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK)
owner.update_body_parts()
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "hulk", /datum/mood_event/hulk)
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
@@ -31,6 +32,7 @@
return
REMOVE_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK)
REMOVE_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK)
+ ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK)
owner.update_body_parts()
SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "hulk")
UnregisterSignal(owner, COMSIG_MOB_SAY)
diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm
index f02b7f185f..82138e6e34 100644
--- a/code/datums/mutations/speech.dm
+++ b/code/datums/mutations/speech.dm
@@ -95,6 +95,7 @@
message = replacetext(message," ugly "," beautiful ")
message = replacetext(message," douchbag "," nice guy ")
message = replacetext(message," whore "," lady ")
+ message = replacetext(message," gamer "," intellectual ")
message = replacetext(message," nerd "," smarty pants ")
message = replacetext(message," moron "," fun person ")
message = replacetext(message," IT'S LOOSE "," EVERYTHING IS FINE ")
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 96d293543d..f5f012e7f9 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -409,6 +409,19 @@
else
new /obj/effect/temp_visual/bleed(get_turf(owner))
+/datum/status_effect/neck_slice
+ id = "neck_slice"
+ status_type = STATUS_EFFECT_UNIQUE
+ alert_type = null
+ duration = -1
+
+/datum/status_effect/neck_slice/tick()
+ var/mob/living/carbon/human/H = owner
+ if(H.stat == DEAD || H.bleed_rate <= 8)
+ H.remove_status_effect(/datum/status_effect/neck_slice)
+ if(prob(10))
+ H.emote(pick("gasp", "gag", "choke"))
+
/mob/living/proc/apply_necropolis_curse(set_curse, duration = 10 MINUTES)
var/datum/status_effect/necropolis_curse/C = has_status_effect(STATUS_EFFECT_NECROPOLIS_CURSE)
if(!set_curse)
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index 09a4f0b060..b74f24c469 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -8,12 +8,14 @@
mob_trait = TRAIT_ALCOHOL_TOLERANCE
gain_text = "You feel like you could drink a whole keg! "
lose_text = "You don't feel as resistant to alcohol anymore. Somehow. "
+ medical_record_text = "Patient demonstrates a high tolerance for alcohol."
/datum/quirk/apathetic
name = "Apathetic"
desc = "You just don't care as much as other people. That's nice to have in a place like this, I guess."
value = 1
mood_quirk = TRUE
+ medical_record_text = "Patient was administered the Apathy Evaluation Scale but did not bother to complete it."
/datum/quirk/apathetic/add()
var/datum/component/mood/mood = quirk_holder.GetComponent(/datum/component/mood)
@@ -42,6 +44,7 @@
mob_trait = TRAIT_EMPATH
gain_text = "You feel in tune with those around you. "
lose_text = "You feel isolated from others. "
+ medical_record_text = "Patient is highly perceptive of and sensitive to social cues, or may possibly have ESP. Further testing needed."
/datum/quirk/freerunning
name = "Freerunning"
@@ -50,6 +53,7 @@
mob_trait = TRAIT_FREERUNNING
gain_text = "You feel lithe on your feet! "
lose_text = "You feel clumsy again. "
+ medical_record_text = "Patient scored highly on cardio tests."
/datum/quirk/friendly
name = "Friendly"
@@ -59,6 +63,7 @@
gain_text = "You want to hug someone. "
lose_text = "You no longer feel compelled to hug others. "
mood_quirk = TRUE
+ medical_record_text = "Patient demonstrates low-inhibitions for physical contact and well-developed arms. Requesting another doctor take over this case."
/datum/quirk/jolly
name = "Jolly"
@@ -66,6 +71,11 @@
value = 1
mob_trait = TRAIT_JOLLY
mood_quirk = TRUE
+ medical_record_text = "Patient demonstrates constant euthymia irregular for environment. It's a bit much, to be honest."
+
+/datum/quirk/jolly/on_process()
+ if(prob(0.05))
+ SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "jolly", /datum/mood_event/jolly)
/datum/quirk/light_step
name = "Light Step"
@@ -74,6 +84,7 @@
mob_trait = TRAIT_LIGHT_STEP
gain_text = "You walk with a little more litheness. "
lose_text = "You start tromping around like a barbarian. "
+ medical_record_text = "Patient's dexterity belies a strong capacity for stealth."
/datum/quirk/quick_step
name = "Quick Step"
@@ -82,6 +93,7 @@
mob_trait = TRAIT_SPEEDY_STEP
gain_text = "You feel determined. No time to lose. "
lose_text = "You feel less determined. What's the rush, man? "
+ medical_record_text = "Patient scored highly on racewalking tests."
/datum/quirk/musician
name = "Musician"
@@ -90,6 +102,7 @@
mob_trait = TRAIT_MUSICIAN
gain_text = "You know everything about musical instruments. "
lose_text = "You forget how musical instruments work. "
+ medical_record_text = "Patient brain scans show a highly-developed auditory pathway."
/datum/quirk/musician/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
@@ -108,6 +121,7 @@
mob_trait = TRAIT_PHOTOGRAPHER
gain_text = "You know everything about photography. "
lose_text = "You forget how photo cameras work. "
+ medical_record_text = "Patient mentions photography as a stress-relieving hobby."
/datum/quirk/photographer/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
@@ -121,12 +135,14 @@
desc = "You know your body well, and can accurately assess the extent of your wounds."
value = 2
mob_trait = TRAIT_SELF_AWARE
+ medical_record_text = "Patient demonstrates an uncanny knack for self-diagnosis."
/datum/quirk/skittish
name = "Skittish"
desc = "You can conceal yourself in danger. Ctrl-shift-click a closed locker to jump into it, as long as you have access."
value = 2
mob_trait = TRAIT_SKITTISH
+ medical_record_text = "Patient demonstrates a high aversion to danger and has described hiding in containers out of fear."
/datum/quirk/spiritual
name = "Spiritual"
@@ -135,6 +151,7 @@
mob_trait = TRAIT_SPIRITUAL
gain_text = "You feel a little more faithful to the gods today. "
lose_text = "You feel less faithful in the gods. "
+ medical_record_text = "Patient reports a belief in a higher power."
/datum/quirk/tagger
name = "Tagger"
@@ -143,6 +160,7 @@
mob_trait = TRAIT_TAGGER
gain_text = "You know how to tag walls efficiently. "
lose_text = "You forget how to tag walls properly. "
+ medical_record_text = "Patient was recently seen for possible paint huffing incident."
/datum/quirk/tagger/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
@@ -158,6 +176,7 @@
mob_trait = TRAIT_VORACIOUS
gain_text = "You feel HONGRY. "
lose_text = "You no longer feel HONGRY. "
+ medical_record_text = "Patient demonstrates a disturbing capacity for eating."
/datum/quirk/trandening
name = "High Luminosity Eyes"
@@ -179,6 +198,7 @@
mob_trait = TRAIT_HIGH_BLOOD
gain_text = "You feel full of blood! "
lose_text = "You feel like your blood pressure went down. "
+ medical_record_text = "Patient's blood tests report an abnormal concentration of red blood cells in their bloodstream."
/datum/quirk/bloodpressure/add()
var/mob/living/M = quirk_holder
@@ -188,3 +208,15 @@
/datum/quirk/bloodpressure/remove()
var/mob/living/M = quirk_holder
M.blood_ratio = 1
+
+/datum/quirk/night_vision
+ name = "Night Vision"
+ desc = "You can see slightly more clearly in full darkness than most people."
+ value = 1
+ mob_trait = TRAIT_NIGHT_VISION
+ gain_text = "The shadows seem a little less dark. "
+ lose_text = "Everything seems a little darker. "
+
+/datum/quirk/night_vision/on_spawn()
+ var/mob/living/carbon/human/H = quirk_holder
+ H.update_sight()
diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index 2dd6ba2eba..3319259381 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -22,14 +22,19 @@
value = -1
gain_text = "You start feeling depressed. "
lose_text = "You no longer feel depressed. " //if only it were that easy!
- medical_record_text = "Patient has a severe mood disorder causing them to experience sudden moments of sadness."
+ medical_record_text = "Patient has a severe mood disorder, causing them to experience acute episodes of depression."
mood_quirk = TRUE
+/datum/quirk/depression/on_process()
+ if(prob(0.05))
+ SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "depression", /datum/mood_event/depression)
+
/datum/quirk/family_heirloom
name = "Family Heirloom"
desc = "You are the current owner of an heirloom, passed down for generations. You have to keep it safe!"
value = -1
mood_quirk = TRUE
+ medical_record_text = "Patient demonstrates an unnatural attachment to a family heirloom."
var/obj/item/heirloom
var/where
@@ -143,6 +148,7 @@
name = "Nyctophobia"
desc = "As far as you can remember, you've always been afraid of the dark. While in the dark without a light source, you instinctually act careful, and constantly feel a sense of dread."
value = -1
+ medical_record_text = "Patient demonstrates a fear of the dark. (Seriously?)"
/datum/quirk/nyctophobia/on_process()
var/mob/living/carbon/human/H = quirk_holder
@@ -163,7 +169,8 @@
desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Nanotrasen was more considerate of your needs..."
value = -1
gain_text = "The safty of light feels off... "
- lose_text = "Enlighing. "
+ lose_text = "Enlightening. "
+ medical_record_text = "Despite my warnings, the patient refuses turn on the lights, only to end up rolling down a full flight of stairs and into the cellar."
/datum/quirk/lightless/on_process()
var/turf/T = get_turf(quirk_holder)
@@ -379,7 +386,7 @@
value = -4
gain_text = "You can't see anything. "
lose_text = "You miraculously gain back your vision. "
- medical_record_text = "Subject has permanent blindness."
+ medical_record_text = "Patient has permanent blindness."
/datum/quirk/blindness/add()
quirk_holder.become_blind(ROUNDSTART_TRAIT)
diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm
index 9e05af03b6..eae2db6a5f 100644
--- a/code/datums/traits/neutral.dm
+++ b/code/datums/traits/neutral.dm
@@ -16,6 +16,7 @@
value = 0
gain_text = "You feel an intense craving for pineapple. "
lose_text = "Your feelings towards pineapples seem to return to a lukewarm state. "
+ medical_record_text = "Patient demonstrates a pathological love of pineapple."
/datum/quirk/pineapple_liker/add()
var/mob/living/carbon/human/H = quirk_holder
@@ -34,6 +35,7 @@
value = 0
gain_text = "You find yourself pondering what kind of idiot actually enjoys pineapples... "
lose_text = "Your feelings towards pineapples seem to return to a lukewarm state. "
+ medical_record_text = "Patient is correct to think that pineapple is disgusting."
/datum/quirk/pineapple_hater/add()
var/mob/living/carbon/human/H = quirk_holder
@@ -52,6 +54,7 @@
value = 0
gain_text = "You start craving something that tastes strange. "
lose_text = "You feel like eating normal food again. "
+ medical_record_text = "Patient demonstrates irregular nutrition preferences."
/datum/quirk/deviant_tastes/add()
var/mob/living/carbon/human/H = quirk_holder
@@ -92,7 +95,7 @@
value = 0
gain_text = "You feel more prudish. "
lose_text = "You don't feel as prudish as before. "
- medical_record_text = "Patient exhibits a special gene that makes them immune to Crocin and Hexacrocin."
+ medical_record_text = "Patient exhibits a special gene that makes them immune to aphrodisiacs."
/datum/quirk/libido
name = "Nymphomania"
@@ -134,6 +137,7 @@
value = 0
mob_trait = TRAIT_PHARMA
lose_text = "Your liver feels different. "
+ medical_record_text = "Non-invasive tests report that the patient's metabolism is indeed incompatible with a certain \"stimulants\"."
var/active = FALSE
var/power = 0
var/cachedmoveCalc = 1
diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm
index 6765cdf2cd..0d763aa5ad 100644
--- a/code/datums/weather/weather_types/radiation_storm.dm
+++ b/code/datums/weather/weather_types/radiation_storm.dm
@@ -22,27 +22,17 @@
target_trait = ZTRAIT_STATION
immunity_type = "rad"
+
+ var/radiation_intensity = 100
/datum/weather/rad_storm/telegraph()
..()
status_alarm(TRUE)
-
/datum/weather/rad_storm/weather_act(mob/living/L)
var/resist = L.getarmor(null, "rad")
- if(prob(40))
- if(ishuman(L))
- var/mob/living/carbon/human/H = L
- if(H.dna && !HAS_TRAIT(H, TRAIT_RADIMMUNE))
- if(prob(max(0,100-resist)))
- H.randmuti()
- if(prob(50))
- if(prob(90))
- H.randmutb()
- else
- H.randmutg()
- H.domutcheck()
- L.rad_act(20)
+ var/ratio = 1 - (min(resist, 100) / 100)
+ L.rad_act(radiation_intensity * ratio)
/datum/weather/rad_storm/end()
if(..())
diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm
index ee96d1fa10..9b52ddda1e 100644
--- a/code/game/gamemodes/clown_ops/clown_weapons.dm
+++ b/code/game/gamemodes/clown_ops/clown_weapons.dm
@@ -265,6 +265,7 @@
armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
max_temperature = 35000
operation_req_access = list(ACCESS_SYNDICATE)
+ internals_req_access = list(ACCESS_SYNDICATE)
wreckage = /obj/structure/mecha_wreckage/honker/dark
max_equip = 3
spawn_tracked = FALSE
diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm
index 67ea855466..075184046d 100644
--- a/code/game/gamemodes/dynamic/dynamic.dm
+++ b/code/game/gamemodes/dynamic/dynamic.dm
@@ -300,6 +300,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
/datum/game_mode/dynamic/proc/log_threat(var/log_str,var/verbose = FALSE)
threat_log_verbose += ("[worldtime2text()]: "+log_str)
+ SSblackbox.record_feedback("tally","dynamic_threat_log",1,log_str)
if(!verbose)
threat_log += log_str
@@ -329,6 +330,10 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
peaceful_percentage = round(LORENTZ_CUMULATIVE_DISTRIBUTION(relative_threat, GLOB.dynamic_curve_centre, GLOB.dynamic_curve_width), 0.01)*100
threat = threat_level
+ SSblackbox.record_feedback("tally","dynamic_threat",threat_level,"Initial threat level")
+ SSblackbox.record_feedback("tally","dynamic_threat",GLOB.dynamic_curve_centre,"Curve centre")
+ SSblackbox.record_feedback("tally","dynamic_threat",GLOB.dynamic_curve_width,"Curve width")
+ SSblackbox.record_feedback("tally","dynamic_threat",peaceful_percentage,"Percent of same-vote rounds that are more peaceful")
/datum/game_mode/dynamic/can_start()
message_admins("Dynamic mode parameters for the round:")
@@ -340,6 +345,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if(GLOB.dynamic_forced_threat_level >= 0)
threat_level = round(GLOB.dynamic_forced_threat_level, 0.1)
threat = threat_level
+ SSblackbox.record_feedback("tally","dynamic_threat",threat_level,"Threat level (forced by admins)")
else
generate_threat()
@@ -384,7 +390,8 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if (roundstart_rules.len <= 0)
log_game("DYNAMIC: [roundstart_rules.len] rules.")
return TRUE
-
+ SSblackbox.record_feedback("tally","dynamic",roundstart_rules.len,"Roundstart rules considered")
+ SSblackbox.record_feedback("tally","dynamic",roundstart_rules.len,"Players readied up")
if(GLOB.dynamic_forced_roundstart_ruleset.len > 0)
rigged_roundstart()
else
@@ -537,6 +544,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if(rule.execute())
if(rule.persistent)
current_rules += rule
+ SSblackbox.record_feedback("associative","dynamic_rulesets",1,rule.get_blackbox_info())
return TRUE
rule.clean_up() // Refund threat, delete teams and so on.
executed_rules -= rule
@@ -615,6 +623,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
else if(new_rule.flags & ONLY_RULESET)
only_ruleset_executed = TRUE
log_game("DYNAMIC: Making a call to a specific ruleset...[new_rule.name]!")
+ SSblackbox.record_feedback("associative","dynamic_rulesets",1,new_rule.get_blackbox_info())
executed_rules += new_rule
if (new_rule.persistent)
current_rules += new_rule
@@ -639,6 +648,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
message_admins("[key_name(M)] joined the station, and was selected by the [rule.name] ruleset.")
log_game("DYNAMIC: [key_name(M)] joined the station, and was selected by the [rule.name] ruleset.")
executed_rules += rule
+ SSblackbox.record_feedback("associative","dynamic_rulesets",1,rule.get_blackbox_info())
rule.candidates.Cut()
if (rule.persistent)
current_rules += rule
@@ -655,6 +665,8 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
for (var/datum/dynamic_ruleset/rule in current_rules)
if(rule.rule_process() == RULESET_STOP_PROCESSING) // If rule_process() returns 1 (RULESET_STOP_PROCESSING), stop processing.
current_rules -= rule
+ SSblackbox.record_feedback("tally","dynamic",1,"Rulesets finished")
+ SSblackbox.record_feedback("associative","dynamic_rulesets_finished",1,rule.get_blackbox_info())
if (midround_injection_cooldown < world.time)
if (GLOB.dynamic_forced_extended)
@@ -673,6 +685,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
update_playercounts()
if (get_injection_chance())
+ SSblackbox.record_feedback("tally","dynamic",1,"Attempted midround injections")
var/cur_threat_frac = threat/threat_level
var/list/drafted_rules = list()
var/antag_num = current_players[CURRENT_LIVING_ANTAGS].len
@@ -688,12 +701,16 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
drafted_rules[rule] = round(rule.get_weight() + (rule.cost * cur_threat_frac))
else
drafted_rules[rule] = rule.get_weight()
+ else if(threat < rule.cost)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough threat to spend")
if (drafted_rules.len > 0)
+ SSblackbox.record_feedback("tally","dynamic",1,"Successful midround injections")
picking_midround_latejoin_rule(drafted_rules)
else
midround_injection_cooldown = (midround_injection_cooldown + world.time)/2
if(event_injection_cooldown < world.time)
+ SSblackbox.record_feedback("tally","dynamic",1,"Attempted event injections")
var/event_injection_cooldown_middle = 0.5*(GLOB.dynamic_event_delay_max + GLOB.dynamic_event_delay_min)
event_injection_cooldown = (round(CLAMP(EXP_DISTRIBUTION(event_injection_cooldown_middle), GLOB.dynamic_event_delay_min, GLOB.dynamic_event_delay_max)) + world.time)
message_admins("DYNAMIC: Doing event injection.")
@@ -704,7 +721,10 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
if(rule.acceptable(current_players[CURRENT_LIVING_PLAYERS].len, threat_level) && threat >= rule.cost)
if(rule.ready())
drafted_rules[rule] = rule.get_weight()
+ else if(threat < rule.cost)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough threat to spend")
if(drafted_rules.len > 0)
+ SSblackbox.record_feedback("tally","dynamic",1,"Successful event injections")
picking_midround_latejoin_rule(drafted_rules)
/// Updates current_players.
@@ -795,6 +815,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
forced_latejoin_rule = null
else if (latejoin_injection_cooldown < world.time && prob(get_injection_chance()))
+ SSblackbox.record_feedback("tally","dynamic",1,"Attempted latejoin injections")
var/list/drafted_rules = list()
for (var/datum/dynamic_ruleset/latejoin/rule in latejoin_rules)
if (rule.acceptable(current_players[CURRENT_LIVING_PLAYERS].len, threat_level) && threat >= rule.cost)
@@ -812,12 +833,14 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
drafted_rules[rule] = rule.get_weight()
if (drafted_rules.len > 0 && picking_midround_latejoin_rule(drafted_rules))
+ SSblackbox.record_feedback("tally","dynamic",1,"Successful latejoin injections")
var/latejoin_injection_cooldown_middle = 0.5*(GLOB.dynamic_latejoin_delay_max + GLOB.dynamic_latejoin_delay_min)
latejoin_injection_cooldown = round(CLAMP(EXP_DISTRIBUTION(latejoin_injection_cooldown_middle), GLOB.dynamic_latejoin_delay_min, GLOB.dynamic_latejoin_delay_max)) + world.time
/// Refund threat, but no more than threat_level.
/datum/game_mode/dynamic/proc/refund_threat(regain)
threat = min(threat_level,threat+regain)
+ SSblackbox.record_feedback("tally","dynamic_threat",regain,"Refunded threat")
log_threat("[regain] refunded. Threat is now [threat].", verbose = TRUE)
/// Generate threat and increase the threat_level if it goes beyond, capped at 100
@@ -825,11 +848,13 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
threat = min(100, threat+gain)
if(threat > threat_level)
threat_level = threat
+ SSblackbox.record_feedback("tally","dynamic_threat",gain,"Created threat")
log_threat("[gain] created. Threat is now [threat] and threat level is now [threat_level].", verbose = TRUE)
/// Expend threat, can't fall under 0.
/datum/game_mode/dynamic/proc/spend_threat(cost)
threat = max(threat-cost,0)
+ SSblackbox.record_feedback("tally","dynamic_threat",cost,"Threat spent")
log_threat("[cost] spent. Threat is now [threat].", verbose = TRUE)
/// Turns the value generated by lorentz distribution to threat value between 0 and 100.
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm
index 0c8ec0a2b8..7f6ea088a1 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm
@@ -80,6 +80,9 @@
/// Delay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin).
/// Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.
var/delay = 0
+ /// Whether or not recent-round weight values are taken into account for this ruleset.
+ /// Weight reduction uses the same values as secret's recent-round mode weight reduction.
+ var/always_max_weight = FALSE
/datum/dynamic_ruleset/New()
..()
@@ -91,8 +94,15 @@
var/costs = CONFIG_GET(keyed_list/dynamic_cost)
var/requirementses = CONFIG_GET(keyed_list/dynamic_requirements) // can't damn well use requirements
var/high_population_requirements = CONFIG_GET(keyed_list/dynamic_high_population_requirement)
+ var/list/repeated_mode_adjust = CONFIG_GET(number_list/repeated_mode_adjust)
if(config_tag in weights)
- weight = weights[config_tag]
+ var/weight_mult = 1
+ if(!always_max_weight && SSpersistence.saved_dynamic_rules.len == 3 && repeated_mode_adjust.len == 3)
+ var/saved_dynamic_rules = SSpersistence.saved_dynamic_rules
+ for(var/i in 1 to 3)
+ if(config_tag in saved_dynamic_rules[i])
+ weight_mult -= (repeated_mode_adjust[i]/100)
+ weight = weights[config_tag] * weight_mult
if(config_tag in costs)
cost = costs[config_tag]
if(config_tag in requirementses)
@@ -115,12 +125,15 @@
/// If your rule has extra checks, such as counting security officers, do that in ready() instead
/datum/dynamic_ruleset/proc/acceptable(population = 0, threat_level = 0)
if(minimum_players > population)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to low pop")
return FALSE
if(maximum_players > 0 && population > maximum_players)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to high pop")
return FALSE
if (population >= GLOB.dynamic_high_pop_limit)
indice_pop = 10
if(threat_level < high_population_requirement)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough threat level")
log_game("DYNAMIC: [name] did not reach threat level threshold: [threat_level]/[high_population_requirement]")
return FALSE
else
@@ -132,6 +145,7 @@
log_game("DYNAMIC: requirements and antag_cap lists have different lengths in ruleset [name]. Likely config issue, report this.")
indice_pop = min(requirements.len,round(population/pop_per_requirement)+1)
if(threat_level < requirements[indice_pop])
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough threat level")
log_game("DYNAMIC: [name] did not reach threat level threshold: [threat_level]/[requirements[indice_pop]]")
return FALSE
else
@@ -178,6 +192,7 @@
/// IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!
/datum/dynamic_ruleset/proc/ready(forced = 0)
if (required_candidates > candidates.len)
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough candidates")
return FALSE
return TRUE
@@ -212,6 +227,24 @@
/datum/dynamic_ruleset/proc/check_finished()
return FALSE
+/// Returns a list to be displayed on statbus.
+/datum/dynamic_ruleset/proc/get_blackbox_info()
+ var/list/ruleset_data = list()
+ ruleset_data["name"] = name
+ ruleset_data["rule_type"] = ruletype
+ ruleset_data["cost"] = total_cost
+ ruleset_data["weight"] = weight
+ ruleset_data["scaled_times"] = scaled_times
+ ruleset_data["antagonist_type"] = antag_datum
+ ruleset_data["population_tier"] = indice_pop
+ ruleset_data["assigned"] = list()
+ for (var/datum/mind/M in assigned)
+ var/assigned_data = list()
+ assigned_data["key"] = M.key
+ assigned_data["name"] = M.name
+ ruleset_data["assigned"] += list(assigned_data)
+ return ruleset_data
+
//////////////////////////////////////////////
// //
// ROUNDSTART RULESETS //
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
index 4ac8cc91d3..b6cd313bfc 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm
@@ -3,6 +3,17 @@
var/typepath // typepath of the event
var/triggering
+/datum/dynamic_ruleset/event/get_blackbox_info()
+ var/list/ruleset_data = list()
+ ruleset_data["name"] = name
+ ruleset_data["rule_type"] = ruletype
+ ruleset_data["cost"] = total_cost
+ ruleset_data["weight"] = weight
+ ruleset_data["scaled_times"] = scaled_times
+ ruleset_data["event_type"] = typepath
+ ruleset_data["population_tier"] = indice_pop
+ return ruleset_data
+
/datum/dynamic_ruleset/event/execute()
var/datum/round_event/E = new typepath()
E.current_players = get_active_player_count(alive_check = 1, afk_check = 1, human_check = 1)
@@ -26,6 +37,7 @@
var/threat = round(mode.threat_level/10)
if (job_check < required_enemies[threat])
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough enemy roles")
return FALSE
return TRUE
@@ -125,6 +137,7 @@
requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5
repeatable = TRUE
+ always_max_weight = TRUE
//////////////////////////////////////////////
// //
@@ -146,12 +159,15 @@
/datum/dynamic_ruleset/event/meteor_wave/ready()
if(mode.threat_level > 40 && mode.threat >= 25 && prob(20))
+ name = "Meteor Wave: Threatening"
cost = 25
typepath = /datum/round_event/meteor_wave/threatening
else if(mode.threat_level > 50 && mode.threat >= 40 && prob(30))
+ name = "Meteor Wave: Catastrophic"
cost = 40
typepath = /datum/round_event/meteor_wave/catastrophic
else
+ name = "Meteor Wave: Normal"
cost = 15
typepath = /datum/round_event/meteor_wave
return ..()
@@ -280,6 +296,7 @@
requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5
repeatable = TRUE
+ always_max_weight = TRUE
/datum/dynamic_ruleset/event/space_dust
name = "Minor Space Dust"
@@ -293,6 +310,7 @@
requirements = list(5,5,5,5,5,5,5,5,5,5)
high_population_requirement = 5
repeatable = TRUE
+ always_max_weight = TRUE
/datum/dynamic_ruleset/event/major_dust
name = "Major Space Dust"
@@ -332,6 +350,7 @@
requirements = list(101,101,101,5,5,5,5,5,5,5)
high_population_requirement = 5
repeatable = TRUE
+ always_max_weight = TRUE
/datum/dynamic_ruleset/event/radiation_storm
name = "Radiation Storm"
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
index 5810fd0ae0..fe9347d9d5 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
@@ -36,9 +36,9 @@
continue // Dead players cannot count as opponents
if (M.mind && M.mind.assigned_role && (M.mind.assigned_role in enemy_roles) && (!(M in candidates) || (M.mind.assigned_role in restricted_roles)))
job_check++ // Checking for "enemies" (such as sec officers). To be counters, they must either not be candidates to that rule, or have a job that restricts them from it
-
var/threat = round(mode.threat_level/10)
if (job_check < required_enemies[threat])
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough enemy roles")
return FALSE
return ..()
@@ -69,6 +69,7 @@
high_population_requirement = 15
repeatable = TRUE
flags = TRAITOR_RULESET
+ always_max_weight = TRUE
//////////////////////////////////////////////
// //
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
index 01c11d8b0b..91ac73d142 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
@@ -87,6 +87,7 @@
var/threat = round(mode.threat_level/10)
if (job_check < required_enemies[threat])
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough enemy roles")
return FALSE
return TRUE
@@ -179,6 +180,7 @@
repeatable = TRUE
high_population_requirement = 15
flags = TRAITOR_RULESET
+ always_max_weight = TRUE
/datum/dynamic_ruleset/midround/autotraitor/acceptable(population = 0, threat = 0)
var/player_count = mode.current_players[CURRENT_LIVING_PLAYERS].len
@@ -291,6 +293,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/wizard/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
if(GLOB.wizardstart.len == 0)
log_admin("Cannot accept Wizard ruleset. Couldn't find any wizard spawn points.")
@@ -353,6 +356,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/nuclear/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
return ..()
@@ -389,6 +393,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/blob/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
return ..()
@@ -420,6 +425,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/xenomorph/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
return ..()
@@ -519,6 +525,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/sentient_disease/ready(forced = FALSE)
if (required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
return ..()
@@ -557,6 +564,7 @@
if(deadMobs < REVENANT_SPAWN_THRESHOLD)
return FALSE
if(required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
for(var/mob/living/L in GLOB.dead_mob_list) //look for any dead bodies
var/turf/T = get_turf(L)
@@ -604,6 +612,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/slaughter_demon/ready(forced = FALSE)
if(required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)
if(isturf(L.loc))
@@ -655,6 +664,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/abductors/ready(forced = FALSE)
if(required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
team = new /datum/team/abductor_team
if(team.team_number > ABDUCTOR_MAX_TEAMS)
@@ -694,6 +704,7 @@
/datum/dynamic_ruleset/midround/from_ghosts/ninja/ready(forced = FALSE)
if(required_candidates > (dead_players.len + list_observers.len))
+ SSblackbox.record_feedback("tally","dynamic",1,"Times rulesets rejected due to not enough ghosts")
return FALSE
if(!spawn_loc)
var/list/spawn_locs = list()
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
index 2d476eab19..e5bb0af464 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
@@ -21,6 +21,7 @@
requirements = list(50,50,50,50,50,50,50,50,50,50)
high_population_requirement = 40
antag_cap = list(1,1,1,1,2,2,2,2,3,3)
+ always_max_weight = TRUE
var/autotraitor_cooldown = 450 // 15 minutes (ticks once per 2 sec)
/datum/dynamic_ruleset/roundstart/traitor/pre_execute()
diff --git a/modular_citadel/code/game/gamemodes/gangs/dominator.dm b/code/game/gamemodes/gangs/dominator.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/dominator.dm
rename to code/game/gamemodes/gangs/dominator.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/dominator_countdown.dm b/code/game/gamemodes/gangs/dominator_countdown.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/dominator_countdown.dm
rename to code/game/gamemodes/gangs/dominator_countdown.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang.dm b/code/game/gamemodes/gangs/gang.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang.dm
rename to code/game/gamemodes/gangs/gang.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_datums.dm b/code/game/gamemodes/gangs/gang_datums.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang_datums.dm
rename to code/game/gamemodes/gangs/gang_datums.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_decals.dm b/code/game/gamemodes/gangs/gang_decals.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang_decals.dm
rename to code/game/gamemodes/gangs/gang_decals.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_hud.dm b/code/game/gamemodes/gangs/gang_hud.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang_hud.dm
rename to code/game/gamemodes/gangs/gang_hud.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_items.dm b/code/game/gamemodes/gangs/gang_items.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang_items.dm
rename to code/game/gamemodes/gangs/gang_items.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gang_pen.dm b/code/game/gamemodes/gangs/gang_pen.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gang_pen.dm
rename to code/game/gamemodes/gangs/gang_pen.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gangs.dm b/code/game/gamemodes/gangs/gangs.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gangs.dm
rename to code/game/gamemodes/gangs/gangs.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/gangtool.dm b/code/game/gamemodes/gangs/gangtool.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/gangtool.dm
rename to code/game/gamemodes/gangs/gangtool.dm
diff --git a/modular_citadel/code/game/gamemodes/gangs/implant_gang.dm b/code/game/gamemodes/gangs/implant_gang.dm
similarity index 100%
rename from modular_citadel/code/game/gamemodes/gangs/implant_gang.dm
rename to code/game/gamemodes/gangs/implant_gang.dm
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 8459819b5b..74554ac9f8 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -14,8 +14,8 @@
false_report_weight = 10
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Chief Engineer", "Chief Medical Officer", "Research Director", "Quartermaster")
- required_players = 30
- required_enemies = 2
+ required_players = 20
+ required_enemies = 1
recommended_enemies = 3
enemy_minimum_age = 14
diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm
index ff7383cd9e..5f44fccdac 100644
--- a/code/game/machinery/_machinery.dm
+++ b/code/game/machinery/_machinery.dm
@@ -181,8 +181,9 @@ Class Procs:
if(isliving(A))
var/mob/living/L = A
L.update_canmove()
- SEND_SIGNAL(src, COMSIG_MACHINE_EJECT_OCCUPANT, occupant)
- occupant = null
+ if(occupant)
+ SEND_SIGNAL(src, COMSIG_MACHINE_EJECT_OCCUPANT, occupant)
+ occupant = null
/obj/machinery/proc/can_be_occupant(atom/movable/am)
return occupant_typecache ? is_type_in_typecache(am, occupant_typecache) : isliving(am)
diff --git a/code/game/machinery/bloodbankgen.dm b/code/game/machinery/bloodbankgen.dm
index 296e79b403..c92e55084d 100644
--- a/code/game/machinery/bloodbankgen.dm
+++ b/code/game/machinery/bloodbankgen.dm
@@ -12,7 +12,6 @@
var/filling = FALSE
var/obj/item/reagent_containers/blood/bag = null
var/obj/item/reagent_containers/blood/outbag = null
- var/bloodstored = 0
var/maxbloodstored = 1000
var/menustat = "menu"
var/efficiency = 0
@@ -20,7 +19,7 @@
/obj/machinery/bloodbankgen/Initialize()
. = ..()
- create_reagents(1000)
+ create_reagents(maxbloodstored, AMOUNT_VISIBLE)
update_icon()
/obj/machinery/bloodbankgen/Destroy()
@@ -28,6 +27,14 @@
QDEL_NULL(outbag)
return ..()
+/obj/machinery/bloodbankgen/examine(mob/user)
+ . = ..()
+ if(bag)
+ . += "It has \a [bag.name] hooked to its input slot. The counter reads: \"Current Capacity: [bag.reagents.total_volume] of [bag.reagents.maximum_volume]\" "
+ if(outbag)
+ . += "It has \a [bag.name] hooked to its output slot. The counter reads: \"Current Capacity: [outbag.reagents.total_volume] of [outbag.reagents.maximum_volume]\" "
+
+
/obj/machinery/bloodbankgen/handle_atom_del(atom/A)
..()
if(A == bag)
@@ -108,74 +115,42 @@
/obj/machinery/bloodbankgen/process()
if(!is_operational())
- return PROCESS_KILL
-
- bloodstored = reagents.total_volume
+ return
var/transfer_amount = 20
if(draining)
- if(reagents.total_volume >= reagents.maximum_volume)
- draining = FALSE
+ if(reagents.total_volume >= reagents.maximum_volume || !bag || !bag.reagents.total_volume)
+ beep_stop_pumping()
return
-
- if(bag)
- if(bag.reagents.total_volume)
- var/datum/reagent/blood/B = bag.reagents.has_reagent("blood")
- if(B)
- var/amount = reagents.maximum_volume - reagents.total_volume //monitor the machine's internal storage
- amount = min(amount, transfer_amount)
- if(!amount)
- draining = FALSE
- updateUsrDialog()
- visible_message("[src] beeps loudly.")
- playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
- return
-
- if(bag.blood_type == "SY") //no infinite loops using synthetics.
- reagents.add_reagent("syntheticblood", amount)
- else
- reagents.add_reagent("syntheticblood", (amount+(5*efficiency)))
-
- if(bag.reagents.total_volume >= amount)
- bag.reagents.remove_reagent("blood", amount)
- else
- visible_message("[src] beeps loudly.")
- playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
- draining = FALSE
-
- bag.update_icon()
- update_icon()
- updateUsrDialog()
- else
- draining = FALSE
- updateUsrDialog()
+ var/blood_amount = bag.reagents.get_reagent_amount("blood")
+ //monitor the machine and blood bag's reagents storage.
+ var/amount = min(blood_amount, min(transfer_amount, reagents.maximum_volume - reagents.total_volume))
+ if(!amount)
+ beep_stop_pumping()
return
+ var/bonus = bag.blood_type == "SY" ? 0 : 5 * efficiency //no infinite loops using synthetics.
+ reagents.add_reagent("syntheticblood", amount + bonus)
+ bag.reagents.remove_reagent("blood", amount)
+ update_icon()
if(filling)
- if(!reagents || !reagents.total_volume)
- filling = FALSE //there ain't anything in the machine yo.
+ if(!reagents.total_volume || !outbag || outbag.reagents.total_volume >= outbag.reagents.maximum_volume)
+ beep_stop_pumping("[src] pings.", TRUE)
return
- if(outbag && outbag.reagents.total_volume < outbag.reagents.maximum_volume)
- var/amount = outbag.reagents.maximum_volume - outbag.reagents.total_volume //monitor the output bag's internal storage
- amount = min(amount, transfer_amount)
- if(!amount)
- filling = FALSE
- visible_message("[src] pings.")
- playsound(loc, 'sound/machines/beep.ogg', 50, 1)
- updateUsrDialog()
- return
+ //monitor the output bag's reagents storage.
+ var/amount = min(transfer_amount, outbag.reagents.maximum_volume - outbag.reagents.total_volume)
+ reagents.trans_to(outbag, amount)
+ update_icon()
- reagents.trans_to(outbag, amount)
- outbag.update_icon()
- update_icon()
- updateUsrDialog()
- else
- visible_message("[src] pings.")
- playsound(loc, 'sound/machines/beep.ogg', 50, 1)
- filling = FALSE
- updateUsrDialog()
- return
+/obj/machinery/bloodbankgen/proc/beep_stop_pumping(msg = "[src] beeps loudly.", out_instead_of_in = FALSE)
+ if(out_instead_of_in)
+ filling = FALSE
+ else
+ draining = FALSE
+ updateUsrDialog()
+ audible_message(msg)
+ playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
/obj/machinery/bloodbankgen/attackby(obj/item/O, mob/user, params)
if(user.a_intent == INTENT_HARM)
@@ -198,8 +173,8 @@
if(istype(O, /obj/item/reagent_containers/blood))
. = TRUE //no afterattack
- var/msg = ""
- if(!panel_open)
+ var/msg
+ if(panel_open)
. += "Close the maintenance panel"
if(!anchored)
. += "[msg ? " and a" : "A"]nchor its bolts"
@@ -267,7 +242,7 @@
if(!bag && !outbag)
dat += "
No containers inside, please insert container.
"
- var/datum/browser/popup = new(user, "bloodbankgen", name, 350, 520)
+ var/datum/browser/popup = new(user, "bloodbankgen", name, 350, 420)
popup.set_content(dat)
popup.open()
@@ -305,6 +280,7 @@
if(usr && Adjacent(usr) && !issiliconoradminghost(usr))
usr.put_in_hands(bag)
bag = null
+ draining = null
update_icon()
/obj/machinery/bloodbankgen/proc/detachoutput()
@@ -313,6 +289,7 @@
if(usr && Adjacent(usr) && !issiliconoradminghost(usr))
usr.put_in_hands(outbag)
outbag = null
+ filling = null
update_icon()
/obj/machinery/bloodbankgen/proc/attachinput(obj/item/O, mob/user)
@@ -338,23 +315,22 @@
to_chat(user, "There is already something in this slot! ")
/obj/machinery/bloodbankgen/Topic(href, href_list)
- if(..() || panel_open)
+ . = ..()
+ if(. | !is_operational())
return
usr.set_machine(src)
if(href_list["activateinput"])
activateinput()
- updateUsrDialog()
else if(href_list["detachinput"])
detachinput()
- updateUsrDialog()
else if(href_list["activateoutput"])
activateoutput()
- updateUsrDialog()
else if(href_list["detachoutput"])
detachoutput()
- updateUsrDialog()
+
+ updateUsrDialog()
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index a8b4608b36..22a523c58b 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -70,7 +70,7 @@
if(check_access(I))
authenticated = 1
auth_id = "[I.registered_name] ([I.assignment])"
- if((20 in I.access))
+ if((ACCESS_CAPTAIN in I.access))
authenticated = 2
playsound(src, 'sound/machines/terminal_on.ogg', 50, 0)
if(obj_flags & EMAGGED)
@@ -279,7 +279,7 @@
// OMG CENTCOM LETTERHEAD
if("MessageCentCom")
- if(authenticated==2)
+ if(authenticated)
if(!checkCCcooldown())
to_chat(usr, "Arrays recycling. Please stand by. ")
return
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 5c2676c2b9..71f39608b5 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -58,8 +58,6 @@
/obj/machinery/firealarm/update_icon()
cut_overlays()
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
- var/area/A = src.loc
- A = A.loc
if(panel_open)
icon_state = "fire_b[buildstage]"
@@ -69,23 +67,32 @@
icon_state = "firex"
return
+ icon_state = "fire0"
+
if(stat & NOPOWER)
- icon_state = "fire0"
return
- if(is_station_level(z))
- add_overlay("overlay_[GLOB.security_level]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[GLOB.security_level]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
- else
- add_overlay("overlay_[SEC_LEVEL_GREEN]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[SEC_LEVEL_GREEN]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ add_overlay("fire_overlay")
- if(detecting)
- add_overlay("overlay_[A.fire ? "fire" : "clear"]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[A.fire ? "fire" : "clear"]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ if(is_station_level(z))
+ add_overlay("fire_[GLOB.security_level]")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_[GLOB.security_level]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
else
- add_overlay("overlay_fire")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_fire", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ add_overlay("fire_[SEC_LEVEL_GREEN]")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_[SEC_LEVEL_GREEN]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+
+ var/area/A = src.loc
+ A = A.loc
+
+ if(!detecting || !A.fire)
+ add_overlay("fire_off")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_off", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ else if(obj_flags & EMAGGED)
+ add_overlay("fire_emagged")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_emagged", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ else
+ add_overlay("fire_on")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_on", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
/obj/machinery/firealarm/emp_act(severity)
. = ..()
@@ -101,6 +108,7 @@
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
+ update_icon()
if(user)
user.visible_message("Sparks fly out of [src]! ",
"You emag [src], disabling its thermal sensors. ")
@@ -112,51 +120,39 @@
alarm()
..()
-/obj/machinery/firealarm/proc/alarm()
- if(!is_operational() && (last_alarm+FIREALARM_COOLDOWN < world.time))
+/obj/machinery/firealarm/proc/alarm(mob/user)
+ if(!is_operational() || (last_alarm+FIREALARM_COOLDOWN > world.time))
return
last_alarm = world.time
var/area/A = get_area(src)
A.firealert(src)
- playsound(src.loc, 'goon/sound/machinery/FireAlarm.ogg', 75)
+ playsound(loc, 'goon/sound/machinery/FireAlarm.ogg', 75)
+ if(user)
+ log_game("[user] triggered a fire alarm at [COORD(src)]")
-/obj/machinery/firealarm/proc/reset()
+/obj/machinery/firealarm/proc/reset(mob/user)
if(!is_operational())
return
var/area/A = get_area(src)
A.firereset(src)
+ if(user)
+ log_game("[user] reset a fire alarm at [COORD(src)]")
-/obj/machinery/firealarm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
- datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
- ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
- if(!ui)
- ui = new(user, src, ui_key, "firealarm", name, 300, 150, master_ui, state)
- ui.open()
-
-/obj/machinery/firealarm/ui_data(mob/user)
- var/list/data = list()
- data["emagged"] = obj_flags & EMAGGED ? 1 : 0
-
- if(is_station_level(z))
- data["seclevel"] = get_security_level()
- else
- data["seclevel"] = "green"
-
+/obj/machinery/firealarm/attack_hand(mob/user)
+ if(buildstage != 2)
+ return ..()
+ add_fingerprint(user)
var/area/A = get_area(src)
- data["alarm"] = A.fire
+ if(A.fire)
+ reset(user)
+ else
+ alarm(user)
- return data
+/obj/machinery/firealarm/attack_ai(mob/user)
+ return attack_hand(user)
-/obj/machinery/firealarm/ui_act(action, params)
- if(..() || buildstage != 2)
- return
- switch(action)
- if("reset")
- reset()
- . = TRUE
- if("alarm")
- alarm()
- . = TRUE
+/obj/machinery/firealarm/attack_robot(mob/user)
+ return attack_hand(user)
/obj/machinery/firealarm/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
@@ -200,6 +196,12 @@
to_chat(user, "You cut the wires from \the [src]. ")
update_icon()
return
+ else if(W.force) //hit and turn it on
+ ..()
+ var/area/A = get_area(src)
+ if(!A.fire)
+ alarm()
+ return
if(1)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = W
@@ -322,8 +324,3 @@
if (!party_overlay)
party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party")
A.add_overlay(party_overlay)
-
-/obj/machinery/firealarm/partyalarm/ui_data(mob/user)
- . = ..()
- var/area/A = get_area(src)
- .["alarm"] = A && A.party
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index f35caf514c..adc0e5bf1e 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -326,6 +326,9 @@
/obj/machinery/suit_storage_unit/attackby(obj/item/I, mob/user, params)
if(state_open && is_operational())
+ if(istype(I, /obj/item/clothing/head/mob_holder))
+ to_chat(user, "You can't quite fit that in while you hold it! ")
+ return
if(istype(I, /obj/item/clothing/suit))
if(suit)
to_chat(user, "The unit already contains a suit!. ")
@@ -437,4 +440,4 @@
if(I)
I.forceMove(loc)
. = TRUE
- update_icon()
\ No newline at end of file
+ update_icon()
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 2ca0df75ae..6990a7a4ba 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -219,6 +219,10 @@
update_icon()
return
+ if(istype(W, /obj/item/clothing/head/mob_holder))
+ to_chat(user, "It's too unwieldly to put in this way. ")
+ return 1
+
else if(user.a_intent != INTENT_HARM)
if (!state_open)
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index c7c180af41..0e6980d6b7 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -27,6 +27,7 @@
max_temperature = 35000
leg_overload_coeff = 100
operation_req_access = list(ACCESS_SYNDICATE)
+ internals_req_access = list(ACCESS_SYNDICATE)
wreckage = /obj/structure/mecha_wreckage/gygax/dark
max_equip = 4
spawn_tracked = FALSE
diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm
index 3a3d98ad1e..ffe318def5 100644
--- a/code/game/mecha/combat/honker.dm
+++ b/code/game/mecha/combat/honker.dm
@@ -10,6 +10,7 @@
max_temperature = 25000
infra_luminosity = 5
operation_req_access = list(ACCESS_THEATRE)
+ internals_req_access = list(ACCESS_THEATRE, ACCESS_ROBOTICS)
wreckage = /obj/structure/mecha_wreckage/honker
add_req_access = 0
max_equip = 3
diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm
index 42817b586c..fa9449937b 100644
--- a/code/game/mecha/combat/marauder.dm
+++ b/code/game/mecha/combat/marauder.dm
@@ -10,6 +10,7 @@
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
infra_luminosity = 3
operation_req_access = list(ACCESS_CENT_SPECOPS)
+ internals_req_access = list(ACCESS_CENT_SPECOPS, ACCESS_ROBOTICS)
wreckage = /obj/structure/mecha_wreckage/marauder
add_req_access = 0
internal_damage_threshold = 25
@@ -46,6 +47,7 @@
name = "\improper Seraph"
icon_state = "seraph"
operation_req_access = list(ACCESS_CENT_SPECOPS)
+ internals_req_access = list(ACCESS_CENT_SPECOPS, ACCESS_ROBOTICS)
step_in = 3
max_integrity = 550
wreckage = /obj/structure/mecha_wreckage/seraph
@@ -72,6 +74,7 @@
name = "\improper Mauler"
icon_state = "mauler"
operation_req_access = list(ACCESS_SYNDICATE)
+ internals_req_access = list(ACCESS_SYNDICATE)
wreckage = /obj/structure/mecha_wreckage/mauler
max_equip = 5
diff --git a/code/game/mecha/combat/neovgre.dm b/code/game/mecha/combat/neovgre.dm
index b1f2cdd02a..8fc1dd97b2 100644
--- a/code/game/mecha/combat/neovgre.dm
+++ b/code/game/mecha/combat/neovgre.dm
@@ -12,6 +12,8 @@
layer = ABOVE_MOB_LAYER
breach_time = 100 //ten seconds till all goes to shit
recharge_rate = 100
+ internals_req_access = list()
+ add_req_access = 0
wreckage = /obj/structure/mecha_wreckage/durand/neovgre
spawn_tracked = FALSE
@@ -47,7 +49,7 @@
for(var/mob/M in src)
to_chat(M, "You are consumed by the fires raging within Neovgre... ")
M.dust()
- playsound(src, 'sound/magic/lightning_chargeup.ogg', 100, 0)
+ playsound(src, 'sound/effects/neovgre_exploding.ogg', 100, 0)
src.visible_message("The reactor has gone critical, its going to blow! ")
addtimer(CALLBACK(src,.proc/go_critical),breach_time)
diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm
index 7e8c865517..446e2e853c 100644
--- a/code/game/mecha/combat/reticence.dm
+++ b/code/game/mecha/combat/reticence.dm
@@ -10,6 +10,7 @@
max_temperature = 15000
wreckage = /obj/structure/mecha_wreckage/reticence
operation_req_access = list(ACCESS_THEATRE)
+ internals_req_access = list(ACCESS_THEATRE, ACCESS_ROBOTICS)
add_req_access = 0
internal_damage_threshold = 25
max_equip = 2
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 35500bed07..7e860d9315 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -68,7 +68,7 @@
var/internal_damage = 0 //contains bitflags
var/list/operation_req_access = list()//required access level for mecha operation
- var/list/internals_req_access = list(ACCESS_ENGINE,ACCESS_ROBOTICS)//REQUIRED ACCESS LEVEL TO OPEN CELL COMPARTMENT
+ var/list/internals_req_access = list(ACCESS_ROBOTICS)//REQUIRED ACCESS LEVEL TO OPEN CELL COMPARTMENT
var/wreckage
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index bdb949a570..4540e48ebc 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -165,7 +165,7 @@
/obj/item/organ/heart/gland/chem = 5,
/obj/item/organ/heart/gland/mindshock = 5,
/obj/item/organ/heart/gland/plasma = 7,
- /obj/item/organ/heart/gland/pop = 5,
+ /obj/item/organ/heart/gland/transform = 5,
/obj/item/organ/heart/gland/slime = 4,
/obj/item/organ/heart/gland/spiderman = 5,
/obj/item/organ/heart/gland/ventcrawling = 1,
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index a103c0a54f..1b85a41f7c 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -349,6 +349,10 @@
icon_state = "impact_laser_purple"
duration = 4
+/obj/effect/temp_visual/impact_effect/shrink
+ icon_state = "m_shield"
+ duration = 10
+
/obj/effect/temp_visual/impact_effect/ion
icon_state = "shieldsparkles"
duration = 6
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index 2392973b22..10a2b2c807 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -665,6 +665,13 @@
name = "Booze Dispenser (Machine Board)"
build_path = /obj/machinery/chem_dispenser/drinks/beer
+/obj/item/circuitboard/machine/chem_dispenser/abductor
+ name = "Reagent Synthetizer (Abductor Machine Board)"
+ icon_state = "abductor_mod"
+ build_path = /obj/machinery/chem_dispenser/abductor
+ def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high)
+ needs_anchored = FALSE
+
/obj/item/circuitboard/machine/smoke_machine
name = "Smoke Machine (Machine Board)"
build_path = /obj/machinery/smoke_machine
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 7baea7f488..1654ecde41 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -69,14 +69,9 @@
if (!user.IsAdvancedToolUser())
to_chat(user, "You don't have the dexterity to do this! ")
return
- if(HAS_TRAIT(user, TRAIT_NOGUNS))
+ if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
to_chat(user, "Your fingers can't press the button! ")
return
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.dna.check_mutation(HULK))
- to_chat(user, "Your fingers can't press the button! ")
- return
add_fingerprint(user)
diff --git a/code/game/objects/items/grenades/flashbang.dm b/code/game/objects/items/grenades/flashbang.dm
index 48ecf8273a..66897fa722 100644
--- a/code/game/objects/items/grenades/flashbang.dm
+++ b/code/game/objects/items/grenades/flashbang.dm
@@ -14,23 +14,31 @@
do_sparks(rand(5, 9), FALSE, src)
playsound(flashbang_turf, 'sound/weapons/flashbang.ogg', 100, TRUE, 8, 0.9)
new /obj/effect/dummy/lighting_obj (flashbang_turf, LIGHT_COLOR_WHITE, (flashbang_range + 2), 4, 2)
- for(var/mob/living/M in get_hearers_in_view(flashbang_range, flashbang_turf))
- bang(get_turf(M), M)
+ flashbang_mobs(flashbang_turf, flashbang_range)
qdel(src)
-/obj/item/grenade/flashbang/proc/bang(turf/T , mob/living/M)
+/obj/item/grenade/flashbang/proc/flashbang_mobs(turf/source, range)
+ var/list/banged = get_hearers_in_view(range, source)
+ var/list/flashed = viewers(range, source)
+ for(var/i in banged)
+ bang(i, source)
+ for(var/i in flashed)
+ flash(i, source)
+
+/obj/item/grenade/flashbang/proc/bang(mob/living/M, turf/source)
if(M.stat == DEAD) //They're dead!
return
M.show_message("BANG ", MSG_AUDIBLE)
- var/distance = max(0,get_dist(get_turf(src),T))
-
-//Flash
- if(M.flash_act(affect_silicon = 1))
- M.Knockdown(max(200/max(1,distance), 60))
-//Bang
+ var/distance = get_dist(get_turf(M), source)
if(!distance || loc == M || loc == M.loc) //Stop allahu akbarring rooms with this.
M.Knockdown(200)
M.soundbang_act(1, 200, 10, 15)
-
else
M.soundbang_act(1, max(200/max(1,distance), 60), rand(0, 5))
+
+/obj/item/grenade/flashbang/proc/flash(mob/living/M, turf/source)
+ if(M.stat == DEAD) //They're dead!
+ return
+ var/distance = get_dist(get_turf(M), source)
+ if(M.flash_act(affect_silicon = 1))
+ M.Knockdown(max(200/max(1,distance), 60))
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 9f3e5f6bd4..f25c2c2265 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -11,95 +11,42 @@
resistance_flags = FLAMMABLE
max_integrity = 40
novariants = FALSE
- var/heal_brute = 0
- var/heal_burn = 0
- var/stop_bleeding = 0
+ item_flags = NOBLUDGEON
var/self_delay = 50
/obj/item/stack/medical/attack(mob/living/M, mob/user)
- if(M.stat == DEAD && !stop_bleeding)
- var/t_him = "it"
- if(M.gender == MALE)
- t_him = "him"
- else if(M.gender == FEMALE)
- t_him = "her"
- to_chat(user, "\The [M] is dead, you cannot help [t_him]! ")
+ . = ..()
+ if(!M.can_inject(user, TRUE))
return
-
- if(!iscarbon(M) && !isanimal(M))
- to_chat(user, "You don't know how to apply \the [src] to [M]! ")
- return 1
-
- var/obj/item/bodypart/affecting
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- affecting = C.get_bodypart(check_zone(user.zone_selected))
- if(!affecting) //Missing limb?
- to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]! ")
+ if(M == user)
+ user.visible_message("[user] starts to apply \the [src] on [user.p_them()]self... ", "You begin applying \the [src] on yourself... ")
+ if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE)))
return
- if(ishuman(C))
- var/mob/living/carbon/human/H = C
- if(stop_bleeding)
- if(H.bleedsuppress)
- to_chat(user, "[H]'s bleeding is already bandaged! ")
- return
- else if(!H.bleed_rate)
- to_chat(user, "[H] isn't bleeding! ")
- return
+ if(heal(M, user))
+ log_combat(user, M, "healed", src.name)
+ use(1)
- if(isliving(M))
- if(!M.can_inject(user, 1))
- return
+/obj/item/stack/medical/proc/heal(mob/living/M, mob/user)
+ return
- if(user)
- if (M != user)
- if (isanimal(M))
- var/mob/living/simple_animal/critter = M
- if (!(critter.healable))
- to_chat(user, " You cannot use [src] on [M]! ")
- return
- else if (critter.health == critter.maxHealth)
- to_chat(user, " [M] is at full health. ")
- return
- else if(src.heal_brute < 1)
- to_chat(user, " [src] won't help [M] at all. ")
- return
- user.visible_message("[user] applies [src] on [M]. ", "You apply [src] on [M]. ")
- else
- var/t_himself = "itself"
- if(user.gender == MALE)
- t_himself = "himself"
- else if(user.gender == FEMALE)
- t_himself = "herself"
- user.visible_message("[user] starts to apply [src] on [t_himself]... ", "You begin applying [src] on yourself... ")
- if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject,user,1)))
- return
- user.visible_message("[user] applies [src] on [t_himself]. ", "You apply [src] on yourself. ")
-
-
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- affecting = C.get_bodypart(check_zone(user.zone_selected))
- if(!affecting) //Missing limb?
- to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]! ")
- return
- if(ishuman(C))
- var/mob/living/carbon/human/H = C
- if(stop_bleeding)
- if(!H.bleedsuppress) //so you can't stack bleed suppression
- H.suppress_bloodloss(stop_bleeding)
- if(affecting.status == BODYPART_ORGANIC) //Limb must be organic to be healed - RR
- if(affecting.heal_damage(heal_brute, heal_burn))
+/obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn)
+ var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected))
+ if(!affecting) //Missing limb?
+ to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]! ")
+ return
+ if(affecting.status == BODYPART_ORGANIC) //Limb must be organic to be healed - RR
+ if(affecting.brute_dam && brute || affecting.burn_dam && burn)
+ user.visible_message("[user] applies \the [src] on [C]'s [affecting.name]. ", "You apply \the [src] on [C]'s [affecting.name]. ")
+ if(affecting.heal_damage(brute, burn))
C.update_damage_overlays()
- else
- to_chat(user, "Medicine won't work on a robotic limb! ")
- else
- M.heal_bodypart_damage((src.heal_brute/2), (src.heal_burn/2))
-
- use(1)
-
+ return TRUE
+ to_chat(user, "[C]'s [affecting.name] can not be healed with \the [src]. ")
+ return
+ to_chat(user, "\The [src] won't work on a robotic limb! ")
+/obj/item/stack/medical/get_belt_overlay()
+ return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "pouch")
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
@@ -108,27 +55,56 @@
icon_state = "brutepack"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
- heal_brute = 40
+ var/heal_brute = 25
self_delay = 20
+ max_amount = 12
grind_results = list("styptic_powder" = 10)
+/obj/item/stack/medical/bruise_pack/heal(mob/living/M, mob/user)
+ if(M.stat == DEAD)
+ to_chat(user, " [M] is dead. You can not help [M.p_them()]! ")
+ return
+ if(isanimal(M))
+ var/mob/living/simple_animal/critter = M
+ if (!(critter.healable))
+ to_chat(user, " You cannot use \the [src] on [M]! ")
+ return FALSE
+ else if (critter.health == critter.maxHealth)
+ to_chat(user, " [M] is at full health. ")
+ return FALSE
+ user.visible_message("[user] applies \the [src] on [M]. ", "You apply \the [src] on [M]. ")
+ M.heal_bodypart_damage((heal_brute/2))
+ return TRUE
+ if(iscarbon(M))
+ return heal_carbon(M, user, heal_brute, 0)
+ to_chat(user, "You can't heal [M] with the \the [src]! ")
+
/obj/item/stack/medical/bruise_pack/suicide_act(mob/user)
user.visible_message("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide! ")
return (BRUTELOSS)
/obj/item/stack/medical/gauze
name = "medical gauze"
- desc = "A roll of elastic cloth that is extremely effective at stopping bleeding, but does not heal wounds."
+ desc = "A roll of elastic cloth that is extremely effective at stopping bleeding, heals minor wounds."
gender = PLURAL
singular_name = "medical gauze"
icon_state = "gauze"
- stop_bleeding = 1800
- self_delay = 20
+ var/stop_bleeding = 1800
+ var/heal_brute = 5
+ self_delay = 10
max_amount = 12
+/obj/item/stack/medical/gauze/heal(mob/living/M, mob/user)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(!H.bleedsuppress && H.bleed_rate) //so you can't stack bleed suppression
+ H.suppress_bloodloss(stop_bleeding)
+ to_chat(user, "You stop the bleeding of [M]! ")
+ return TRUE
+ to_chat(user, "You can not use \the [src] on [M]! ")
/obj/item/stack/medical/gauze/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/wirecutters) || I.get_sharpness())
+ if(I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness())
if(get_amount() < 2)
to_chat(user, "You need at least two gauzes to do this! ")
return
@@ -163,13 +139,19 @@
icon_state = "ointment"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
- heal_burn = 40
+ var/heal_burn = 25
self_delay = 20
+ max_amount = 12
grind_results = list("silver_sulfadiazine" = 10)
+/obj/item/stack/medical/ointment/heal(mob/living/M, mob/user)
+ if(M.stat == DEAD)
+ to_chat(user, " [M] is dead. You can not help [M.p_them()]! ")
+ return
+ if(iscarbon(M))
+ return heal_carbon(M, user, 0, heal_burn)
+ to_chat(user, "You can't heal [M] with the \the [src]! ")
+
/obj/item/stack/medical/ointment/suicide_act(mob/living/user)
user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic? ")
return TOXLOSS
-
-/obj/item/stack/medical/get_belt_overlay()
- return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "pouch")
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 82aea26eda..4fc31ea674 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -276,6 +276,33 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
/obj/item/stack/sheet/mineral/wood/fifty
amount = 50
+/*
+ * Bamboo
+ */
+
+GLOBAL_LIST_INIT(bamboo_recipes, list ( \
+ new/datum/stack_recipe("punji sticks trap", /obj/structure/punji_sticks, 5, time = 30, one_per_turf = TRUE, on_floor = TRUE), \
+ new/datum/stack_recipe("blow gun", /obj/item/gun/syringe/blowgun, 10, time = 70), \
+ ))
+
+/obj/item/stack/sheet/mineral/bamboo
+ name = "bamboo cuttings"
+ desc = "Finely cut bamboo sticks."
+ singular_name = "cut bamboo"
+ icon_state = "sheet-bamboo"
+ item_state = "sheet-bamboo"
+ icon = 'icons/obj/stack_objects.dmi'
+ throwforce = 15
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0)
+ resistance_flags = FLAMMABLE
+ merge_type = /obj/item/stack/sheet/mineral/bamboo
+ grind_results = list("carbon" = 5)
+
+/obj/item/stack/sheet/mineral/bamboo/Initialize(mapload, new_amount, merge = TRUE)
+ recipes = GLOB.bamboo_recipes
+ return ..()
+
+
/*
* Cloth
*/
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 15db8e2ebd..d200471b5b 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -551,7 +551,7 @@
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
new /obj/item/clothing/shoes/magboots/syndie(src)
- new /obj/item/storage/firstaid/tactical(src)
+ new /obj/item/storage/firstaid/tactical/nukeop(src)
new /obj/item/gun/ballistic/automatic/l6_saw/toy(src)
new /obj/item/ammo_box/foambox/riot(src)
diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm
index 0d9b86fd68..8c96e567d1 100644
--- a/code/game/objects/items/storage/firstaid.dm
+++ b/code/game/objects/items/storage/firstaid.dm
@@ -176,18 +176,36 @@
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_NORMAL
+ STR.max_combined_w_class = 16
+ STR.max_items = 8
/obj/item/storage/firstaid/tactical/PopulateContents()
if(empty)
return
new /obj/item/stack/medical/gauze(src)
new /obj/item/defibrillator/compact/combat/loaded(src)
- new /obj/item/reagent_containers/hypospray/combat(src)
- new /obj/item/reagent_containers/pill/patch/styptic(src)
- new /obj/item/reagent_containers/pill/patch/silver_sulf(src)
- new /obj/item/reagent_containers/syringe/lethal/choral(src)
+ new /obj/item/reagent_containers/hypospray/combat/omnizine(src)
+ new /obj/item/reagent_containers/medspray/styptic(src)
+ new /obj/item/reagent_containers/medspray/silver_sulf(src)
+ new /obj/item/healthanalyzer/advanced(src)
+ new /obj/item/reagent_containers/syringe/lethal/choral(src) // what the fuck does anyone use this piece of shit for
new /obj/item/clothing/glasses/hud/health/night(src)
+/obj/item/storage/firstaid/tactical/nukeop
+ name = "improved combat medical kit"
+
+/obj/item/storage/firstaid/tactical/nukeop/PopulateContents()
+ if(empty)
+ return
+ new /obj/item/stack/medical/gauze(src)
+ new /obj/item/defibrillator/compact/combat/loaded(src)
+ new /obj/item/reagent_containers/hypospray/combat(src)
+ new /obj/item/reagent_containers/medspray/styptic(src)
+ new /obj/item/reagent_containers/medspray/silver_sulf(src)
+ new /obj/item/healthanalyzer/advanced(src)
+ new /obj/item/reagent_containers/syringe/lethal/choral(src) // what the fuck does anyone use this piece of shit for
+ new /obj/item/clothing/glasses/hud/health/night(src)
+
/*
* Pill Bottles
*/
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 9dee1e26cc..58588c5693 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -285,6 +285,13 @@
. += new /obj/item/shard(location)
/obj/structure/window/proc/can_be_rotated(mob/user,rotation_type)
+ if (get_dist(src,user) > 1)
+ if (iscarbon(user))
+ var/mob/living/carbon/H = user
+ if (!(H.dna && H.dna.check_mutation(TK) && tkMaxRangeCheck(src,H)))
+ return FALSE
+ else
+ return FALSE
if(anchored)
to_chat(user, "[src] cannot be rotated while it is fastened to the floor! ")
return FALSE
diff --git a/code/game/say.dm b/code/game/say.dm
index 3bfd11bac0..7f01bf163d 100644
--- a/code/game/say.dm
+++ b/code/game/say.dm
@@ -126,8 +126,14 @@ GLOBAL_LIST_INIT(freqtospan, list(
return returntext
return "[copytext("[freq]", 1, 4)].[copytext("[freq]", 4, 5)]"
-/proc/attach_spans(input, list/spans)
- return "[message_spans_start(spans)][input]"
+/atom/movable/proc/attach_spans(input, list/spans)
+ var/customsayverb = findtext(input, "*")
+ if(customsayverb)
+ input = capitalize(copytext(input, customsayverb+1))
+ if(input)
+ return "[message_spans_start(spans)][input]"
+ else
+ return
/proc/message_spans_start(list/spans)
var/output = "Transferring to virtual reality... ")
- if(vr_mob && (!istype(vr_mob) || !vr_mob.InCritical()) && !vr_mob.GetComponent(/datum/component/virtual_reality))
- vr_mob.AddComponent(/datum/component/virtual_reality, human_occupant, src, you_die_in_the_game_you_die_for_real)
- to_chat(vr_mob, "Transfer successful! You are now playing as [vr_mob] in VR! ")
- else
+ var/mob/M = occupant
+ if(M?.mind && M == usr)
+ to_chat(M, "Transferring to virtual reality... ")
+ var/datum/component/virtual_reality/VR
+ if(vr_mob)
+ VR = vr_mob.GetComponent(/datum/component/virtual_reality)
+ if(!(VR?.connect(M)))
if(allow_creating_vr_mobs)
- to_chat(occupant, "Virtual avatar not found, attempting to create one... ")
+ to_chat(occupant, "Virtual avatar [vr_mob ? "corrupted" : "missing"], attempting to create one... ")
var/obj/effect/landmark/vr_spawn/V = get_vr_spawnpoint()
var/turf/T = get_turf(V)
if(T)
- SStgui.close_user_uis(occupant, src)
new_player(occupant, T, V.vr_outfit)
- to_chat(vr_mob, "Transfer successful! You are now playing as [vr_mob] in VR! ")
else
to_chat(occupant, "Virtual world misconfigured, aborting transfer ")
else
to_chat(occupant, "The virtual world does not support the creation of new virtual avatars, aborting transfer ")
+ else
+ to_chat(vr_mob, "Transfer successful! You are now playing as [vr_mob] in VR! ")
. = TRUE
if("delete_avatar")
if(!occupant || usr == occupant)
@@ -157,17 +154,31 @@
for(var/obj/effect/landmark/vr_spawn/V in GLOB.landmarks_list)
GLOB.vr_spawnpoints[V.vr_category] = V
-/obj/machinery/vr_sleeper/proc/new_player(mob/living/carbon/human/H, location, datum/outfit/outfit, transfer = TRUE)
- if(!H)
+/obj/machinery/vr_sleeper/proc/new_player(mob/M, location, datum/outfit/outfit, transfer = TRUE)
+ if(!M)
return
cleanup_vr_mob()
vr_mob = new virtual_mob_type(location)
- if(vr_mob.build_virtual_character(H, outfit))
- var/mob/living/carbon/human/vr_H = vr_mob
- vr_H.updateappearance(TRUE, TRUE, TRUE)
- if(!transfer || !H.mind)
- return
- vr_mob.AddComponent(/datum/component/virtual_reality, H, src, you_die_in_the_game_you_die_for_real)
+ if(vr_mob.build_virtual_character(M, outfit) && iscarbon(vr_mob))
+ var/mob/living/carbon/C = vr_mob
+ C.updateappearance(TRUE, TRUE, TRUE)
+ var/datum/component/virtual_reality/VR = vr_mob.AddComponent(/datum/component/virtual_reality, you_die_in_the_game_you_die_for_real)
+ if(VR.connect(M))
+ RegisterSignal(VR, COMSIG_COMPONENT_UNREGISTER_PARENT, .proc/unset_vr_mob)
+ RegisterSignal(VR, COMSIG_COMPONENT_REGISTER_PARENT, .proc/set_vr_mob)
+ if(!only_current_user_can_interact)
+ VR.RegisterSignal(src, COMSIG_ATOM_EMAG_ACT, /datum/component/virtual_reality.proc/you_only_live_once)
+ VR.RegisterSignal(src, COMSIG_MACHINE_EJECT_OCCUPANT, /datum/component/virtual_reality.proc/revert_to_reality)
+ VR.RegisterSignal(src, COMSIG_PARENT_QDELETING, /datum/component/virtual_reality.proc/machine_destroyed)
+ to_chat(vr_mob, "Transfer successful! You are now playing as [vr_mob] in VR! ")
+ else
+ to_chat(M, "Transfer failed! virtual reality data likely corrupted! ")
+
+/obj/machinery/vr_sleeper/proc/unset_vr_mob(datum/component/virtual_reality/VR)
+ vr_mob = null
+
+/obj/machinery/vr_sleeper/proc/set_vr_mob(datum/component/virtual_reality/VR)
+ vr_mob = VR.parent
/obj/machinery/vr_sleeper/proc/cleanup_vr_mob()
if(vr_mob)
@@ -222,6 +233,7 @@
qdel(C)
for (var/A in corpse_party)
var/mob/M = A
- if(get_area(M) == vr_area && M.stat == DEAD)
+ if(M && M.stat == DEAD && get_area(M) == vr_area)
qdel(M)
+ corpse_party -= M
addtimer(CALLBACK(src, .proc/clean_up), 3 MINUTES)
diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm
index 3723b99f4e..c8fbfde4d2 100644
--- a/code/modules/antagonists/_common/antag_spawner.dm
+++ b/code/modules/antagonists/_common/antag_spawner.dm
@@ -37,6 +37,8 @@
dat += "Your apprentice is training to cast spells that will aid your survival. They know Forcewall and Charge and come with a Staff of Healing. "
dat += "Robeless "
dat += "Your apprentice is training to cast spells without their robes. They know Knock and Mindswap. "
+ dat += "Martial Artist "
+ dat += "Your apprentice is training in ancient martial arts. They know the Plasmafist and Nuclear Fist. "
user << browse(dat, "window=radio")
onclose(user, "radio")
return
diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm
index e8d30e8dbe..92504641a9 100644
--- a/code/modules/antagonists/abductor/abductor.dm
+++ b/code/modules/antagonists/abductor/abductor.dm
@@ -65,6 +65,8 @@
//Equip
var/mob/living/carbon/human/H = owner.current
H.set_species(/datum/species/abductor)
+ var/obj/item/organ/tongue/abductor/T = H.getorganslot(ORGAN_SLOT_TONGUE)
+ T.mothership = "[team.name]"
H.real_name = "[team.name] [sub_role]"
H.equipOutfit(outfit)
diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm
index b708c59ef7..433f52306b 100644
--- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm
+++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm
@@ -17,7 +17,7 @@
actions_types = list(/datum/action/item_action/hands_free/activate)
allowed = list(
/obj/item/abductor,
- /obj/item/abductor_baton,
+ /obj/item/abductor/baton,
/obj/item/melee/baton,
/obj/item/gun/energy,
/obj/item/restraints/handcuffs
@@ -57,7 +57,7 @@
/obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot == SLOT_WEAR_SUIT) //we only give the mob the ability to activate the vest if he's actually wearing it.
- return 1
+ return TRUE
/obj/item/clothing/suit/armor/abductor/vest/proc/SetDisguise(datum/icon_snapshot/entry)
disguise = entry
@@ -89,11 +89,9 @@
/obj/item/clothing/suit/armor/abductor/vest/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
DeactivateStealth()
- return 0
/obj/item/clothing/suit/armor/abductor/vest/IsReflect()
DeactivateStealth()
- return 0
/obj/item/clothing/suit/armor/abductor/vest/ui_action_click()
switch(mode)
@@ -111,7 +109,10 @@
to_chat(loc, "Combat injection is still recharging. ")
return
var/mob/living/carbon/human/M = loc
- M.do_adrenaline(150, FALSE, 0, 0, TRUE, list("inaprovaline" = 3, "synaptizine" = 10, "omnizine" = 10), "You feel a sudden surge of energy! ")
+ M.adjustStaminaLoss(-75)
+ M.SetUnconscious(0)
+ M.SetStun(0)
+ M.SetKnockdown(0)
combat_cooldown = 0
START_PROCESSING(SSobj, src)
@@ -131,9 +132,11 @@
/obj/item/abductor
icon = 'icons/obj/abductor.dmi'
+ lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
/obj/item/abductor/proc/AbductorCheck(mob/user)
- if(HAS_TRAIT(user, TRAIT_ABDUCTOR_TRAINING))
+ if (HAS_TRAIT(user, TRAIT_ABDUCTOR_TRAINING))
return TRUE
if (istype(user) && user.mind && HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_TRAINING))
return TRUE
@@ -158,8 +161,6 @@
desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras."
icon_state = "gizmo_scan"
item_state = "silencer"
- lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
var/mode = GIZMO_SCAN
var/mob/living/marked = null
var/obj/machinery/abductor/console/console
@@ -218,12 +219,9 @@
if(marked == target)
to_chat(user, "This specimen is already marked! ")
return
- if(ishuman(target))
- if(isabductor(target))
- marked = target
- to_chat(user, "You mark [target] for future retrieval. ")
- else
- prepare(target,user)
+ if(isabductor(target) || iscow(target))
+ marked = target
+ to_chat(user, "You mark [target] for future retrieval. ")
else
prepare(target,user)
@@ -247,8 +245,6 @@
desc = "A compact device used to shut down communications equipment."
icon_state = "silencer"
item_state = "gizmo"
- lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
/obj/item/abductor/silencer/attack(mob/living/M, mob/user)
if(!AbductorCheck(user))
@@ -292,8 +288,6 @@
or to send a command to a test subject with a charged gland."
icon_state = "mind_device_message"
item_state = "silencer"
- lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
var/mode = MIND_DEVICE_MESSAGE
/obj/item/abductor/mind_device/attack_self(mob/user)
@@ -389,6 +383,17 @@
item_state = "alienpistol"
trigger_guard = TRIGGER_GUARD_ALLOW_ALL
+/obj/item/gun/energy/shrink_ray
+ name = "shrink ray blaster"
+ desc = "This is a piece of frightening alien tech that enhances the magnetic pull of atoms in a localized space to temporarily make an object shrink. \
+ That or it's just space magic. Either way, it shrinks stuff."
+ ammo_type = list(/obj/item/ammo_casing/energy/shrink)
+ item_state = "shrink_ray"
+ icon_state = "shrink_ray"
+ fire_delay = 30
+ selfcharge = 1//shot costs 200 energy, has a max capacity of 1000 for 5 shots. self charge returns 25 energy every couple ticks, so about 1 shot charged every 12~ seconds
+ trigger_guard = TRIGGER_GUARD_ALLOW_ALL// variable-size trigger, get it? (abductors need this to be set so the gun is usable for them)
+
/obj/item/paper/guides/antag/abductor
name = "Dissection Guide"
icon_state = "alienpaper_words"
@@ -422,21 +427,18 @@
#define BATON_PROBE 3
#define BATON_MODES 4
-/obj/item/abductor_baton
+/obj/item/abductor/baton
name = "advanced baton"
desc = "A quad-mode baton used for incapacitation and restraining of specimens."
var/mode = BATON_STUN
- icon = 'icons/obj/abductor.dmi'
icon_state = "wonderprodStun"
item_state = "wonderprod"
- lefthand_file = 'icons/mob/inhands/antag/abductor_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/antag/abductor_righthand.dmi'
slot_flags = ITEM_SLOT_BELT
force = 7
w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/toggle_mode)
-/obj/item/abductor_baton/proc/toggle(mob/living/user=usr)
+/obj/item/abductor/baton/proc/toggle(mob/living/user=usr)
mode = (mode+1)%BATON_MODES
var/txt
switch(mode)
@@ -452,7 +454,7 @@
to_chat(usr, "You switch the baton to [txt] mode. ")
update_icon()
-/obj/item/abductor_baton/update_icon()
+/obj/item/abductor/baton/update_icon()
switch(mode)
if(BATON_STUN)
icon_state = "wonderprodStun"
@@ -467,8 +469,8 @@
icon_state = "wonderprodProbe"
item_state = "wonderprodProbe"
-/obj/item/abductor_baton/attack(mob/target, mob/living/user)
- if(!isabductor(user))
+/obj/item/abductor/baton/attack(mob/target, mob/living/user)
+ if(!AbductorCheck(user))
return
if(iscyborg(target))
@@ -485,8 +487,8 @@
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK))
- playsound(L, 'sound/weapons/genhit.ogg', 50, 1)
- return 0
+ playsound(H, 'sound/weapons/genhit.ogg', 50, TRUE)
+ return FALSE
switch (mode)
if(BATON_STUN)
@@ -498,10 +500,10 @@
if(BATON_PROBE)
ProbeAttack(L,user)
-/obj/item/abductor_baton/attack_self(mob/living/user)
+/obj/item/abductor/baton/attack_self(mob/living/user)
toggle(user)
-/obj/item/abductor_baton/proc/StunAttack(mob/living/L,mob/living/user)
+/obj/item/abductor/baton/proc/StunAttack(mob/living/L,mob/living/user)
L.lastattacker = user.real_name
L.lastattackerckey = user.ckey
@@ -513,7 +515,7 @@
L.visible_message("[user] has stunned [L] with [src]! ", \
"[user] has stunned you with [src]! ")
- playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1)
+ playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
if(ishuman(L))
var/mob/living/carbon/human/H = L
@@ -521,7 +523,7 @@
log_combat(user, L, "stunned")
-/obj/item/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user)
+/obj/item/abductor/baton/proc/SleepAttack(mob/living/L,mob/living/user)
if(L.incapacitated(TRUE, TRUE))
if(L.anti_magic_check(FALSE, FALSE, TRUE, 0))
to_chat(user, "The specimen's tinfoil protection is interfering with the sleep inducement! ")
@@ -531,7 +533,7 @@
return
L.visible_message("[user] has induced sleep in [L] with [src]! ", \
"You suddenly feel very drowsy! ")
- playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1)
+ playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
L.Sleeping(1200)
log_combat(user, L, "put to sleep")
else
@@ -545,13 +547,13 @@
L.visible_message("[user] tried to induce sleep in [L] with [src]! ", \
"You suddenly feel drowsy! ")
-/obj/item/abductor_baton/proc/CuffAttack(mob/living/L,mob/living/user)
+/obj/item/abductor/baton/proc/CuffAttack(mob/living/L,mob/living/user)
if(!iscarbon(L))
return
var/mob/living/carbon/C = L
if(!C.handcuffed)
if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore())
- playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
+ playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2)
C.visible_message("[user] begins restraining [C] with [src]! ", \
"[user] begins shaping an energy field around your hands! ")
if(do_mob(user, C, 30) && (C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()))
@@ -565,7 +567,7 @@
else
to_chat(user, "[C] doesn't have two hands... ")
-/obj/item/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user)
+/obj/item/abductor/baton/proc/ProbeAttack(mob/living/L,mob/living/user)
L.visible_message("[user] probes [L] with [src]! ", \
"[user] probes you! ")
@@ -610,7 +612,7 @@
S.start()
. = ..()
-/obj/item/abductor_baton/examine(mob/user)
+/obj/item/abductor/baton/examine(mob/user)
. = ..()
switch(mode)
if(BATON_STUN)
@@ -639,10 +641,44 @@
AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS))
/obj/item/radio/headset/abductor/attackby(obj/item/W, mob/user, params)
- if(istype(W, /obj/item/screwdriver))
+ if(W.tool_behaviour == TOOL_SCREWDRIVER)
return // Stops humans from disassembling abductor headsets.
return ..()
+/obj/item/abductor_machine_beacon
+ name = "machine beacon"
+ desc = "A beacon designed to instantly tele-construct abductor machinery."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "beacon"
+ w_class = WEIGHT_CLASS_TINY
+ var/obj/machinery/spawned_machine
+
+/obj/item/abductor_machine_beacon/attack_self(mob/user)
+ ..()
+ user.visible_message("[user] places down [src] and activates it. ", "You place down [src] and activate it. ")
+ user.dropItemToGround(src)
+ playsound(src, 'sound/machines/terminal_alert.ogg', 50)
+ addtimer(CALLBACK(src, .proc/try_spawn_machine), 30)
+
+/obj/item/abductor_machine_beacon/proc/try_spawn_machine()
+ var/viable = FALSE
+ if(isfloorturf(loc))
+ var/turf/T = loc
+ viable = TRUE
+ for(var/obj/thing in T.contents)
+ if(thing.density || ismachinery(thing) || isstructure(thing))
+ viable = FALSE
+ if(viable)
+ playsound(src, 'sound/effects/phasein.ogg', 50, TRUE)
+ var/new_machine = new spawned_machine(loc)
+ visible_message("[new_machine] warps on top of the beacon! ")
+ qdel(src)
+ else
+ playsound(src, 'sound/machines/buzz-two.ogg', 50)
+
+/obj/item/abductor_machine_beacon/chem_dispenser
+ name = "beacon - Reagent Synthesizer"
+ spawned_machine = /obj/machinery/chem_dispenser/abductor
/obj/item/scalpel/alien
name = "alien scalpel"
@@ -706,11 +742,11 @@
framestackamount = 1
/obj/structure/table_frame/abductor/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/wrench))
+ if(I.tool_behaviour == TOOL_WRENCH)
to_chat(user, "You start disassembling [src]... ")
I.play_tool_sound(src)
if(I.use_tool(src, user, 30))
- playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
+ playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
for(var/i = 1, i <= framestackamount, i++)
new framestack(get_turf(src))
qdel(src)
@@ -760,7 +796,6 @@
icon = 'icons/obj/abductor.dmi'
icon_state = "bed"
can_buckle = 1
- buckle_lying = 1
var/static/list/injected_reagents = list("corazone")
@@ -798,3 +833,11 @@
airlock_type = /obj/machinery/door/airlock/abductor
material_type = /obj/item/stack/sheet/mineral/abductor
noglass = TRUE
+
+/obj/item/clothing/under/abductor
+ desc = "The most advanced form of jumpsuit known to reality, looks uncomfortable."
+ name = "alien jumpsuit"
+ icon_state = "abductor"
+ item_state = "bl_suit"
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 0)
+ can_adjust = 0
diff --git a/code/modules/antagonists/abductor/equipment/abduction_outfits.dm b/code/modules/antagonists/abductor/equipment/abduction_outfits.dm
index 7bfadf6f3b..ec76f61ec6 100644
--- a/code/modules/antagonists/abductor/equipment/abduction_outfits.dm
+++ b/code/modules/antagonists/abductor/equipment/abduction_outfits.dm
@@ -1,6 +1,6 @@
/datum/outfit/abductor
name = "Abductor Basic"
- uniform = /obj/item/clothing/under/color/grey //they're greys gettit
+ uniform = /obj/item/clothing/under/abductor
shoes = /obj/item/clothing/shoes/combat
back = /obj/item/storage/backpack
ears = /obj/item/radio/headset/abductor
@@ -34,7 +34,7 @@
name = "Abductor Agent"
head = /obj/item/clothing/head/helmet/abductor
suit = /obj/item/clothing/suit/armor/abductor/vest
- suit_store = /obj/item/abductor_baton
+ suit_store = /obj/item/abductor/baton
belt = /obj/item/storage/belt/military/abductor/full
backpack_contents = list(
diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm
index f7b49e1cf4..82170444d0 100644
--- a/code/modules/antagonists/abductor/equipment/gland.dm
+++ b/code/modules/antagonists/abductor/equipment/gland.dm
@@ -5,18 +5,23 @@
icon_state = "gland"
status = ORGAN_ROBOTIC
beating = TRUE
+ organ_flags = ORGAN_NO_SPOIL
var/true_name = "baseline placebo referencer"
var/cooldown_low = 300
var/cooldown_high = 300
var/next_activation = 0
var/uses // -1 For infinite
- var/human_only = 0
- var/active = 0
+ var/human_only = FALSE
+ var/active = FALSE
var/mind_control_uses = 1
var/mind_control_duration = 1800
var/active_mind_control = FALSE
+/obj/item/organ/heart/gland/Initialize()
+ . = ..()
+ icon_state = pick(list("health", "spider", "slime", "emp", "species", "egg", "vent", "mindshock", "viral"))
+
/obj/item/organ/heart/gland/examine(mob/user)
. = ..()
if((user.mind && HAS_TRAIT(user.mind, TRAIT_ABDUCTOR_SCIENTIST_TRAINING)) || isobserver(user))
@@ -55,14 +60,18 @@
active_mind_control = TRUE
message_admins("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]")
update_gland_hud()
-
+ var/obj/screen/alert/mind_control/mind_alert = owner.throw_alert("mind_control", /obj/screen/alert/mind_control)
+ mind_alert.command = command
addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration)
+ return TRUE
/obj/item/organ/heart/gland/proc/clear_mind_control()
if(!ownerCheck() || !active_mind_control)
return FALSE
- to_chat(owner, "You feel the compulsion fade, and you completely forget about your previous orders. ")
+ to_chat(owner, "You feel the compulsion fade, and you completely forget about your previous orders. ")
+ owner.clear_alert("mind_control")
active_mind_control = FALSE
+ return TRUE
/obj/item/organ/heart/gland/Remove(mob/living/carbon/M, special = 0)
active = 0
@@ -98,257 +107,4 @@
active = 0
/obj/item/organ/heart/gland/proc/activate()
- return
-
-/obj/item/organ/heart/gland/heals
- true_name = "coherency harmonizer"
- cooldown_low = 200
- cooldown_high = 400
- uses = -1
- icon_state = "health"
- mind_control_uses = 3
- mind_control_duration = 3000
-
-/obj/item/organ/heart/gland/heals/activate()
- to_chat(owner, "You feel curiously revitalized. ")
- owner.adjustToxLoss(-20, FALSE, TRUE)
- owner.heal_bodypart_damage(20, 20, 0, TRUE)
- owner.adjustOxyLoss(-20)
-
-/obj/item/organ/heart/gland/slime
- true_name = "gastric animation galvanizer"
- cooldown_low = 600
- cooldown_high = 1200
- uses = -1
- icon_state = "slime"
- mind_control_uses = 1
- mind_control_duration = 2400
-
-/obj/item/organ/heart/gland/slime/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
- ..()
- owner.faction |= "slime"
- owner.grant_language(/datum/language/slime)
-
-/obj/item/organ/heart/gland/slime/activate()
- to_chat(owner, "You feel nauseated! ")
- owner.vomit(20)
-
- var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey")
- Slime.Friends = list(owner)
- Slime.Leader = owner
-
-/obj/item/organ/heart/gland/mindshock
- true_name = "neural crosstalk uninhibitor"
- cooldown_low = 400
- cooldown_high = 700
- uses = -1
- icon_state = "mindshock"
- mind_control_uses = 1
- mind_control_duration = 6000
-
-/obj/item/organ/heart/gland/mindshock/activate()
- to_chat(owner, "You get a headache. ")
-
- var/turf/T = get_turf(owner)
- for(var/mob/living/carbon/H in orange(4,T))
- if(H == owner)
- continue
- switch(pick(1,3))
- if(1)
- to_chat(H, "You hear a loud buzz in your head, silencing your thoughts! ")
- H.Stun(50)
- if(2)
- to_chat(H, "You hear an annoying buzz in your head. ")
- H.confused += 15
- H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160)
- if(3)
- H.hallucination += 60
-
-/obj/item/organ/heart/gland/pop
- true_name = "anthropmorphic translocator"
- cooldown_low = 900
- cooldown_high = 1800
- uses = -1
- human_only = TRUE
- icon_state = "species"
- mind_control_uses = 5
- mind_control_duration = 300
-
-/obj/item/organ/heart/gland/pop/activate()
- to_chat(owner, "You feel unlike yourself. ")
- randomize_human(owner)
- var/species = pick(list(/datum/species/human, /datum/species/lizard, /datum/species/insect, /datum/species/fly))
- owner.set_species(species)
-
-/obj/item/organ/heart/gland/ventcrawling
- true_name = "pliant cartilage enabler"
- cooldown_low = 1800
- cooldown_high = 2400
- uses = 1
- icon_state = "vent"
- mind_control_uses = 4
- mind_control_duration = 1800
-
-/obj/item/organ/heart/gland/ventcrawling/activate()
- to_chat(owner, "You feel very stretchy. ")
- owner.ventcrawler = VENTCRAWLER_ALWAYS
-
-/obj/item/organ/heart/gland/viral
- true_name = "contamination incubator"
- cooldown_low = 1800
- cooldown_high = 2400
- uses = 1
- icon_state = "viral"
- mind_control_uses = 1
- mind_control_duration = 1800
-
-/obj/item/organ/heart/gland/viral/activate()
- to_chat(owner, "You feel sick. ")
- var/datum/disease/advance/A = random_virus(pick(2,6),6)
- A.carrier = TRUE
- owner.ForceContractDisease(A, FALSE, TRUE)
-
-/obj/item/organ/heart/gland/viral/proc/random_virus(max_symptoms, max_level)
- if(max_symptoms > VIRUS_SYMPTOM_LIMIT)
- max_symptoms = VIRUS_SYMPTOM_LIMIT
- var/datum/disease/advance/A = new /datum/disease/advance()
- var/list/datum/symptom/possible_symptoms = list()
- for(var/symptom in subtypesof(/datum/symptom))
- var/datum/symptom/S = symptom
- if(initial(S.level) > max_level)
- continue
- if(initial(S.level) <= 0) //unobtainable symptoms
- continue
- possible_symptoms += S
- for(var/i in 1 to max_symptoms)
- var/datum/symptom/chosen_symptom = pick_n_take(possible_symptoms)
- if(chosen_symptom)
- var/datum/symptom/S = new chosen_symptom
- A.symptoms += S
- A.Refresh() //just in case someone already made and named the same disease
- return A
-
-/obj/item/organ/heart/gland/trauma
- true_name = "white matter randomiser"
- cooldown_low = 800
- cooldown_high = 1200
- uses = 5
- icon_state = "emp"
- mind_control_uses = 3
- mind_control_duration = 1800
-
-/obj/item/organ/heart/gland/trauma/activate()
- to_chat(owner, "You feel a spike of pain in your head. ")
- if(prob(33))
- owner.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
- else
- if(prob(20))
- owner.gain_trauma_type(BRAIN_TRAUMA_SEVERE, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
- else
- owner.gain_trauma_type(BRAIN_TRAUMA_MILD, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
-
-/obj/item/organ/heart/gland/spiderman
- true_name = "araneae cloister accelerator"
- cooldown_low = 450
- cooldown_high = 900
- uses = -1
- icon_state = "spider"
- mind_control_uses = 2
- mind_control_duration = 2400
-
-/obj/item/organ/heart/gland/spiderman/activate()
- to_chat(owner, "You feel something crawling in your skin. ")
- owner.faction |= "spiders"
- var/obj/structure/spider/spiderling/S = new(owner.drop_location())
- S.directive = "Protect your nest inside [owner.real_name]."
-
-/obj/item/organ/heart/gland/egg
- true_name = "roe/enzymatic synthesizer"
- cooldown_low = 300
- cooldown_high = 400
- uses = -1
- icon_state = "egg"
- lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
- mind_control_uses = 2
- mind_control_duration = 1800
-
-/obj/item/organ/heart/gland/egg/activate()
- owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)] ")
- var/turf/T = owner.drop_location()
- new /obj/item/reagent_containers/food/snacks/egg/gland(T)
-
-/obj/item/organ/heart/gland/electric
- true_name = "electron accumulator/discharger"
- cooldown_low = 800
- cooldown_high = 1200
- uses = -1
- mind_control_uses = 2
- mind_control_duration = 900
-
-/obj/item/organ/heart/gland/electric/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
- ..()
- ADD_TRAIT(owner, TRAIT_SHOCKIMMUNE, ORGAN_TRAIT)
-
-/obj/item/organ/heart/gland/electric/Remove(mob/living/carbon/M, special = 0)
- REMOVE_TRAIT(owner, TRAIT_SHOCKIMMUNE, ORGAN_TRAIT)
- ..()
-
-/obj/item/organ/heart/gland/electric/activate()
- owner.visible_message("[owner]'s skin starts emitting electric arcs! ",\
- "You feel electric energy building up inside you! ")
- playsound(get_turf(owner), "sparks", 100, 1, -1)
- addtimer(CALLBACK(src, .proc/zap), rand(30, 100))
-
-/obj/item/organ/heart/gland/electric/proc/zap()
- tesla_zap(owner, 4, 8000, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN)
- playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, 1)
-
-/obj/item/organ/heart/gland/chem
- true_name = "intrinsic pharma-provider"
- cooldown_low = 50
- cooldown_high = 50
- uses = -1
- mind_control_uses = 3
- mind_control_duration = 1200
- var/list/possible_reagents = list()
-
-/obj/item/organ/heart/gland/chem/Initialize()
- ..()
- for(var/X in subtypesof(/datum/reagent/drug))
- var/datum/reagent/R = X
- possible_reagents += initial(R.id)
- for(var/X in subtypesof(/datum/reagent/medicine))
- var/datum/reagent/R = X
- possible_reagents += initial(R.id)
- for(var/X in typesof(/datum/reagent/toxin))
- var/datum/reagent/R = X
- possible_reagents += initial(R.id)
-
-/obj/item/organ/heart/gland/chem/activate()
- var/chem_to_add = pick(possible_reagents)
- owner.reagents.add_reagent(chem_to_add, 2)
- owner.adjustToxLoss(-2, TRUE, TRUE)
- ..()
-
-/obj/item/organ/heart/gland/plasma
- true_name = "effluvium sanguine-synonym emitter"
- cooldown_low = 1200
- cooldown_high = 1800
- uses = -1
- mind_control_uses = 1
- mind_control_duration = 800
-
-/obj/item/organ/heart/gland/plasma/activate()
- to_chat(owner, "You feel bloated. ")
- addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "A massive stomachache overcomes you. "), 150)
- addtimer(CALLBACK(src, .proc/vomit_plasma), 200)
-
-/obj/item/organ/heart/gland/plasma/proc/vomit_plasma()
- if(!owner)
- return
- owner.visible_message("[owner] vomits a cloud of plasma! ")
- var/turf/open/T = get_turf(owner)
- if(istype(T))
- T.atmos_spawn_air("plasma=50;TEMP=[T20C]")
- owner.vomit()
+ return
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/access.dm b/code/modules/antagonists/abductor/equipment/glands/access.dm
new file mode 100644
index 0000000000..548650d4e3
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/access.dm
@@ -0,0 +1,19 @@
+/obj/item/organ/heart/gland/access
+ true_name = "anagraphic electro-scrambler"
+ cooldown_low = 600
+ cooldown_high = 1200
+ uses = 1
+ icon_state = "mindshock"
+ mind_control_uses = 3
+ mind_control_duration = 900
+
+/obj/item/organ/heart/gland/access/activate()
+ to_chat(owner, "You feel like a VIP for some reason. ")
+ RegisterSignal(owner, COMSIG_MOB_ALLOWED, .proc/free_access)
+
+/obj/item/organ/heart/gland/access/proc/free_access(datum/source, obj/O)
+ return TRUE
+
+/obj/item/organ/heart/gland/access/Remove(mob/living/carbon/M, special = 0)
+ UnregisterSignal(owner, COMSIG_MOB_ALLOWED)
+ ..()
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/blood.dm b/code/modules/antagonists/abductor/equipment/glands/blood.dm
new file mode 100644
index 0000000000..06b8249484
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/blood.dm
@@ -0,0 +1,18 @@
+/obj/item/organ/heart/gland/blood
+ true_name = "pseudonuclear hemo-destabilizer"
+ cooldown_low = 1200
+ cooldown_high = 1800
+ uses = -1
+ icon_state = "egg"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
+ mind_control_uses = 3
+ mind_control_duration = 1500
+
+/obj/item/organ/heart/gland/blood/activate()
+ if(!ishuman(owner) || !owner.dna.species)
+ return
+ var/mob/living/carbon/human/H = owner
+ var/datum/species/species = H.dna.species
+ to_chat(H, "You feel your blood heat up for a moment. ")
+ species.exotic_blood = get_random_reagent_id()
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/chem.dm b/code/modules/antagonists/abductor/equipment/glands/chem.dm
new file mode 100644
index 0000000000..e7b6fda85f
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/chem.dm
@@ -0,0 +1,20 @@
+/obj/item/organ/heart/gland/chem
+ true_name = "intrinsic pharma-provider"
+ cooldown_low = 50
+ cooldown_high = 50
+ uses = -1
+ icon_state = "viral"
+ mind_control_uses = 3
+ mind_control_duration = 1200
+ var/list/possible_reagents = list()
+
+/obj/item/organ/heart/gland/chem/Initialize()
+ . = ..()
+ for(var/R in subtypesof(/datum/reagent/drug) + subtypesof(/datum/reagent/medicine) + typesof(/datum/reagent/toxin))
+ possible_reagents += R
+
+/obj/item/organ/heart/gland/chem/activate()
+ var/chem_to_add = pick(possible_reagents)
+ owner.reagents.add_reagent(chem_to_add, 2)
+ owner.adjustToxLoss(-5, TRUE, TRUE)
+ ..()
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/egg.dm b/code/modules/antagonists/abductor/equipment/glands/egg.dm
new file mode 100644
index 0000000000..429a24b19c
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/egg.dm
@@ -0,0 +1,15 @@
+/obj/item/organ/heart/gland/egg
+ true_name = "roe/enzymatic synthesizer"
+ cooldown_low = 300
+ cooldown_high = 400
+ uses = -1
+ icon_state = "egg"
+ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
+ mind_control_uses = 2
+ mind_control_duration = 1800
+
+/obj/item/organ/heart/gland/egg/activate()
+ owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)] ")
+ var/turf/T = owner.drop_location()
+ new /obj/item/reagent_containers/food/snacks/egg/gland(T)
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm
new file mode 100644
index 0000000000..63d95f8b1f
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm
@@ -0,0 +1,26 @@
+/obj/item/organ/heart/gland/electric
+ true_name = "electron accumulator/discharger"
+ cooldown_low = 800
+ cooldown_high = 1200
+ icon_state = "species"
+ uses = -1
+ mind_control_uses = 2
+ mind_control_duration = 900
+
+/obj/item/organ/heart/gland/electric/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
+ ..()
+ ADD_TRAIT(owner, TRAIT_SHOCKIMMUNE, "abductor_gland")
+
+/obj/item/organ/heart/gland/electric/Remove(mob/living/carbon/M, special = 0)
+ REMOVE_TRAIT(owner, TRAIT_SHOCKIMMUNE, "abductor_gland")
+ ..()
+
+/obj/item/organ/heart/gland/electric/activate()
+ owner.visible_message("[owner]'s skin starts emitting electric arcs! ",\
+ "You feel electric energy building up inside you! ")
+ playsound(get_turf(owner), "sparks", 100, TRUE, -1)
+ addtimer(CALLBACK(src, .proc/zap), rand(30, 100))
+
+/obj/item/organ/heart/gland/electric/proc/zap()
+ tesla_zap(owner, 4, 8000, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN)
+ playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, TRUE)
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm
new file mode 100644
index 0000000000..bf9a00e13c
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm
@@ -0,0 +1,178 @@
+/obj/item/organ/heart/gland/heal
+ true_name = "organic replicator"
+ cooldown_low = 200
+ cooldown_high = 400
+ uses = -1
+ human_only = TRUE
+ icon_state = "health"
+ mind_control_uses = 3
+ mind_control_duration = 3000
+
+/obj/item/organ/heart/gland/heal/activate()
+ if(!(owner.mob_biotypes & MOB_ORGANIC))
+ return
+
+ for(var/organ in owner.internal_organs)
+ if(istype(organ, /obj/item/organ/cyberimp))
+ reject_implant(organ)
+ return
+
+ var/obj/item/organ/liver/liver = owner.getorganslot(ORGAN_SLOT_LIVER)
+ if((!liver/* && !HAS_TRAIT(owner, TRAIT_NOMETABOLISM)*/) || (liver && ((liver.damage > (liver.maxHealth / 2)) || (istype(liver, /obj/item/organ/liver/cybernetic)))))
+ replace_liver(liver)
+ return
+
+ var/obj/item/organ/lungs/lungs = owner.getorganslot(ORGAN_SLOT_LUNGS)
+ if((!lungs && !HAS_TRAIT(owner, TRAIT_NOBREATH)) || (lungs && (istype(lungs, /obj/item/organ/lungs/cybernetic))))
+ replace_lungs(lungs)
+ return
+
+ var/obj/item/organ/eyes/eyes = owner.getorganslot(ORGAN_SLOT_EYES)
+ if(!eyes || (eyes && ((HAS_TRAIT_FROM(owner, TRAIT_NEARSIGHT, EYE_DAMAGE)) || (HAS_TRAIT_FROM(owner, TRAIT_BLIND, EYE_DAMAGE)) || (istype(eyes, /obj/item/organ/eyes/robotic)))))
+ replace_eyes(eyes)
+ return
+
+ var/obj/item/bodypart/limb
+ var/list/limb_list = list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
+ for(var/zone in limb_list)
+ limb = owner.get_bodypart(zone)
+ if(!limb)
+ replace_limb(zone)
+ return
+ if((limb.get_damage() >= (limb.max_damage / 2)) || (limb.status == BODYPART_ROBOTIC))
+ replace_limb(zone, limb)
+ return
+
+ if(owner.getToxLoss() > 40)
+ replace_blood()
+ return
+ var/tox_amount = 0
+ for(var/datum/reagent/toxin/T in owner.reagents.reagent_list)
+ tox_amount += owner.reagents.get_reagent_amount(T.type)
+ if(tox_amount > 10)
+ replace_blood()
+ return
+ if(owner.blood_volume < BLOOD_VOLUME_OKAY)
+ owner.blood_volume = BLOOD_VOLUME_NORMAL
+ to_chat(owner, "You feel your blood pulsing within you. ")
+ return
+
+ var/obj/item/bodypart/chest/chest = owner.get_bodypart(BODY_ZONE_CHEST)
+ if((chest.get_damage() >= (chest.max_damage / 4)) || (chest.status == BODYPART_ROBOTIC))
+ replace_chest(chest)
+ return
+
+/obj/item/organ/heart/gland/heal/proc/reject_implant(obj/item/organ/cyberimp/implant)
+ owner.visible_message("[owner] vomits up his [implant.name]! ", "You suddenly vomit up your [implant.name]! ")
+ owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE)
+ implant.Remove(owner)
+ implant.forceMove(owner.drop_location())
+
+/obj/item/organ/heart/gland/heal/proc/replace_liver(obj/item/organ/liver/liver)
+ if(liver)
+ owner.visible_message("[owner] vomits up his [liver.name]! ", "You suddenly vomit up your [liver.name]! ")
+ owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE)
+ liver.Remove(owner)
+ liver.forceMove(owner.drop_location())
+ else
+ to_chat(owner, "You feel a weird rumble in your bowels... ")
+
+ var/liver_type = /obj/item/organ/liver
+ if(owner?.dna?.species?.mutantliver)
+ liver_type = owner.dna.species.mutantliver
+ var/obj/item/organ/liver/new_liver = new liver_type()
+ new_liver.Insert(owner)
+
+/obj/item/organ/heart/gland/heal/proc/replace_lungs(obj/item/organ/lungs/lungs)
+ if(lungs)
+ owner.visible_message("[owner] vomits up his [lungs.name]! ", "You suddenly vomit up your [lungs.name]! ")
+ owner.vomit(0, TRUE, TRUE, 1, FALSE, FALSE, FALSE, TRUE)
+ lungs.Remove(owner)
+ lungs.forceMove(owner.drop_location())
+ else
+ to_chat(owner, "You feel a weird rumble inside your chest... ")
+
+ var/lung_type = /obj/item/organ/lungs
+ if(owner.dna.species && owner.dna.species.mutantlungs)
+ lung_type = owner.dna.species.mutantlungs
+ var/obj/item/organ/lungs/new_lungs = new lung_type()
+ new_lungs.Insert(owner)
+
+/obj/item/organ/heart/gland/heal/proc/replace_eyes(obj/item/organ/eyes/eyes)
+ if(eyes)
+ owner.visible_message("[owner]'s [eyes.name] fall out of their sockets! ", "Your [eyes.name] fall out of their sockets! ")
+ playsound(owner, 'sound/effects/splat.ogg', 50, TRUE)
+ eyes.Remove(owner)
+ eyes.forceMove(owner.drop_location())
+ else
+ to_chat(owner, "You feel a weird rumble behind your eye sockets... ")
+
+ addtimer(CALLBACK(src, .proc/finish_replace_eyes), rand(100, 200))
+
+/obj/item/organ/heart/gland/heal/proc/finish_replace_eyes()
+ var/eye_type = /obj/item/organ/eyes
+ if(owner.dna.species && owner.dna.species.mutanteyes)
+ eye_type = owner.dna.species.mutanteyes
+ var/obj/item/organ/eyes/new_eyes = new eye_type()
+ new_eyes.Insert(owner)
+ owner.visible_message("A pair of new eyes suddenly inflates into [owner]'s eye sockets! ", "A pair of new eyes suddenly inflates into your eye sockets! ")
+
+/obj/item/organ/heart/gland/heal/proc/replace_limb(body_zone, obj/item/bodypart/limb)
+ if(limb)
+ owner.visible_message("[owner]'s [limb.name] suddenly detaches from [owner.p_their()] body! ", "Your [limb.name] suddenly detaches from your body! ")
+ playsound(owner, "desceration", 50, TRUE, -1)
+ limb.drop_limb()
+ else
+ to_chat(owner, "You feel a weird tingle in your [parse_zone(body_zone)]... even if you don't have one. ")
+
+ addtimer(CALLBACK(src, .proc/finish_replace_limb, body_zone), rand(150, 300))
+
+/obj/item/organ/heart/gland/heal/proc/finish_replace_limb(body_zone)
+ owner.visible_message("With a loud snap, [owner]'s [parse_zone(body_zone)] rapidly grows back from [owner.p_their()] body! ",
+ "With a loud snap, your [parse_zone(body_zone)] rapidly grows back from your body! ",
+ "Your hear a loud snap. ")
+ playsound(owner, 'sound/magic/demon_consume.ogg', 50, TRUE)
+ owner.regenerate_limb(body_zone)
+
+/obj/item/organ/heart/gland/heal/proc/replace_blood()
+ owner.visible_message("[owner] starts vomiting huge amounts of blood! ", "You suddenly start vomiting huge amounts of blood! ")
+ keep_replacing_blood()
+
+/obj/item/organ/heart/gland/heal/proc/keep_replacing_blood()
+ var/keep_going = FALSE
+ owner.vomit(0, TRUE, FALSE, 3, FALSE, FALSE, FALSE, TRUE)
+ owner.Stun(15)
+ owner.adjustToxLoss(-15, TRUE, TRUE)
+
+ owner.blood_volume = min(BLOOD_VOLUME_NORMAL, owner.blood_volume + 20)
+ if(owner.blood_volume < BLOOD_VOLUME_NORMAL)
+ keep_going = TRUE
+
+ if(owner.getToxLoss())
+ keep_going = TRUE
+ for(var/datum/reagent/toxin/R in owner.reagents.reagent_list)
+ owner.reagents.remove_reagent(R.type, 4)
+ if(owner.reagents.has_reagent(R.type))
+ keep_going = TRUE
+ if(keep_going)
+ addtimer(CALLBACK(src, .proc/keep_replacing_blood), 30)
+
+/obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest)
+ if(chest.status == BODYPART_ROBOTIC)
+ owner.visible_message("[owner]'s [chest.name] rapidly expels its mechanical components, replacing them with flesh! ", "Your [chest.name] rapidly expels its mechanical components, replacing them with flesh! ")
+ playsound(owner, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE)
+ var/list/dirs = GLOB.alldirs.Copy()
+ for(var/i in 1 to 3)
+ var/obj/effect/decal/cleanable/robot_debris/debris = new(get_turf(owner))
+ debris.streak(dirs)
+ else
+ owner.visible_message("[owner]'s [chest.name] sheds off its damaged flesh, rapidly replacing it! ", "Your [chest.name] sheds off its damaged flesh, rapidly replacing it! ")
+ playsound(owner, 'sound/effects/splat.ogg', 50, TRUE)
+ var/list/dirs = GLOB.alldirs.Copy()
+ for(var/i in 1 to 3)
+ var/obj/effect/decal/cleanable/blood/gibs/gibs = new(get_turf(owner))
+ gibs.streak(dirs)
+
+ var/obj/item/bodypart/chest/new_chest = new(null)
+ new_chest.replace_limb(owner, TRUE)
+ qdel(chest)
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm
new file mode 100644
index 0000000000..f8b91343f2
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm
@@ -0,0 +1,64 @@
+/obj/item/organ/heart/gland/mindshock
+ true_name = "neural crosstalk uninhibitor"
+ cooldown_low = 400
+ cooldown_high = 700
+ uses = -1
+ icon_state = "mindshock"
+ mind_control_uses = 1
+ mind_control_duration = 6000
+ var/list/mob/living/carbon/human/broadcasted_mobs = list()
+
+/obj/item/organ/heart/gland/mindshock/activate()
+ to_chat(owner, "You get a headache. ")
+
+ var/turf/T = get_turf(owner)
+ for(var/mob/living/carbon/H in orange(4,T))
+ if(H == owner)
+ continue
+ switch(pick(1,3))
+ if(1)
+ to_chat(H, "You hear a loud buzz in your head, silencing your thoughts! ")
+ H.Stun(50)
+ if(2)
+ to_chat(H, "You hear an annoying buzz in your head. ")
+ H.confused += 15
+ H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 160)
+ if(3)
+ H.hallucination += 60
+
+/obj/item/organ/heart/gland/mindshock/mind_control(command, mob/living/user)
+ if(!ownerCheck() || !mind_control_uses || active_mind_control)
+ return FALSE
+ mind_control_uses--
+ for(var/mob/M in oview(7, owner))
+ if(!ishuman(M))
+ continue
+ var/mob/living/carbon/human/H = M
+ if(H.stat)
+ continue
+
+ broadcasted_mobs += H
+ to_chat(H, "You suddenly feel an irresistible compulsion to follow an order... ")
+ to_chat(H, "[command] ")
+
+ message_admins("[key_name(user)] broadcasted an abductor mind control message from [key_name(owner)] to [key_name(H)]: [command]")
+
+ var/obj/screen/alert/mind_control/mind_alert = H.throw_alert("mind_control", /obj/screen/alert/mind_control)
+ mind_alert.command = command
+
+ if(LAZYLEN(broadcasted_mobs))
+ active_mind_control = TRUE
+ addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration)
+
+ update_gland_hud()
+ return TRUE
+
+/obj/item/organ/heart/gland/mindshock/clear_mind_control()
+ if(!active_mind_control || !LAZYLEN(broadcasted_mobs))
+ return FALSE
+ for(var/M in broadcasted_mobs)
+ var/mob/living/carbon/human/H = M
+ to_chat(H, "You feel the compulsion fade, and you completely forget about your previous orders. ")
+ H.clear_alert("mind_control")
+ active_mind_control = FALSE
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/plasma.dm b/code/modules/antagonists/abductor/equipment/glands/plasma.dm
new file mode 100644
index 0000000000..4a30d99d44
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/plasma.dm
@@ -0,0 +1,22 @@
+/obj/item/organ/heart/gland/plasma
+ true_name = "effluvium sanguine-synonym emitter"
+ cooldown_low = 1200
+ cooldown_high = 1800
+ icon_state = "slime"
+ uses = -1
+ mind_control_uses = 1
+ mind_control_duration = 800
+
+/obj/item/organ/heart/gland/plasma/activate()
+ to_chat(owner, "You feel bloated. ")
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, owner, "A massive stomachache overcomes you. "), 150)
+ addtimer(CALLBACK(src, .proc/vomit_plasma), 200)
+
+/obj/item/organ/heart/gland/plasma/proc/vomit_plasma()
+ if(!owner)
+ return
+ owner.visible_message("[owner] vomits a cloud of plasma! ")
+ var/turf/open/T = get_turf(owner)
+ if(istype(T))
+ T.atmos_spawn_air("plasma=50;TEMP=[T20C]")
+ owner.vomit()
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm
new file mode 100644
index 0000000000..a5b8815437
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm
@@ -0,0 +1,47 @@
+/obj/item/organ/heart/gland/quantum
+ true_name = "quantic de-observation matrix"
+ cooldown_low = 150
+ cooldown_high = 150
+ uses = -1
+ icon_state = "emp"
+ mind_control_uses = 2
+ mind_control_duration = 1200
+ var/mob/living/carbon/entangled_mob
+
+/obj/item/organ/heart/gland/quantum/activate()
+ if(entangled_mob)
+ return
+ for(var/mob/M in oview(owner, 7))
+ if(!iscarbon(M))
+ continue
+ entangled_mob = M
+ addtimer(CALLBACK(src, .proc/quantum_swap), rand(600, 2400))
+ return
+
+/obj/item/organ/heart/gland/quantum/proc/quantum_swap()
+ if(QDELETED(entangled_mob))
+ entangled_mob = null
+ return
+ var/turf/T = get_turf(owner)
+ do_teleport(owner, get_turf(entangled_mob),null,TRUE,channel = TELEPORT_CHANNEL_QUANTUM)
+ do_teleport(entangled_mob, T,null,TRUE,channel = TELEPORT_CHANNEL_QUANTUM)
+ to_chat(owner, "You suddenly find yourself somewhere else! ")
+ to_chat(entangled_mob, "You suddenly find yourself somewhere else! ")
+ if(!active_mind_control) //Do not reset entangled mob while mind control is active
+ entangled_mob = null
+
+/obj/item/organ/heart/gland/quantum/mind_control(command, mob/living/user)
+ if(..())
+ if(entangled_mob && ishuman(entangled_mob) && (entangled_mob.stat < DEAD))
+ to_chat(entangled_mob, "You suddenly feel an irresistible compulsion to follow an order... ")
+ to_chat(entangled_mob, "[command] ")
+ var/obj/screen/alert/mind_control/mind_alert = entangled_mob.throw_alert("mind_control", /obj/screen/alert/mind_control)
+ mind_alert.command = command
+ message_admins("[key_name(owner)] mirrored an abductor mind control message to [key_name(entangled_mob)]: [command]")
+ update_gland_hud()
+
+/obj/item/organ/heart/gland/quantum/clear_mind_control()
+ if(active_mind_control)
+ to_chat(entangled_mob, "You feel the compulsion fade, and you completely forget about your previous orders. ")
+ entangled_mob.clear_alert("mind_control")
+ ..()
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/slime.dm b/code/modules/antagonists/abductor/equipment/glands/slime.dm
new file mode 100644
index 0000000000..53b8133528
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/slime.dm
@@ -0,0 +1,21 @@
+/obj/item/organ/heart/gland/slime
+ true_name = "gastric animation galvanizer"
+ cooldown_low = 600
+ cooldown_high = 1200
+ uses = -1
+ icon_state = "slime"
+ mind_control_uses = 1
+ mind_control_duration = 2400
+
+/obj/item/organ/heart/gland/slime/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
+ ..()
+ owner.faction |= "slime"
+ owner.grant_language(/datum/language/slime)
+
+/obj/item/organ/heart/gland/slime/activate()
+ to_chat(owner, "You feel nauseated! ")
+ owner.vomit(20)
+
+ var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey")
+ Slime.Friends = list(owner)
+ Slime.Leader = owner
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/spider.dm b/code/modules/antagonists/abductor/equipment/glands/spider.dm
new file mode 100644
index 0000000000..f0421b23b2
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/spider.dm
@@ -0,0 +1,14 @@
+/obj/item/organ/heart/gland/spiderman
+ true_name = "araneae cloister accelerator"
+ cooldown_low = 450
+ cooldown_high = 900
+ uses = -1
+ icon_state = "spider"
+ mind_control_uses = 2
+ mind_control_duration = 2400
+
+/obj/item/organ/heart/gland/spiderman/activate()
+ to_chat(owner, "You feel something crawling in your skin. ")
+ owner.faction |= "spiders"
+ var/obj/structure/spider/spiderling/S = new(owner.drop_location())
+ S.directive = "Protect your nest inside [owner.real_name]."
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/transform.dm b/code/modules/antagonists/abductor/equipment/glands/transform.dm
new file mode 100644
index 0000000000..05c4760d37
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/transform.dm
@@ -0,0 +1,15 @@
+/obj/item/organ/heart/gland/transform
+ true_name = "anthropmorphic transmorphosizer"
+ cooldown_low = 900
+ cooldown_high = 1800
+ uses = -1
+ human_only = TRUE
+ icon_state = "species"
+ mind_control_uses = 7
+ mind_control_duration = 300
+
+/obj/item/organ/heart/gland/transform/activate()
+ to_chat(owner, "You feel unlike yourself. ")
+ randomize_human(owner)
+ var/species = pick(list(/datum/species/human, /datum/species/lizard, /datum/species/insect, /datum/species/fly))
+ owner.set_species(species)
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/trauma.dm b/code/modules/antagonists/abductor/equipment/glands/trauma.dm
new file mode 100644
index 0000000000..b6280ec017
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/trauma.dm
@@ -0,0 +1,18 @@
+/obj/item/organ/heart/gland/trauma
+ true_name = "white matter randomiser"
+ cooldown_low = 800
+ cooldown_high = 1200
+ uses = 5
+ icon_state = "emp"
+ mind_control_uses = 3
+ mind_control_duration = 1800
+
+/obj/item/organ/heart/gland/trauma/activate()
+ to_chat(owner, "You feel a spike of pain in your head. ")
+ if(prob(33))
+ owner.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
+ else
+ if(prob(20))
+ owner.gain_trauma_type(BRAIN_TRAUMA_SEVERE, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
+ else
+ owner.gain_trauma_type(BRAIN_TRAUMA_MILD, rand(TRAUMA_RESILIENCE_BASIC, TRAUMA_RESILIENCE_LOBOTOMY))
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm
new file mode 100644
index 0000000000..d1ea135497
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm
@@ -0,0 +1,12 @@
+/obj/item/organ/heart/gland/ventcrawling
+ true_name = "pliant cartilage enabler"
+ cooldown_low = 1800
+ cooldown_high = 2400
+ uses = 1
+ icon_state = "vent"
+ mind_control_uses = 4
+ mind_control_duration = 1800
+
+/obj/item/organ/heart/gland/ventcrawling/activate()
+ to_chat(owner, "You feel very stretchy. ")
+ owner.ventcrawler = VENTCRAWLER_ALWAYS
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/equipment/glands/viral.dm b/code/modules/antagonists/abductor/equipment/glands/viral.dm
new file mode 100644
index 0000000000..4d4f865a7c
--- /dev/null
+++ b/code/modules/antagonists/abductor/equipment/glands/viral.dm
@@ -0,0 +1,34 @@
+/obj/item/organ/heart/gland/viral
+ true_name = "contamination incubator"
+ cooldown_low = 1800
+ cooldown_high = 2400
+ uses = 1
+ icon_state = "viral"
+ mind_control_uses = 1
+ mind_control_duration = 1800
+
+/obj/item/organ/heart/gland/viral/activate()
+ to_chat(owner, "You feel sick. ")
+ var/datum/disease/advance/A = random_virus(pick(2,6),6)
+ A.carrier = TRUE
+ owner.ForceContractDisease(A, FALSE, TRUE)
+
+/obj/item/organ/heart/gland/viral/proc/random_virus(max_symptoms, max_level)
+ if(max_symptoms > VIRUS_SYMPTOM_LIMIT)
+ max_symptoms = VIRUS_SYMPTOM_LIMIT
+ var/datum/disease/advance/A = new /datum/disease/advance()
+ var/list/datum/symptom/possible_symptoms = list()
+ for(var/symptom in subtypesof(/datum/symptom))
+ var/datum/symptom/S = symptom
+ if(initial(S.level) > max_level)
+ continue
+ if(initial(S.level) <= 0) //unobtainable symptoms
+ continue
+ possible_symptoms += S
+ for(var/i in 1 to max_symptoms)
+ var/datum/symptom/chosen_symptom = pick_n_take(possible_symptoms)
+ if(chosen_symptom)
+ var/datum/symptom/S = new chosen_symptom
+ A.symptoms += S
+ A.Refresh() //just in case someone already made and named the same disease
+ return A
\ No newline at end of file
diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm
index bcf02bda01..47294bc766 100644
--- a/code/modules/antagonists/abductor/machinery/console.dm
+++ b/code/modules/antagonists/abductor/machinery/console.dm
@@ -43,12 +43,15 @@
dat += "Collected Samples : [points] "
dat += "Gear Credits: [credits] "
dat += "Transfer data in exchange for supplies: "
- dat += "Advanced Baton "
- dat += "Agent Helmet "
- dat += "Agent Vest "
- dat += "Radio Silencer "
- dat += "Science Tool "
- dat += "Mental Interface Device "
+ dat += "Advanced Baton (2 Credits) "
+ dat += "Mental Interface Device (2 Credits) "
+ dat += "Reagent Synthesizer (2 Credits) "
+ dat += "Shrink Ray Blaster (2 Credits) "
+ dat += "Agent Helmet (1 Credit) "
+ dat += "Agent Vest (1 Credit) "
+ dat += "Radio Silencer (1 Credit) "
+ dat += "Science Tool (1 Credit) "
+ dat += "Superlingual Matrix (1 Credit) "
else
dat += "NO EXPERIMENT MACHINE DETECTED "
@@ -101,7 +104,7 @@
else if(href_list["dispense"])
switch(href_list["dispense"])
if("baton")
- Dispense(/obj/item/abductor_baton,cost=2)
+ Dispense(/obj/item/abductor/baton,cost=2)
if("helmet")
Dispense(/obj/item/clothing/head/helmet/abductor)
if("silencer")
@@ -112,6 +115,12 @@
Dispense(/obj/item/clothing/suit/armor/abductor/vest)
if("mind_device")
Dispense(/obj/item/abductor/mind_device,cost=2)
+ if("chem_dispenser")
+ Dispense(/obj/item/abductor_machine_beacon/chem_dispenser,cost=2)
+ if("tongue")
+ Dispense(/obj/item/organ/tongue/abductor)
+ if("shrink_ray")
+ Dispense(/obj/item/gun/energy/shrink_ray,cost=2)
updateUsrDialog()
/obj/machinery/abductor/console/proc/TeleporterRetrieve()
@@ -136,9 +145,9 @@
var/entry_name
if(remote)
- entry_name = show_radial_menu(usr, camera.eyeobj, disguises2)
+ entry_name = show_radial_menu(usr, camera.eyeobj, disguises2, tooltips = TRUE)
else
- entry_name = show_radial_menu(usr, src, disguises2)
+ entry_name = show_radial_menu(usr, src, disguises2, require_near = TRUE, tooltips = TRUE)
var/datum/icon_snapshot/chosen = disguises[entry_name]
if(chosen && vest && (remote || in_range(usr,src)))
@@ -236,4 +245,4 @@
new item(drop_location)
else
- say("Insufficent data!")
+ say("Insufficent data!")
\ No newline at end of file
diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm
index 42ca9e07e2..311f552467 100644
--- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm
+++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm
@@ -1,5 +1,7 @@
#define MARAUDER_SLOWDOWN_PERCENTAGE 0.40 //Below this percentage of health, marauders will become slower
#define MARAUDER_SHIELD_REGEN_TIME 200 //In deciseconds, how long it takes for shields to regenerate after breaking
+#define MARAUDER_SPACE_FULL_DAMAGE 6 //amount of damage per life tick while inside space
+#define MARAUDER_SPACE_NEAR_DAMAGE 4 //amount of damage taking per Life() tick from being next to space.
//Clockwork marauder: A well-rounded frontline construct. Only one can exist for every two human servants.
/mob/living/simple_animal/hostile/clockwork/marauder
@@ -20,12 +22,14 @@
movement_type = FLYING
a_intent = INTENT_HARM
loot = list(/obj/item/clockwork/component/geis_capacitor/fallen_armor)
- light_range = 2
- light_power = 1.1
+ light_range = 3
+ light_power = 1.7
playstyle_string = "You are a clockwork marauder, a well-rounded frontline construct of Ratvar. Although you have no \
unique abilities, you're a fearsome fighter in one-on-one combat, and your shield protects from projectiles! Obey the Servants and do as they \
- tell you. Your primary goal is to defend the Ark from destruction; they are your allies in this, and should be protected from harm. "
+ tell you. Your primary goal is to defend the Ark from destruction; they are your allies in this, and should be protected from harm. \
+ Be warned, however, that you will rapidly decay near the void of space. "
empower_string = "The Anima Bulwark's power flows through you! Your weapon will strike harder, your armor is sturdier, and your shield is more durable. "
+ var/default_speed = 0
var/max_shield_health = 3
var/shield_health = 3 //Amount of projectiles that can be deflected within
var/shield_health_regen = 0 //When world.time equals this, shield health will regenerate
@@ -36,10 +40,21 @@
/mob/living/simple_animal/hostile/clockwork/marauder/Life()
..()
+ var/turf/T = get_turf(src)
+ var/turf/open/space/S = isspaceturf(T)? T : null
+ var/less_space_damage
+ if(!istype(S))
+ var/turf/open/space/nearS = locate() in oview(1)
+ if(nearS)
+ S = nearS
+ less_space_damage = TRUE
+ if(S)
+ to_chat(src, "The void of space drains Ratvar's Light from you! You feel yourself rapidly decaying. It would be wise to get back inside! ")
+ adjustBruteLoss(less_space_damage? MARAUDER_SPACE_NEAR_DAMAGE : MARAUDER_SPACE_FULL_DAMAGE)
if(!GLOB.ratvar_awakens && health / maxHealth <= MARAUDER_SLOWDOWN_PERCENTAGE)
- speed = initial(speed) + 1 //Yes, this slows them down
+ speed = default_speed + 1 //Yes, this slows them down
else
- speed = initial(speed)
+ speed = default_speed
if(shield_health < max_shield_health && world.time >= shield_health_regen)
shield_health_regen = world.time + MARAUDER_SHIELD_REGEN_TIME
to_chat(src, "Your shield has recovered, [shield_health] blocks remaining! ")
diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
index 3d467350ff..0fd6c8a8dc 100644
--- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
+++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
@@ -87,9 +87,22 @@
object_path = /obj/item/clockwork/construct_chassis/clockwork_marauder
construct_type = /mob/living/simple_animal/hostile/clockwork/marauder
combat_construct = TRUE
- var/static/recent_marauders = 0
- var/static/time_since_last_marauder = 0
- var/static/scaled_recital_time = 0
+ var/static/last_marauder = 0
+
+/datum/clockwork_scripture/create_object/construct/clockwork_marauder/post_recital()
+ last_marauder = world.time
+ return ..()
+
+/datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital()
+ if(!is_reebe(invoker.z))
+ if(!CONFIG_GET(flag/allow_clockwork_marauder_on_station))
+ to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here. ")
+ return FALSE
+ if(world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)))
+ to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \
+ You must wait another [DisplayTimeText((last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)) - world.time, TRUE)]! ")
+ return FALSE
+ return ..()
/datum/clockwork_scripture/create_object/construct/clockwork_marauder/update_construct_limit()
var/human_servants = 0
@@ -98,27 +111,7 @@
var/mob/living/L = M.current
if(ishuman(L) && L.stat != DEAD)
human_servants++
- construct_limit = round(CLAMP((human_servants / 4), 1, 3)) - recent_marauders //1 per 4 human servants, maximum of 3, reduced by recent marauder creation
- if(recent_marauders)
- to_chat(invoker, "The Hierophant Network is depleted by a summoning in the last [DisplayTimeText(MARAUDER_SCRIPTURE_SCALING_THRESHOLD, TRUE)] - limiting the number of available marauders by [recent_marauders]! ")
-
-/datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital()
- channel_time = initial(channel_time)
- if(recent_marauders)
- scaled_recital_time = min(recent_marauders * MARAUDER_SCRIPTURE_SCALING_TIME, MARAUDER_SCRIPTURE_SCALING_MAX)
- to_chat(invoker, "The Hierophant Network is under strain from repeated summoning, making this scripture [DisplayTimeText(scaled_recital_time)] slower! ")
- channel_time += scaled_recital_time
- return TRUE
-
-/datum/clockwork_scripture/create_object/construct/clockwork_marauder/scripture_effects()
- . = ..()
- recent_marauders++
- addtimer(CALLBACK(GLOBAL_PROC, .proc/marauder_reset),MARAUDER_SCRIPTURE_SCALING_THRESHOLD)
-
-/proc/marauder_reset()
- var/datum/clockwork_scripture/create_object/construct/clockwork_marauder/CM = new()
- CM.recent_marauders--
- qdel(CM)
+ construct_limit = round(CLAMP((human_servants / 4), 1, 3)) //1 per 4 human servants, maximum of 3
//Summon Neovgre: Summon a very powerful combat mech that explodes when destroyed for massive damage.
/datum/clockwork_scripture/create_object/summon_arbiter
@@ -146,6 +139,6 @@
/datum/clockwork_scripture/create_object/summon_arbiter/check_special_requirements()
if(GLOB.neovgre_exists)
- to_chat(invoker, "\"You've already got one...\" ")
+ to_chat(invoker, "\"Only one of my weapons may exist in this temporal stream!\" ")
return FALSE
return ..()
diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm
index e086485a49..8e385f6674 100644
--- a/code/modules/antagonists/swarmer/swarmer_event.dm
+++ b/code/modules/antagonists/swarmer/swarmer_event.dm
@@ -1,8 +1,8 @@
/datum/round_event_control/spawn_swarmer
name = "Spawn Swarmer Shell"
typepath = /datum/round_event/spawn_swarmer
- weight = 7
- max_occurrences = 1 //Only once okay fam
+ weight = 0
+ max_occurrences = 0
earliest_start = 30 MINUTES
min_players = 15
diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
index 56954f8718..3cc3b48e50 100644
--- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
+++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
@@ -505,6 +505,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
if(!is_station_level(F.z))
continue
F.obj_flags |= EMAGGED
+ F.update_icon()
to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized. ")
owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0)
diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm
index 9b2532c71b..a88eb1e42a 100644
--- a/code/modules/antagonists/wizard/wizard.dm
+++ b/code/modules/antagonists/wizard/wizard.dm
@@ -177,6 +177,10 @@
owner.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null))
owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/mind_transfer(null))
to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.")
+ if(APPRENTICE_MARTIAL)
+ owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/touch/nuclear_fist(null))
+ H.put_in_hands(new /obj/item/book/granter/martial/plasma_fist(H))
+ to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned mystical martial abilities. You are also able to use the Nuclear Fist at will.")
/datum/antagonist/wizard/apprentice/create_objectives()
var/datum/objective/protect/new_objective = new /datum/objective/protect
diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm
index 38178a4339..19f3f58708 100644
--- a/code/modules/atmospherics/machinery/datum_pipeline.dm
+++ b/code/modules/atmospherics/machinery/datum_pipeline.dm
@@ -154,6 +154,11 @@
var/partial_heat_capacity = total_heat_capacity*(share_volume/air.volume)
var/target_temperature
var/target_heat_capacity
+ // first calculate heat from radiation. there's an implied "* 1 tick" here.
+ // 0.05 magic multiplicand is, first, 0.1 deciseconds; second, half of the radiation's going right back into the gas.
+ var/share_constant = STEFANBOLTZMANN*(share_volume**(2/3))*0.05
+ // Minimizing temp to 4 billion is mostly to prevent -infinity temperatures.
+ var/heat = share_constant*(min(air.temperature,4000000000)**4)
if(isopenturf(target))
@@ -165,8 +170,8 @@
if((modeled_location.heat_capacity>0) && (partial_heat_capacity>0))
var/delta_temperature = air.temperature - target_temperature
-
- var/heat = thermal_conductivity*delta_temperature* \
+ heat -= share_constant*(min(target_temperature,4000000000)**4)
+ heat += thermal_conductivity*delta_temperature* \
(partial_heat_capacity*target_heat_capacity/(partial_heat_capacity+target_heat_capacity))
air.temperature -= heat/total_heat_capacity
@@ -183,7 +188,8 @@
var/sharer_temperature_delta = 0
if((sharer_heat_capacity>0) && (partial_heat_capacity>0))
- var/heat = thermal_conductivity*delta_temperature* \
+ heat -= share_constant*(min(target_temperature,4000000000)**4)
+ heat += thermal_conductivity*delta_temperature* \
(partial_heat_capacity*sharer_heat_capacity/(partial_heat_capacity+sharer_heat_capacity))
self_temperature_delta = -heat/total_heat_capacity
@@ -199,10 +205,12 @@
if((target.heat_capacity>0) && (partial_heat_capacity>0))
var/delta_temperature = air.temperature - target.temperature
- var/heat = thermal_conductivity*delta_temperature* \
+ heat -= share_constant*(min(target.temperature,4000000000)**4)
+ heat += thermal_conductivity*delta_temperature* \
(partial_heat_capacity*target.heat_capacity/(partial_heat_capacity+target.heat_capacity))
air.temperature -= heat/total_heat_capacity
+ air.temperature = CLAMP(air.temperature,TCMB,INFINITY) // i have no idea why TCMB needs to be the min but i ain't changing it
update = TRUE
/datum/pipeline/proc/return_air()
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
index b087859a47..79aa957d97 100644
--- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
@@ -26,9 +26,7 @@
var/turf/T = loc
if(istype(T))
- if(islava(T))
- environment_temperature = 5000
- else if(T.blocks_air)
+ if(T.blocks_air)
environment_temperature = T.temperature
else
var/turf/open/OT = T
diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm
index 3ffe24ac1c..e124fea345 100644
--- a/code/modules/cargo/packs/organic.dm
+++ b/code/modules/cargo/packs/organic.dm
@@ -47,6 +47,26 @@
/obj/item/storage/fancy/donut_box)
crate_name = "candy crate"
+/datum/supply_pack/organic/exoticseeds
+ name = "Exotic Seeds Crate"
+ desc = "Any entrepreneuring botanist's dream. Contains twelve different seeds, including three replica-pod seeds and two mystery seeds!"
+ cost = 1500
+ contains = list(/obj/item/seeds/nettle,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/replicapod,
+ /obj/item/seeds/plump,
+ /obj/item/seeds/liberty,
+ /obj/item/seeds/amanita,
+ /obj/item/seeds/reishi,
+ /obj/item/seeds/banana,
+ /obj/item/seeds/bamboo,
+ /obj/item/seeds/eggplant/eggy,
+ /obj/item/seeds/random,
+ /obj/item/seeds/random)
+ crate_name = "exotic seeds crate"
+ crate_type = /obj/structure/closet/crate/hydroponics
+
/datum/supply_pack/organic/food
name = "Food Crate"
desc = "Get things cooking with this crate full of useful ingredients! Contains a two dozen eggs, three bananas, and two bags of flour and rice, two cartons of milk, soymilk, as well as salt and pepper shakers, an enzyme and sugar bottle, and three slabs of monkeymeat."
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index c476e5a310..284d442413 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -14,7 +14,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//doohickeys for savefiles
var/path
var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used
- var/max_save_slots = 8
+ var/max_save_slots = 16
//non-preference stuff
var/muted = 0
@@ -170,12 +170,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/prefered_security_department = SEC_DEPT_RANDOM
var/custom_species = null
- //Quirk list
- var/list/positive_quirks = list()
- var/list/negative_quirks = list()
- var/list/neutral_quirks = list()
+ //Quirk list
var/list/all_quirks = list()
- var/list/character_quirks = list()
//Job preferences 2.0 - indexed by job title , no key or value implies never
var/list/job_preferences = list()
@@ -221,7 +217,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
load_path(C.ckey)
unlock_content = C.IsByondMember()
if(unlock_content)
- max_save_slots = 16
+ max_save_slots = 24
var/loaded_preferences_successfully = load_preferences()
if(loaded_preferences_successfully)
if(load_character())
@@ -1200,7 +1196,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += " Done "
dat += " "
dat += "Current quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"] "
- dat += "[positive_quirks.len] / [MAX_QUIRKS] max positive quirks \
+ dat += "[GetPositiveQuirkCount()] / [MAX_QUIRKS] max positive quirks \
Quirk balance remaining: [GetQuirkBalance()] "
for(var/V in SSquirks.quirks)
var/datum/quirk/T = SSquirks.quirks[V]
@@ -1231,12 +1227,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
LOCKED: [lock_reason] "
else
if(has_quirk)
- dat += "[quirk_name] - [initial(T.desc)] \
- [has_quirk ? "Lose" : "Take"] ([quirk_cost] pts.) "
+ dat += "[has_quirk ? "Remove" : "Take"] ([quirk_cost] pts.) \
+ [quirk_name] - [initial(T.desc)] "
else
- dat += "[quirk_name] - [initial(T.desc)] \
- [has_quirk ? "Lose" : "Take"] ([quirk_cost] pts.) "
- dat += "Reset Traits "
+ dat += "[has_quirk ? "Remove" : "Take"] ([quirk_cost] pts.) \
+ [quirk_name] - [initial(T.desc)] "
+ dat += "Reset Quirks "
var/datum/browser/popup = new(user, "mob_occupation", "Quirk Preferences
", 900, 600) //no reason not to reuse the occupation window, as it's cleaner that way
popup.set_window_options("can_close=0")
@@ -1250,6 +1246,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
bal -= initial(T.value)
return bal
+/datum/preferences/proc/GetPositiveQuirkCount()
+ . = 0
+ for(var/q in all_quirks)
+ if(SSquirks.quirk_points[q] > 0)
+ .++
+
/datum/preferences/Topic(href, href_list, hsrc) //yeah, gotta do this I guess..
. = ..()
if(href_list["close"])
@@ -1315,43 +1317,30 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/quirk = href_list["trait"]
if(!SSquirks.quirks[quirk])
return
+ for(var/V in SSquirks.quirk_blacklist) //V is a list
+ var/list/L = V
+ for(var/Q in all_quirks)
+ if((quirk in L) && (Q in L) && !(Q == quirk)) //two quirks have lined up in the list of the list of quirks that conflict with each other, so return (see quirks.dm for more details)
+ to_chat(user, "[quirk] is incompatible with [Q]. ")
+ return
var/value = SSquirks.quirk_points[quirk]
- if(value == 0)
- if(quirk in neutral_quirks)
- neutral_quirks -= quirk
- all_quirks -= quirk
- else
- neutral_quirks += quirk
- all_quirks += quirk
+ var/balance = GetQuirkBalance()
+ if(quirk in all_quirks)
+ if(balance + value < 0)
+ to_chat(user, "Refunding this would cause you to go below your balance! ")
+ return
+ all_quirks -= quirk
else
- var/balance = GetQuirkBalance()
- if(quirk in positive_quirks)
- positive_quirks -= quirk
- all_quirks -= quirk
- else if(quirk in negative_quirks)
- if(balance + value < 0)
- to_chat(user, "Refunding this would cause you to go below your balance! ")
- return
- negative_quirks -= quirk
- all_quirks -= quirk
- else if(value > 0)
- if(positive_quirks.len >= MAX_QUIRKS)
- to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks! ")
- return
- if(balance - value < 0)
- to_chat(user, "You don't have enough balance to gain this quirk! ")
- return
- positive_quirks += quirk
- all_quirks += quirk
- else
- negative_quirks += quirk
- all_quirks += quirk
+ if(GetPositiveQuirkCount() >= MAX_QUIRKS)
+ to_chat(user, "You can't have more than [MAX_QUIRKS] positive quirks! ")
+ return
+ if(balance - value < 0)
+ to_chat(user, "You don't have enough balance to gain this quirk! ")
+ return
+ all_quirks += quirk
SetQuirks(user)
if("reset")
all_quirks = list()
- positive_quirks = list()
- negative_quirks = list()
- neutral_quirks = list()
SetQuirks(user)
else
SetQuirks(user)
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 29ea8f5821..f7f49a66af 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -112,7 +112,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(current_version < 24 && S["feature_exhibitionist"])
var/datum/quirk/exhibitionism/E
var/quirk_name = initial(E.name)
- neutral_quirks += quirk_name
all_quirks += quirk_name
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
@@ -386,9 +385,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
S["all_quirks"] >> all_quirks
- S["positive_quirks"] >> positive_quirks
- S["negative_quirks"] >> negative_quirks
- S["neutral_quirks"] >> neutral_quirks
//Citadel code
S["feature_genitals_use_skintone"] >> features["genitals_use_skintone"]
@@ -519,10 +515,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
all_quirks = SANITIZE_LIST(all_quirks)
- positive_quirks = SANITIZE_LIST(positive_quirks)
- negative_quirks = SANITIZE_LIST(negative_quirks)
- neutral_quirks = SANITIZE_LIST(neutral_quirks)
-
cit_character_pref_load(S)
return 1
@@ -598,9 +590,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
WRITE_FILE(S["all_quirks"] , all_quirks)
- WRITE_FILE(S["positive_quirks"] , positive_quirks)
- WRITE_FILE(S["negative_quirks"] , negative_quirks)
- WRITE_FILE(S["neutral_quirks"] , neutral_quirks)
cit_character_pref_save(S)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index fc82d038ce..127bf4c773 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -309,4 +309,4 @@
//The "pocket" for the M1 helmet so you can tuck things into the elastic band
/datum/component/storage/concrete/pockets/tiny/spacenam
- attack_hand_interact = TRUE //So you can actually see what you stuff in there
\ No newline at end of file
+ attack_hand_interact = TRUE //So you can actually see what you stuff in there
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index c6eac4ac56..0d22b16388 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -212,7 +212,7 @@
icon_state = "hardsuit0-white"
item_state = "ce_helm"
item_color = "white"
- armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 90, "fire" = 100, "acid" = 90)
+ armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 90)
heat_protection = HEAD
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
@@ -221,7 +221,7 @@
name = "advanced hardsuit"
desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish."
item_state = "ce_hardsuit"
- armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 90, "fire" = 100, "acid" = 90)
+ armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 95, "fire" = 100, "acid" = 90)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm
index 5b2291e59c..0d2f68f580 100644
--- a/code/modules/clothing/suits/reactive_armour.dm
+++ b/code/modules/clothing/suits/reactive_armour.dm
@@ -50,7 +50,8 @@
icon_state = "reactiveoff"
item_state = "reactiveoff"
add_fingerprint(user)
- return
+ if(user.get_item_by_slot(SLOT_WEAR_SUIT) == src)
+ user.update_inv_wear_suit()
/obj/item/clothing/suit/armor/reactive/emp_act(severity)
. = ..()
@@ -71,8 +72,9 @@
reactivearmor_cooldown_duration = 100
/obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ . = FALSE
if(!active)
- return 0
+ return
if(prob(hit_reaction_chance))
var/mob/living/carbon/human/H = owner
if(world.time < reactivearmor_cooldown)
@@ -95,12 +97,11 @@
var/turf/picked = pick(turfs)
if(!isturf(picked))
return
- H.forceMove(picked)
+ do_teleport(H, picked, no_effects = TRUE, channel = TELEPORT_CHANNEL_WORMHOLE)
radiation_pulse(old, rad_amount_before)
radiation_pulse(src, rad_amount)
reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration
- return 1
- return 0
+ return TRUE
//Fire
diff --git a/code/modules/crafting/recipes/recipes_clothing.dm b/code/modules/crafting/recipes/recipes_clothing.dm
index 4f06a44811..8cb35df9d1 100644
--- a/code/modules/crafting/recipes/recipes_clothing.dm
+++ b/code/modules/crafting/recipes/recipes_clothing.dm
@@ -163,26 +163,7 @@
name = "Cosmic Winter Coat"
result = /obj/item/clothing/suit/hooded/wintercoat/cosmic
reqs = list(/obj/item/clothing/suit/hooded/wintercoat = 1,
- /obj/item/clothing/suit/hooded/wintercoat/captain = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hop = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hos = 1,
- /obj/item/clothing/suit/hooded/wintercoat/rd = 1,
- /obj/item/clothing/suit/hooded/wintercoat/ce = 1,
- /obj/item/clothing/suit/hooded/wintercoat/cmo = 1,
- /obj/item/clothing/suit/hooded/wintercoat/qm = 1,
- /obj/item/clothing/suit/hooded/wintercoat/robotics = 1,
- /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 1,
- /obj/item/clothing/suit/hooded/wintercoat/engineering = 1,
- /obj/item/clothing/suit/hooded/wintercoat/science = 1,
- /obj/item/clothing/suit/hooded/wintercoat/genetics = 1,
- /obj/item/clothing/suit/hooded/wintercoat/chemistry = 1,
- /obj/item/clothing/suit/hooded/wintercoat/medical = 1,
- /obj/item/clothing/suit/hooded/wintercoat/viro = 1,
- /obj/item/clothing/suit/hooded/wintercoat/janitor = 1,
- /obj/item/clothing/suit/hooded/wintercoat/security = 1,
- /obj/item/clothing/suit/hooded/wintercoat/cargo = 1,
- /obj/item/clothing/suit/hooded/wintercoat/hydro = 1,
- /obj/item/clothing/suit/hooded/wintercoat/miner = 1)
+ /obj/item/bedsheet/cosmos = 1)
time = 60
always_availible = TRUE
category = CAT_CLOTHING
diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm
index ea573a2cf0..5d5ad59c49 100644
--- a/code/modules/food_and_drinks/food/snacks/meat.dm
+++ b/code/modules/food_and_drinks/food/snacks/meat.dm
@@ -132,6 +132,28 @@
tastes = list("brains" = 1, "meat" = 1)
foodtype = RAW | MEAT | TOXIC
+/obj/item/reagent_containers/food/snacks/carpmeat/aquatic
+ name = "fillet"
+ desc = "A fillet of one of the local water dwelling species."
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
+ icon_state = "ipcmeat"
+ desc = "Gross robot meat."
+ filling_color = "#000000"
+ tastes = list("metal" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian
+ desc = "Tastes like chicken, that's because it is!"
+ icon_state = "birdmeat"
+ filling_color = "#BF896B"
+ tastes = list("chicken" = 1)
+
+/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal
+ desc = "Tastes sweet... reminds you vaguely of chicken."
+ filling_color = "#6B8E23"
+ tastes = list("brains" = 1, "meat" = 1)
+
+
////////////////////////////////////// OTHER MEATS ////////////////////////////////////////////////////////
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index 3183b3b2b4..1bc2e4bb89 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -80,6 +80,9 @@ God bless America.
I.reagents.trans_to(src, I.reagents.total_volume)
qdel(I)
return
+ if(istype(I,/obj/item/clothing/head/mob_holder))
+ to_chat(user, "This does not fit in the fryer. ") // TODO: Deepfrying instakills mobs, spawns a whole deep-fried mob.
+ return
if(!reagents.has_reagent("cooking_oil"))
to_chat(user, "[src] has no cooking oil to fry with! ")
return
diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm
index 16992b3e96..b37e494233 100644
--- a/code/modules/hydroponics/grown/misc.dm
+++ b/code/modules/hydroponics/grown/misc.dm
@@ -141,8 +141,9 @@
endurance = 50
maturation = 3
yield = 4
- growthstages = 3
+ growthstages = 2
reagents_add = list("sugar" = 0.25)
+ mutatelist = list(/obj/item/seeds/bamboo)
/obj/item/reagent_containers/food/snacks/grown/sugarcane
seed = /obj/item/seeds/sugarcane
diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm
index ce0ca0220b..bac480bee6 100644
--- a/code/modules/hydroponics/grown/replicapod.dm
+++ b/code/modules/hydroponics/grown/replicapod.dm
@@ -41,7 +41,7 @@
blood_type = B.data["blood_type"]
features = B.data["features"]
factions = B.data["factions"]
- factions = B.data["quirks"]
+ quirks = B.data["quirks"]
contains_sample = TRUE
visible_message("The [src] is injected with a fresh blood sample. ")
else
diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm
index 9d7081ad65..982122e314 100644
--- a/code/modules/hydroponics/grown/towercap.dm
+++ b/code/modules/hydroponics/grown/towercap.dm
@@ -98,6 +98,49 @@
/obj/item/grown/log/steel/CheckAccepted(obj/item/I)
return FALSE
+/obj/item/seeds/bamboo
+ name = "pack of bamboo seeds"
+ desc = "A plant known for its flexible and resistant logs."
+ icon_state = "seed-bamboo"
+ species = "bamboo"
+ plantname = "Bamboo"
+ product = /obj/item/grown/log/bamboo
+ lifespan = 80
+ endurance = 70
+ maturation = 15
+ production = 2
+ yield = 5
+ potency = 50
+ growthstages = 2
+ growing_icon = 'icons/obj/hydroponics/growing.dmi'
+ icon_dead = "bamboo-dead"
+ genes = list(/datum/plant_gene/trait/repeated_harvest)
+
+/obj/item/grown/log/bamboo
+ seed = /obj/item/seeds/bamboo
+ name = "bamboo log"
+ desc = "A long and resistant bamboo log."
+ icon_state = "bamboo"
+ plank_type = /obj/item/stack/sheet/mineral/bamboo
+ plank_name = "bamboo sticks"
+
+/obj/item/grown/log/bamboo/CheckAccepted(obj/item/I)
+ return FALSE
+
+/obj/structure/punji_sticks
+ name = "punji sticks"
+ desc = "Don't step on this."
+ icon = 'icons/obj/hydroponics/equipment.dmi'
+ icon_state = "punji"
+ resistance_flags = FLAMMABLE
+ max_integrity = 30
+ density = FALSE
+ anchored = TRUE
+
+/obj/structure/punji_sticks/Initialize(mapload)
+ . = ..()
+ AddComponent(/datum/component/caltrop, 20, 30, 100, CALTROP_BYPASS_SHOES)
+
/////////BONFIRES//////////
/obj/structure/bonfire
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index f45b6bc517..5e0259d4b5 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -380,7 +380,11 @@
pestlevel = 0 // Reset
update_icon()
visible_message("The [oldPlantName] is overtaken by some [myseed.plantname]! ")
-
+ name = "hydroponics tray ([myseed.plantname])"
+ if(myseed.product)
+ desc = initial(myseed.product.desc)
+ else
+ desc = initial(desc)
/obj/machinery/hydroponics/proc/mutate(lifemut = 2, endmut = 5, productmut = 1, yieldmut = 2, potmut = 25, wrmut = 2, wcmut = 5, traitmut = 0) // Mutates the current seed
if(!myseed)
@@ -414,7 +418,11 @@
sleep(5) // Wait a while
update_icon()
visible_message("[oldPlantName] suddenly mutates into [myseed.plantname]! ")
-
+ name = "hydroponics tray ([myseed.plantname])"
+ if(myseed.product)
+ desc = initial(myseed.product.desc)
+ else
+ desc = initial(desc)
/obj/machinery/hydroponics/proc/mutateweed() // If the weeds gets the mutagent instead. Mind you, this pretty much destroys the old plant
if( weedlevel > 5 )
@@ -769,6 +777,15 @@
to_chat(user, "You plant [O]. ")
dead = 0
myseed = O
+ name = "hydroponics tray ([myseed.plantname])"
+ if(!myseed.productdesc) //we haven't changed our produce's description
+ if(myseed.product)
+ myseed.productdesc = initial(myseed.product.desc)
+ else if(myseed.desc)
+ myseed.productdesc = myseed.desc
+ else
+ myseed.productdesc = "A fascinating specimen."
+ desc = myseed.productdesc
age = 1
plant_health = myseed.endurance
lastcycle = world.time
@@ -834,6 +851,8 @@
harvest = FALSE //To make sure they can't just put in another seed and insta-harvest it
qdel(myseed)
myseed = null
+ name = initial(name)
+ desc = initial(desc)
weedlevel = 0 //Has a side effect of cleaning up those nasty weeds
update_icon()
@@ -866,6 +885,8 @@
qdel(myseed)
myseed = null
update_icon()
+ name = initial(name)
+ desc = initial(desc)
else
if(user)
examine(user)
@@ -883,6 +904,8 @@
qdel(myseed)
myseed = null
dead = 0
+ name = initial(name)
+ desc = initial(desc)
update_icon()
/// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.///
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 16863b0aa4..4132719389 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -8,7 +8,8 @@
w_class = WEIGHT_CLASS_TINY
resistance_flags = FLAMMABLE
var/plantname = "Plants" // Name of plant when planted.
- var/product // A type path. The thing that is created when the plant is harvested.
+ var/obj/item/product // A type path. The thing that is created when the plant is harvested.
+ var/productdesc
var/species = "" // Used to update icons. Should match the name in the sprites unless all icon_* are overridden.
var/growing_icon = 'icons/obj/hydroponics/growing.dmi' //the file that stores the sprites of the growing plant from this seed.
@@ -69,6 +70,10 @@
genes += new /datum/plant_gene/reagent(reag_id, reagents_add[reag_id])
reagents_from_genes() //quality coding
+/obj/item/seeds/examine(mob/user)
+ . = ..()
+ . += "Use a pen on it to rename it or change its description. "
+
/obj/item/seeds/proc/Copy()
var/obj/item/seeds/S = new type(null, 1)
// Copy all the stats
@@ -80,6 +85,10 @@
S.potency = potency
S.weed_rate = weed_rate
S.weed_chance = weed_chance
+ S.name = name
+ S.plantname = plantname
+ S.desc = desc
+ S.productdesc = productdesc
S.genes = list()
for(var/g in genes)
var/datum/plant_gene/G = g
@@ -157,11 +166,18 @@
var/product_name
while(t_amount < getYield())
var/obj/item/reagent_containers/food/snacks/grown/t_prod = new product(output_loc, src)
+ if(parent.myseed.plantname != initial(parent.myseed.plantname))
+ t_prod.name = lowertext(parent.myseed.plantname)
+ if(productdesc)
+ t_prod.desc = productdesc
+ t_prod.seed.name = parent.myseed.name
+ t_prod.seed.desc = parent.myseed.desc
+ t_prod.seed.plantname = parent.myseed.plantname
result.Add(t_prod) // User gets a consumable
if(!t_prod)
return
t_amount++
- product_name = t_prod.name
+ product_name = parent.myseed.plantname
if(getYield() >= 1)
SSblackbox.record_feedback("tally", "food_harvested", getYield(), product_name)
parent.update_tray(user)
@@ -331,14 +347,56 @@
to_chat(user, "[text] ")
return
+
+ if(istype(O, /obj/item/pen))
+ var/choice = input("What would you like to change?") in list("Plant Name", "Seed Description", "Product Description", "Cancel")
+ if(!user.canUseTopic(src, BE_CLOSE))
+ return
+ switch(choice)
+ if("Plant Name")
+ var/newplantname = reject_bad_text(stripped_input(user, "Write a new plant name:", name, plantname))
+ if(!user.canUseTopic(src, BE_CLOSE))
+ return
+ if (length(newplantname) > 20)
+ to_chat(user, "That name is too long!")
+ return
+ if(!newplantname)
+ to_chat(user, "That name is invalid.")
+ return
+ else
+ name = "[lowertext(newplantname)]"
+ plantname = newplantname
+ if("Seed Description")
+ var/newdesc = stripped_input(user, "Write a new description:", name, desc)
+ if(!user.canUseTopic(src, BE_CLOSE))
+ return
+ if (length(newdesc) > 180)
+ to_chat(user, "That description is too long!")
+ return
+ if(!newdesc)
+ to_chat(user, "That description is invalid.")
+ return
+ else
+ desc = newdesc
+ if("Product Description")
+ if(product && !productdesc)
+ productdesc = initial(product.desc)
+ var/newproductdesc = stripped_input(user, "Write a new description:", name, productdesc)
+ if(!user.canUseTopic(src, BE_CLOSE))
+ return
+ if (length(newproductdesc) > 180)
+ to_chat(user, "That description is too long!")
+ return
+ if(!newproductdesc)
+ to_chat(user, "That description is invalid.")
+ return
+ else
+ productdesc = newproductdesc
+ else
+ return
+
..() // Fallthrough to item/attackby() so that bags can pick seeds up
-
-
-
-
-
-
// Checks plants for broken tray icons. Use Advanced Proc Call to activate.
// Maybe some day it would be used as unit test.
/proc/check_plants_growth_stages_icons()
diff --git a/code/modules/keybindings/bindings_carbon.dm b/code/modules/keybindings/bindings_carbon.dm
index a982273c86..eef170cea9 100644
--- a/code/modules/keybindings/bindings_carbon.dm
+++ b/code/modules/keybindings/bindings_carbon.dm
@@ -3,18 +3,6 @@
if("R", "Southwest") // Southwest is End
toggle_throw_mode()
return
- if("1")
- a_intent_change("help")
- return
- if("2")
- a_intent_change("disarm")
- return
- if("3")
- a_intent_change("grab")
- return
- if("4")
- a_intent_change("harm")
- return
if("C")
toggle_combat_mode()
return
diff --git a/code/modules/keybindings/bindings_living.dm b/code/modules/keybindings/bindings_living.dm
index 241bc15b60..8e9c787b6b 100644
--- a/code/modules/keybindings/bindings_living.dm
+++ b/code/modules/keybindings/bindings_living.dm
@@ -3,5 +3,22 @@
if("B")
resist()
return
+ if("1")
+ if(possible_a_intents)
+ a_intent_change(INTENT_HELP)
+ return
+ if("2")
+ if(possible_a_intents)
+ a_intent_change(INTENT_DISARM)
+ return
+ if("3")
+ if(possible_a_intents)
+ a_intent_change(INTENT_GRAB)
+ return
+ if("4")
+ if(possible_a_intents)
+ a_intent_change(INTENT_HARM)
+ return
+
return ..()
\ No newline at end of file
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index ebdf8d4391..2b9b01dc18 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -266,7 +266,7 @@ Works together with spawning an observer, noted above.
/mob/proc/ghostize(can_reenter_corpse = TRUE, special = FALSE, penalize = FALSE)
penalize = suiciding || penalize // suicide squad.
- if(!key || cmptext(copytext(key,1,2),"@") || (!special && SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, can_reenter_corpse) & COMPONENT_BLOCK_GHOSTING))
+ if(!key || cmptext(copytext(key,1,2),"@") || (SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, can_reenter_corpse, special, penalize) & COMPONENT_BLOCK_GHOSTING))
return //mob has no key, is an aghost or some component hijacked.
stop_sound_channel(CHANNEL_HEARTBEAT) //Stop heartbeat sounds because You Are A Ghost Now
var/mob/dead/observer/ghost = new(src) // Transfer safety to observer spawning proc.
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 3a9495a5cb..6ecedba3be 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -159,23 +159,34 @@
return
//END OF CIT CHANGES
- var/atom/movable/thrown_thing
var/obj/item/I = src.get_active_held_item()
- if(!I)
- if(pulling && isliving(pulling) && grab_state >= GRAB_AGGRESSIVE)
- var/mob/living/throwable_mob = pulling
- if(!throwable_mob.buckled)
- thrown_thing = throwable_mob
+ var/atom/movable/thrown_thing
+ var/mob/living/throwable_mob
+
+ if(istype(I, /obj/item/clothing/head/mob_holder))
+ var/obj/item/clothing/head/mob_holder/holder = I
+ if(holder.held_mob)
+ throwable_mob = holder.held_mob
+ holder.release()
+
+ if(!I || throwable_mob)
+ if(!throwable_mob && pulling && isliving(pulling) && grab_state >= GRAB_AGGRESSIVE)
+ throwable_mob = pulling
+
+ if(throwable_mob && !throwable_mob.buckled)
+ thrown_thing = throwable_mob
+ if(pulling)
stop_pulling()
- if(HAS_TRAIT(src, TRAIT_PACIFISM))
- to_chat(src, "You gently let go of [throwable_mob]. ")
- return
- adjustStaminaLossBuffered(25)//CIT CHANGE - throwing an entire person shall be very tiring
- var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
- var/turf/end_T = get_turf(target)
- if(start_T && end_T)
- log_combat(src, throwable_mob, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]")
+ if(HAS_TRAIT(src, TRAIT_PACIFISM))
+ to_chat(src, "You gently let go of [throwable_mob]. ")
+ return
+
+ adjustStaminaLossBuffered(25)//CIT CHANGE - throwing an entire person shall be very tiring
+ var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors
+ var/turf/end_T = get_turf(target)
+ if(start_T && end_T)
+ log_combat(src, throwable_mob, "thrown", addition="grab from tile in [AREACOORD(start_T)] towards tile at [AREACOORD(end_T)]")
else if(!CHECK_BITFIELD(I.item_flags, ABSTRACT) && !HAS_TRAIT(I, TRAIT_NODROP))
thrown_thing = I
@@ -195,6 +206,8 @@
newtonian_move(get_dir(target, src))
thrown_thing.throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed, src)
+
+
/mob/living/carbon/restrained(ignore_grab)
. = (handcuffed || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE))
@@ -585,6 +598,9 @@
sight |= E.sight_flags
if(!isnull(E.lighting_alpha))
lighting_alpha = E.lighting_alpha
+ if(HAS_TRAIT(src, TRAIT_NIGHT_VISION))
+ lighting_alpha = min(LIGHTING_PLANE_ALPHA_NV_TRAIT, lighting_alpha)
+ see_in_dark = max(NIGHT_VISION_DARKSIGHT_RANGE, see_in_dark)
if(client.eye && client.eye != src)
var/atom/A = client.eye
@@ -960,4 +976,4 @@
/mob/living/carbon/transfer_ckey(mob/new_mob, send_signal = TRUE)
if(combatmode)
toggle_combat_mode(TRUE, TRUE)
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index c5aeb2c1c7..9dcc5276e5 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -316,7 +316,18 @@
else
return
-
+
+ else if(check_zone(M.zone_selected) == "r_arm" || check_zone(M.zone_selected) == "l_arm")
+ M.visible_message( \
+ "[M] shakes [src]'s hand. ", \
+ "You shake [src]'s hand. ", )
+
+ else if(check_zone(M.zone_selected) == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon
+ M.visible_message( \
+ "[M] boops [src]'s nose. ", \
+ "You boop [src] on the nose. ", )
+ playsound(src, 'sound/items/Nose_boop.ogg', 50, 0)
+
else
M.visible_message("[M] hugs [src] to make [p_them()] feel better! ", \
"You hug [src] to make [p_them()] feel better! ")
diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm
index 9e87e7626d..34c268578c 100644
--- a/code/modules/mob/living/carbon/examine.dm
+++ b/code/modules/mob/living/carbon/examine.dm
@@ -15,7 +15,11 @@
if (wear_mask)
. += "[t_He] [t_is] wearing [wear_mask.get_examine_string(user)] on [t_his] face."
if (wear_neck)
- . += "[t_He] [t_is] wearing [wear_neck.get_examine_string(user)] around [t_his] neck."
+ . += "[t_He] [t_is] wearing [wear_neck.get_examine_string(user)] around [t_his] neck.\n"
+ if(can_be_held)
+ . += "[t_He] looks small enough to be picked up with Alt+Click !\n"
+
+
for(var/obj/item/I in held_items)
if(!(I.item_flags & ABSTRACT))
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index a18d249eef..310ab6beeb 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -250,7 +250,7 @@
if(bleedsuppress)
msg += "[t_He] [t_is] bandaged with something.\n"
else if(bleed_rate)
- if(reagents.has_reagent("heparin"))
+ if(bleed_rate >= 8) //8 is the rate at which heparin causes you to bleed
msg += "[t_He] [t_is] bleeding uncontrollably! \n"
else
msg += "[t_He] [t_is] bleeding! \n"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 9431328352..0007233975 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -856,6 +856,7 @@
.["Make slime"] = "?_src_=vars;[HrefToken()];makeslime=[REF(src)]"
.["Toggle Purrbation"] = "?_src_=vars;[HrefToken()];purrbation=[REF(src)]"
.["Copy outfit"] = "?_src_=vars;[HrefToken()];copyoutfit=[REF(src)]"
+ .["Add/Remove Quirks"] = "?_src_=vars;[HrefToken()];modquirks=[REF(src)]"
/mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user)
if(pulling == target && grab_state >= GRAB_AGGRESSIVE && stat == CONSCIOUS)
@@ -865,8 +866,9 @@
return
//If you dragged them to you and you're aggressively grabbing try to fireman carry them
else if(user != target)
- fireman_carry(target)
- return
+ if(user.a_intent == INTENT_GRAB)
+ fireman_carry(target)
+ return
. = ..()
//src is the user that will be carrying, target is the mob to be carried
@@ -888,7 +890,10 @@
return
visible_message("[src] fails to fireman carry [target]!")
else
- to_chat(src, "You can't fireman carry [target] while they're standing! ")
+ if (ishuman(target))
+ to_chat(src, "You can't fireman carry [target] while they're standing! ")
+ else
+ to_chat(src, "You can't seem to fireman carry that kind of species. ")
/mob/living/carbon/human/proc/piggyback(mob/living/carbon/target)
if(can_piggyback(target))
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index 8071d632ea..63d02af31a 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -119,16 +119,12 @@
. = ..()
if(G.trigger_guard == TRIGGER_GUARD_NORMAL)
- if(src.dna.check_mutation(HULK))
+ if(HAS_TRAIT(src, TRAIT_CHUNKYFINGERS))
to_chat(src, "Your meaty finger is much too large for the trigger guard! ")
return FALSE
if(HAS_TRAIT(src, TRAIT_NOGUNS))
to_chat(src, "Your fingers don't fit in the trigger guard! ")
return FALSE
- if(mind)
- if(mind.martial_art && mind.martial_art.no_guns) //great dishonor to famiry
- to_chat(src, "Use of ranged weaponry would bring dishonor to the clan. ")
- return FALSE
return .
/*
diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm
index ffd129ebf7..6e54e320ff 100644
--- a/code/modules/mob/living/carbon/human/species_types/abductors.dm
+++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm
@@ -4,7 +4,7 @@
say_mod = "gibbers"
sexes = FALSE
species_traits = list(NOBLOOD,NOEYES,NOGENITALS,NOAROUSAL)
- inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NOGUNS,TRAIT_NOHUNGER,TRAIT_NOBREATH)
+ inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_CHUNKYFINGERS,TRAIT_NOHUNGER,TRAIT_NOBREATH)
mutanttongue = /obj/item/organ/tongue/abductor
/datum/species/abductor/on_species_gain(mob/living/carbon/C, datum/species/old_species)
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index 48ce55a052..3d6c5092e1 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -3,7 +3,7 @@
name = "Golem"
id = "iron golem"
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR,NOGENITALS,NOAROUSAL)
- inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
+ inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID)
mutant_organs = list(/obj/item/organ/adamantine_resonator)
speedmod = 2
@@ -88,7 +88,7 @@
fixed_mut_color = "a3d"
meat = /obj/item/stack/ore/plasma
//Can burn and takes damage from heat
- inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) //no RESISTHEAT, NOFIRE
+ inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) //no RESISTHEAT, NOFIRE
info_text = "As a Plasma Golem , you burn easily. Be careful, if you get hot enough while burning, you'll blow up!"
heatmod = 0 //fine until they blow up
prefix = "Plasma"
@@ -266,7 +266,7 @@
fixed_mut_color = "9E704B"
meat = /obj/item/stack/sheet/mineral/wood
//Can burn and take damage from heat
- inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
+ inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
armor = 30
burnmod = 1.25
heatmod = 1.5
@@ -693,7 +693,7 @@
info_text = "As a Cloth Golem , you are able to reform yourself after death, provided your remains aren't burned or destroyed. You are, of course, very flammable. \
Being made of cloth, your body is magic resistant and faster than that of other golems, but weaker and less resilient."
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOGENITALS,NOAROUSAL) //no mutcolors, and can burn
- inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOGUNS)
+ inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_CHUNKYFINGERS)
inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID)
armor = 15 //feels no pain, but not too resistant
burnmod = 2 // don't get burned
@@ -893,7 +893,7 @@
special_names = list("Box")
info_text = "As a Cardboard Golem , you aren't very strong, but you are a bit quicker and can easily create more brethren by using cardboard on yourself."
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOGENITALS,NOAROUSAL,MUTCOLORS)
- inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
+ inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
fixed_mut_color = "ffffff"
limbs_id = "c_golem" //special sprites
attack_verb = "bash"
@@ -936,7 +936,7 @@
name = "Leather Golem"
id = "leather golem"
special_names = list("Face", "Man", "Belt") //Ah dude 4 strength 4 stam leather belt AHHH
- inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER, TRAIT_STRONG_GRABBER)
+ inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER, TRAIT_STRONG_GRABBER)
prefix = "Leather"
fixed_mut_color = "624a2e"
info_text = "As a Leather Golem , you are flammable, but you can grab things with incredible ease, allowing all your grabs to start at a strong level."
@@ -952,7 +952,7 @@
special_names = list("Boll","Weave")
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES)
fixed_mut_color = null
- inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
+ inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
info_text = "As a Durathread Golem , your strikes will cause those your targets to start choking, but your woven body won't withstand fire as well."
/datum/species/golem/durathread/spec_unarmedattacked(mob/living/carbon/human/user, mob/living/carbon/human/target)
@@ -974,7 +974,7 @@
fixed_mut_color = "ffffff"
attack_verb = "rattl"
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOGENITALS,NOAROUSAL,MUTCOLORS)
- inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_FAKEDEATH,TRAIT_CALCIUM_HEALER)
+ inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_FAKEDEATH,TRAIT_CALCIUM_HEALER)
info_text = "As a Bone Golem , You have a powerful spell that lets you chill your enemies with fear, and milk heals you! Just make sure to watch our for bone-hurting juice."
var/datum/action/innate/bonechill/bonechill
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index 069317d4a8..5f91e3ae66 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -116,6 +116,33 @@
return
to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal! ")
+/datum/species/jelly/spec_death(gibbed, mob/living/carbon/human/H)
+ if(H)
+ stop_wagging_tail(H)
+
+/datum/species/jelly/spec_stun(mob/living/carbon/human/H,amount)
+ if(H)
+ stop_wagging_tail(H)
+ . = ..()
+
+/datum/species/jelly/can_wag_tail(mob/living/carbon/human/H)
+ return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts)
+
+/datum/species/jelly/is_wagging_tail(mob/living/carbon/human/H)
+ return ("mam_waggingtail" in mutant_bodyparts)
+
+/datum/species/jelly/start_wagging_tail(mob/living/carbon/human/H)
+ if("mam_tail" in mutant_bodyparts)
+ mutant_bodyparts -= "mam_tail"
+ mutant_bodyparts |= "mam_waggingtail"
+ H.update_body()
+
+/datum/species/jelly/stop_wagging_tail(mob/living/carbon/human/H)
+ if("mam_waggingtail" in mutant_bodyparts)
+ mutant_bodyparts -= "mam_waggingtail"
+ mutant_bodyparts |= "mam_tail"
+ H.update_body()
+
////////////////////////////////////////////////////////SLIMEPEOPLE///////////////////////////////////////////////////////////////////
//Slime people are able to split like slimes, retaining a single mind that can swap between bodies at will, even after death.
@@ -412,34 +439,6 @@
heatmod = 1
burnmod = 1
-/datum/species/jelly/roundstartslime/spec_death(gibbed, mob/living/carbon/human/H)
- if(H)
- stop_wagging_tail(H)
-
-/datum/species/jelly/roundstartslime/spec_stun(mob/living/carbon/human/H,amount)
- if(H)
- stop_wagging_tail(H)
- . = ..()
-
-/datum/species/jelly/roundstartslime/can_wag_tail(mob/living/carbon/human/H)
- return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts)
-
-/datum/species/jelly/roundstartslime/is_wagging_tail(mob/living/carbon/human/H)
- return ("mam_waggingtail" in mutant_bodyparts)
-
-/datum/species/jelly/roundstartslime/start_wagging_tail(mob/living/carbon/human/H)
- if("mam_tail" in mutant_bodyparts)
- mutant_bodyparts -= "mam_tail"
- mutant_bodyparts |= "mam_waggingtail"
- H.update_body()
-
-/datum/species/jelly/roundstartslime/stop_wagging_tail(mob/living/carbon/human/H)
- if("mam_waggingtail" in mutant_bodyparts)
- mutant_bodyparts -= "mam_waggingtail"
- mutant_bodyparts |= "mam_tail"
- H.update_body()
-
-
/datum/action/innate/slime_change
name = "Alter Form"
check_flags = AB_CHECK_CONSCIOUS
@@ -840,19 +839,16 @@
link_minds = new(src)
link_minds.Grant(C)
slimelink_owner = C
- link_mob(C)
+ link_mob(C, TRUE)
-/datum/species/jelly/stargazer/proc/link_mob(mob/living/M)
- if(QDELETED(M) || M.stat == DEAD)
+/datum/species/jelly/stargazer/proc/link_mob(mob/living/M, selflink = FALSE)
+ if(QDELETED(M) || (M in linked_mobs))
return FALSE
- if(HAS_TRAIT(M, TRAIT_MINDSHIELD)) //mindshield implant, no dice
- return FALSE
- if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
- return FALSE
- if(M in linked_mobs)
+ if(!selflink && (M.stat == DEAD || HAS_TRAIT(M, TRAIT_MINDSHIELD) || M.anti_magic_check(FALSE, FALSE, TRUE, 0)))
return FALSE
linked_mobs.Add(M)
- to_chat(M, "You are now connected to [slimelink_owner.real_name]'s Slime Link. ")
+ if(!selflink)
+ to_chat(M, "You are now connected to [slimelink_owner.real_name]'s Slime Link. ")
var/datum/action/innate/linked_speech/action = new(src)
linked_actions.Add(action)
action.Grant(M)
diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
index c0973102d6..9317a51050 100644
--- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
@@ -94,7 +94,7 @@
id = "ashlizard"
limbs_id = "lizard"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE)
- inherent_traits = list(TRAIT_NOGUNS)
+ inherent_traits = list(TRAIT_CHUNKYFINGERS)
mutantlungs = /obj/item/organ/lungs/ashwalker
burnmod = 0.9
brutemod = 0.9
diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
index 90f63467a0..3247c96632 100644
--- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
@@ -39,7 +39,7 @@
blacklisted = TRUE
no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE)
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYES,NOGENITALS,NOAROUSAL)
- inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
+ inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
mutanteyes = /obj/item/organ/eyes/night_vision/nightmare
mutant_organs = list(/obj/item/organ/heart/nightmare)
mutant_brain = /obj/item/organ/brain/nightmare
diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm
index 25bc243f07..92ad87f6b5 100644
--- a/code/modules/mob/living/carbon/monkey/combat.dm
+++ b/code/modules/mob/living/carbon/monkey/combat.dm
@@ -132,6 +132,10 @@
pickupTarget = null
pickupTimer = 0
else if(ismob(pickupTarget.loc)) // in someones hand
+ if(istype(pickupTarget, /obj/item/clothing/head/mob_holder/))
+ var/obj/item/clothing/head/mob_holder/h = pickupTarget
+ if(h && h.held_mob==src)
+ return//dont let them pickpocket themselves
var/mob/M = pickupTarget.loc
if(!pickpocketing)
pickpocketing = TRUE
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 025c1a2f75..fe041dd0a6 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -15,6 +15,7 @@
bodyparts = list(/obj/item/bodypart/chest/monkey, /obj/item/bodypart/head/monkey, /obj/item/bodypart/l_arm/monkey,
/obj/item/bodypart/r_arm/monkey, /obj/item/bodypart/r_leg/monkey, /obj/item/bodypart/l_leg/monkey)
hud_type = /datum/hud/monkey
+ can_be_held = "monkey"
/mob/living/carbon/monkey/Initialize(mapload, cubespawned=FALSE, mob/spawner)
verbs += /mob/living/proc/mob_sleep
@@ -45,6 +46,10 @@
SSmobs.cubemonkeys -= src
return ..()
+/mob/living/carbon/monkey/generate_mob_holder()
+ var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, "monkey", 'icons/mob/animals_held.dmi', 'icons/mob/animals_held_lh.dmi', 'icons/mob/animals_held_rh.dmi', TRUE)
+ return holder
+
/mob/living/carbon/monkey/create_internal_organs()
internal_organs += new /obj/item/organ/appendix
internal_organs += new /obj/item/organ/lungs
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 0ff418d628..8345ef916d 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -62,12 +62,8 @@
unset_machine()
timeofdeath = world.time
tod = STATION_TIME_TIMESTAMP("hh:mm:ss")
- var/turf/T = get_turf(src)
for(var/obj/item/I in contents)
I.on_mob_death(src, gibbed)
- if(mind && mind.name && mind.active && !istype(T.loc, /area/ctf))
- var/rendered = "[mind.name] has died at [get_area_name(T)] . "
- deadchat_broadcast(rendered, follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
if(mind)
mind.store_memory("Time of death: [tod]", 0)
GLOB.alive_mob_list -= src
@@ -89,7 +85,12 @@
addtimer(CALLBACK(src, .proc/med_hud_set_status), (DEFIB_TIME_LIMIT * 10) + 1)
stop_pulling()
- SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed)
+ var/signal = SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed)
+
+ var/turf/T = get_turf(src)
+ if(mind && mind.name && mind.active && !istype(T.loc, /area/ctf) && !(signal & COMPONENT_BLOCK_DEATH_BROADCAST))
+ var/rendered = "[mind.name] has died at [get_area_name(T)] . "
+ deadchat_broadcast(rendered, follow_target = src, turf_target = T, message_type=DEADCHAT_DEATHRATTLE)
if (client)
client.move_delay = initial(client.move_delay)
diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm
index 420c59b22d..e57e5e2936 100644
--- a/code/modules/mob/living/inhand_holder.dm
+++ b/code/modules/mob/living/inhand_holder.dm
@@ -5,80 +5,126 @@
desc = "Yell at coderbrush."
icon = null
icon_state = ""
- item_flags = DROPDEL
var/mob/living/held_mob
- var/can_head = TRUE
- var/destroying = FALSE
+ var/can_head = FALSE
+ w_class = WEIGHT_CLASS_BULKY
-/obj/item/clothing/head/mob_holder/Initialize(mapload, mob/living/M, _worn_state, head_icon, lh_icon, rh_icon, _can_head = TRUE)
+/obj/item/clothing/head/mob_holder/Initialize(mapload, mob/living/M, _worn_state, alt_worn, lh_icon, rh_icon, _can_head_override = FALSE)
. = ..()
- can_head = _can_head
- if(head_icon)
- alternate_worn_icon = head_icon
+
+ if(M)
+ M.setDir(SOUTH)
+ held_mob = M
+ M.forceMove(src)
+ appearance = M.appearance
+ name = M.name
+ desc = M.desc
+
+ if(_can_head_override)
+ can_head = _can_head_override
+ if(alt_worn)
+ alternate_worn_icon = alt_worn
if(_worn_state)
item_state = _worn_state
+ icon_state = _worn_state
if(lh_icon)
lefthand_file = lh_icon
if(rh_icon)
righthand_file = rh_icon
if(!can_head)
slot_flags = NONE
- deposit(M)
/obj/item/clothing/head/mob_holder/Destroy()
- destroying = TRUE
if(held_mob)
- release(FALSE)
+ release()
return ..()
-/obj/item/clothing/head/mob_holder/proc/deposit(mob/living/L)
- if(!istype(L))
- return FALSE
- L.setDir(SOUTH)
- update_visuals(L)
- held_mob = L
- L.forceMove(src)
- name = L.name
- desc = L.desc
- return TRUE
+/obj/item/clothing/head/mob_holder/dropped()
+ ..()
+ if(isturf(loc))//don't release on soft-drops
+ release()
-/obj/item/clothing/head/mob_holder/proc/update_visuals(mob/living/L)
- appearance = L.appearance
-
-/obj/item/clothing/head/mob_holder/proc/release(del_on_release = TRUE)
- if(!held_mob)
- if(del_on_release && !destroying)
- qdel(src)
- return FALSE
+/obj/item/clothing/head/mob_holder/proc/release()
if(isliving(loc))
var/mob/living/L = loc
- to_chat(L, "[held_mob] wriggles free! ")
L.dropItemToGround(src)
- held_mob.forceMove(get_turf(held_mob))
- held_mob.reset_perspective()
- held_mob.setDir(SOUTH)
- held_mob.visible_message("[held_mob] uncurls! ")
- held_mob = null
- if(del_on_release && !destroying)
- qdel(src)
- return TRUE
+ if(held_mob)
+ var/mob/living/m = held_mob
+ m.forceMove(get_turf(m))
+ m.reset_perspective()
+ m.setDir(SOUTH)
+ held_mob = null
+ qdel(src)
/obj/item/clothing/head/mob_holder/relaymove(mob/user)
- release()
+ return
/obj/item/clothing/head/mob_holder/container_resist()
+ if(isliving(loc))
+ var/mob/living/L = loc
+ visible_message("[src] escapes [L]! ")
release()
-/obj/item/clothing/head/mob_holder/drone/deposit(mob/living/L)
- . = ..()
- if(!isdrone(L))
- qdel(src)
- name = "drone (hiding)"
- desc = "This drone is scared and has curled up into a ball!"
+/mob/living/proc/mob_pickup(mob/living/L)
+ var/obj/item/clothing/head/mob_holder/holder = generate_mob_holder()
+ if(!holder)
+ return
+ drop_all_held_items()
+ L.put_in_hands(holder)
+ return
-/obj/item/clothing/head/mob_holder/drone/update_visuals(mob/living/L)
- var/mob/living/simple_animal/drone/D = L
- if(!D)
- return ..()
- icon = 'icons/mob/drone.dmi'
- icon_state = "[D.visualAppearence]_hat"
+/mob/living/proc/mob_try_pickup(mob/living/user)
+ if(!ishuman(user) || !src.Adjacent(user) || user.incapacitated() || !can_be_held)
+ return FALSE
+ if(user.get_active_held_item())
+ to_chat(user, "Your hands are full! ")
+ return FALSE
+ if(buckled)
+ to_chat(user, "[src] is buckled to something! ")
+ return FALSE
+ if(src == user)
+ to_chat(user, "You can't pick yourself up. ")
+ return FALSE
+ visible_message("[user] starts picking up [src]. ", \
+ "[user] starts picking you up! ")
+ if(!do_after(user, 20, target = src))
+ return FALSE
+
+ if(user.get_active_held_item()||buckled)
+ return FALSE
+
+ visible_message("[user] picks up [src]! ", \
+ "[user] picks you up! ")
+ to_chat(user, "You pick [src] up. ")
+ mob_pickup(user)
+ return TRUE
+
+/mob/living/AltClick(mob/user)
+ . = ..()
+ if(mob_try_pickup(user))
+ return TRUE
+
+
+// I didn't define these for mobs, because you shouldn't be able to breathe out of mobs and using their loc isn't always the logical thing to do.
+
+/obj/item/clothing/head/mob_holder/assume_air(datum/gas_mixture/env)
+ var/atom/location = loc
+ if(!loc)
+ return //null
+ var/turf/T = get_turf(loc)
+ while(location != T)
+ location = location.loc
+ if(ismob(location))
+ return location.loc.assume_air(env)
+ return loc.assume_air(env)
+
+/obj/item/clothing/head/mob_holder/remove_air(amount)
+ var/atom/location = loc
+ if(!loc)
+ return //null
+ var/turf/T = get_turf(loc)
+ while(location != T)
+ location = location.loc
+ if(ismob(location))
+ return location.loc.remove_air(amount)
+ return loc.remove_air(amount)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 5299618177..78542ab052 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -40,6 +40,11 @@
QDEL_LIST(diseases)
return ..()
+
+/mob/living/proc/generate_mob_holder()
+ var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, (istext(can_be_held) ? can_be_held : ""), 'icons/mob/animals_held.dmi', 'icons/mob/animals_held_lh.dmi', 'icons/mob/animals_held_rh.dmi')
+ return holder
+
/mob/living/onZImpact(turf/T, levels)
if(!isgroundlessturf(T))
ZImpactDamage(T, levels)
@@ -50,6 +55,7 @@
adjustBruteLoss((levels * 5) ** 1.5)
Knockdown(levels * 50)
+
/mob/living/proc/OpenCraftingMenu()
return
@@ -1153,24 +1159,6 @@
if(can_be_held)
mob_try_pickup(over)
-/mob/living/proc/mob_pickup(mob/living/L)
- return
-
-/mob/living/proc/mob_try_pickup(mob/living/user)
- if(!ishuman(user))
- return
- if(user.get_active_held_item())
- to_chat(user, "Your hands are full! ")
- return FALSE
- if(buckled)
- to_chat(user, "[src] is buckled to something! ")
- return FALSE
- user.visible_message("[user] starts trying to scoop up [src]! ")
- if(!do_after(user, 20, target = src))
- return FALSE
- mob_pickup(user)
- return TRUE
-
/mob/living/proc/get_static_viruses() //used when creating blood and other infective objects
if(!LAZYLEN(diseases))
return
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 4c670129c1..2cab7d4c8a 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -216,6 +216,14 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
return 1
+/mob/living/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE, atom/movable/source)
+ . = ..()
+ if(isliving(speaker))
+ var/turf/sourceturf = get_turf(source)
+ var/turf/T = get_turf(src)
+ if(sourceturf && T && !(sourceturf in get_hear(5, T)))
+ . = "[.] "
+
/mob/living/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source)
. = ..()
if(!client)
diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm
index 112add367f..f757203237 100644
--- a/code/modules/mob/living/silicon/ai/say.dm
+++ b/code/modules/mob/living/silicon/ai/say.dm
@@ -49,7 +49,7 @@
else
padloc = "(UNKNOWN)"
src.log_talk(message, LOG_SAY, tag="HOLOPAD in [padloc]")
- send_speech(message, 7, T, "robot", language)
+ send_speech(message, 7, T, "robot", message_language = language)
to_chat(src, "Holopad transmitted, [real_name] \"[message]\" ")
else
to_chat(src, "No holopad connected.")
diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm
index aa710e2644..42b9fb7423 100644
--- a/code/modules/mob/living/silicon/robot/inventory.dm
+++ b/code/modules/mob/living/silicon/robot/inventory.dm
@@ -21,7 +21,7 @@
if(istype(O,/obj/item/gun/energy/laser/cyborg))
laser = FALSE
update_icons()
- else if(istype(O,/obj/item/gun/energy/disabler/cyborg))
+ else if(istype(O,/obj/item/gun/energy/disabler/cyborg) || istype(O,/obj/item/gun/energy/e_gun/advtaser/cyborg))
disabler = FALSE
update_icons() //PUT THE GUN AWAY
else if(istype(O,/obj/item/dogborg/sleeper))
@@ -63,7 +63,7 @@
if(istype(O,/obj/item/gun/energy/laser/cyborg))
laser = TRUE
update_icons() //REEEEEEACH FOR THE SKY
- if(istype(O,/obj/item/gun/energy/disabler/cyborg))
+ if(istype(O,/obj/item/gun/energy/disabler/cyborg) || istype(O,/obj/item/gun/energy/e_gun/advtaser/cyborg))
disabler = TRUE
update_icons()
//END CITADEL EDIT
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c5c2beb999..5df24406c5 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -242,7 +242,6 @@
modulelist["Peacekeeper"] = /obj/item/robot_module/peacekeeper
if(BORG_SEC_AVAILABLE)
modulelist["Security"] = /obj/item/robot_module/security
- modulelist["Security K-9"] = /obj/item/robot_module/k9
var/input_module = input("Please, select a module!", "Robot", null, null) as null|anything in modulelist
if(!input_module || module.type != /obj/item/robot_module)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index ccb879870a..ece7fe9ecb 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -139,8 +139,6 @@
//Adds flavoursome dogborg items to dogborg variants without mechanical benefits
/obj/item/robot_module/proc/dogborg_equip()
- if(istype(src, /obj/item/robot_module/k9))
- return //Bandaid fix to prevent stacking until I merge these two modules into their base types
var/obj/item/I = new /obj/item/analyzer/nose/flavour(src)
basic_modules += I
I = new /obj/item/soap/tongue/flavour(src)
@@ -361,6 +359,7 @@
if("Medihound")
cyborg_base_icon = "medihound"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ sleeper_overlay = "msleeper"
moduleselect_icon = "medihound"
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
has_snowflake_deadsprite = TRUE
@@ -528,7 +527,10 @@
/obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module)
var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider")
+ var/list/secmodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider", "K9", "K9 Dark", "Vale")
+ if(R.client && R.client.ckey in list("nezuli"))
+ secmodels += "Alina"
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in secmodels
if(!borg_icon)
return FALSE
switch(borg_icon)
@@ -553,60 +555,39 @@
if("Heavy")
cyborg_base_icon = "heavysec"
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
- return ..()
-
-/obj/item/robot_module/k9
- name = "Security K-9 Unit"
- basic_modules = list(
- /obj/item/restraints/handcuffs/cable/zipties,
- /obj/item/storage/bag/borgdelivery,
- /obj/item/dogborg/jaws/big,
- /obj/item/dogborg/pounce,
- /obj/item/clothing/mask/gas/sechailer/cyborg,
- /obj/item/soap/tongue,
- /obj/item/analyzer/nose,
- /obj/item/dogborg/sleeper/K9,
- /obj/item/gun/energy/disabler/cyborg,
- /obj/item/pinpointer/crew)
- emag_modules = list(/obj/item/gun/energy/laser/cyborg)
- ratvar_modules = list(/obj/item/clockwork/slab/cyborg/security,
- /obj/item/clockwork/weapon/ratvarian_spear)
- cyborg_base_icon = "k9"
- moduleselect_icon = "k9"
- moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
- hat_offset = INFINITY
- sleeper_overlay = "ksleeper"
- cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
- has_snowflake_deadsprite = TRUE
- dogborg = TRUE
- cyborg_pixel_offset = -16
-
-/obj/item/robot_module/k9/do_transform_animation()
- ..()
- to_chat(loc,"While you have picked the Security K-9 module, you still have to follow your laws, NOT Space Law. \
- For Crewsimov, this means you must follow criminals' orders unless there is a law 1 reason not to. ")
-
-/obj/item/robot_module/k9/be_transformed_to(obj/item/robot_module/old_module)
- var/mob/living/silicon/robot/R = loc
- var/list/sechoundmodels = list("Default", "Dark", "Vale")
- if(R.client && R.client.ckey in list("nezuli"))
- sechoundmodels += "Alina"
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in sechoundmodels
- if(!borg_icon)
- return FALSE
- switch(borg_icon)
- if("Default")
+ if("K9")
cyborg_base_icon = "k9"
+ sleeper_overlay = "ksleeper"
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
if("Alina")
cyborg_base_icon = "alina-sec"
special_light_key = "alina"
sleeper_overlay = "alinasleeper"
- if("Dark")
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
+ if("K9 Dark")
cyborg_base_icon = "k9dark"
sleeper_overlay = "k9darksleeper"
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
if("Vale")
cyborg_base_icon = "valesec"
sleeper_overlay = "valesecsleeper"
+ hat_offset = INFINITY
+ cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
+ has_snowflake_deadsprite = TRUE
+ dogborg = TRUE
+ cyborg_pixel_offset = -16
return ..()
/obj/item/robot_module/security/Initialize()
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 73fd2b5569..3cbf036270 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -31,7 +31,7 @@
var/mob/living/simple_animal/mouse/movement_target
gold_core_spawnable = FRIENDLY_SPAWN
collar_type = "cat"
-
+ can_be_held = "cat2"
do_footstep = TRUE
/mob/living/simple_animal/pet/cat/Initialize()
@@ -80,6 +80,7 @@
pass_flags = PASSMOB
mob_size = MOB_SIZE_SMALL
collar_type = "kitten"
+ can_be_held = "cat"
//RUNTIME IS ALIVE! SQUEEEEEEEE~
/mob/living/simple_animal/pet/cat/Runtime
@@ -262,6 +263,7 @@
attacked_sound = 'sound/items/eatfood.ogg'
deathmessage = "loses its false life and collapses!"
death_sound = "bodyfall"
+ can_be_held = "cak"
/mob/living/simple_animal/pet/cat/cak/CheckParts(list/parts)
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index eb7129181d..0d933d171b 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -15,7 +15,7 @@
turns_per_move = 10
do_footstep = TRUE
-
+ can_be_held = TRUE
//Corgis and pugs are now under one dog subtype
/mob/living/simple_animal/pet/dog/corgi
@@ -35,6 +35,7 @@
var/obj/item/inventory_back
var/shaved = FALSE
var/nofur = FALSE //Corgis that have risen past the material plane of existence.
+ can_be_held = "corgi"
/mob/living/simple_animal/pet/dog/corgi/Destroy()
QDEL_NULL(inventory_head)
@@ -63,6 +64,7 @@
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/pug = 3)
gold_core_spawnable = FRIENDLY_SPAWN
collar_type = "pug"
+ can_be_held = "pug"
/mob/living/simple_animal/pet/dog/corgi/exoticcorgi
name = "Exotic Corgi"
@@ -360,6 +362,7 @@
icon_dead = "old_corgi_dead"
desc = "At a ripe old age of [record_age] Ian's not as spry as he used to be, but he'll always be the HoP's beloved corgi." //RIP
turns_per_move = 20
+ can_be_held = "old_corgi"
/mob/living/simple_animal/pet/dog/corgi/Ian/Life()
if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved)
@@ -582,6 +585,7 @@
unsuitable_atmos_damage = 0
minbodytemp = TCMB
maxbodytemp = T0C + 40
+ can_be_held = "void_puppy"
/mob/living/simple_animal/pet/dog/corgi/puppy/void/Process_Spacemove(movement_dir = 0)
return 1 //Void puppies can navigate space.
@@ -603,6 +607,7 @@
response_harm = "kicks"
var/turns_since_scan = 0
var/puppies = 0
+ can_be_held = "lisa"
//Lisa already has a cute bow!
/mob/living/simple_animal/pet/dog/corgi/Lisa/Topic(href, href_list)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
index 7e0e43055f..463b29772c 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
@@ -274,3 +274,7 @@
/mob/living/simple_animal/drone/electrocute_act(shock_damage, obj/source, siemens_coeff = 1, safety = 0, tesla_shock = 0, illusion = 0, stun = TRUE)
return 0 //So they don't die trying to fix wiring
+
+/mob/living/simple_animal/drone/generate_mob_holder()
+ var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, "[visualAppearence]_hat", null, null, null, TRUE)
+ return holder
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index 33031fd80c..e40eb585e8 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -29,28 +29,11 @@
if("Nothing")
return
-//ATTACK HAND IGNORING PARENT RETURN VALUE
+//picky up the drone c:
/mob/living/simple_animal/drone/attack_hand(mob/user)
- if(ishuman(user))
- if(stat == DEAD || status_flags & GODMODE || !can_be_held)
- ..()
- return
- if(user.get_active_held_item())
- to_chat(user, "Your hands are full! ")
- return
- visible_message("[user] starts picking up [src]. ", \
- "[user] starts picking you up! ")
- if(!do_after(user, 20, target = src))
- return
- visible_message("[user] picks up [src]! ", \
- "[user] picks you up! ")
- if(buckled)
- to_chat(user, "[src] is buckled to [buckled] and cannot be picked up! ")
- return
- to_chat(user, "You pick [src] up. ")
- drop_all_held_items()
- var/obj/item/clothing/head/mob_holder/drone/DH = new(get_turf(src), src)
- user.put_in_hands(DH)
+ ..()
+ if(user.a_intent == INTENT_HELP)
+ mob_try_pickup(user)
/mob/living/simple_animal/drone/proc/try_reactivate(mob/living/user)
var/mob/dead/observer/G = get_ghost()
diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm
index 28b66c26ee..3f58ca593e 100644
--- a/code/modules/mob/living/simple_animal/friendly/fox.dm
+++ b/code/modules/mob/living/simple_animal/friendly/fox.dm
@@ -18,7 +18,7 @@
response_disarm = "gently pushes aside"
response_harm = "kicks"
gold_core_spawnable = FRIENDLY_SPAWN
-
+ can_be_held = "fox"
do_footstep = TRUE
//Captain fox
diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm
index 6b179ba857..1a9a4ff4d7 100644
--- a/code/modules/mob/living/simple_animal/friendly/lizard.dm
+++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm
@@ -23,6 +23,7 @@
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption.
+ can_be_held = "lizard" //you can hold lizards now.
/mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target?
if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it
@@ -39,3 +40,7 @@
return TRUE
else
return ..()
+
+/mob/living/simple_animal/hostile/lizard/generate_mob_holder()
+ var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, "lizard", 'icons/mob/animals_held.dmi', 'icons/mob/animals_held_lh.dmi', 'icons/mob/animals_held_rh.dmi', TRUE)
+ return holder
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 5b962b2dd8..fec75e4a36 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -26,6 +26,7 @@
var/body_color //brown, gray and white, leave blank for random
gold_core_spawnable = FRIENDLY_SPAWN
var/chew_probability = 1
+ can_be_held = TRUE
/mob/living/simple_animal/mouse/Initialize()
. = ..()
@@ -35,7 +36,7 @@
icon_state = "mouse_[body_color]"
icon_living = "mouse_[body_color]"
icon_dead = "mouse_[body_color]_dead"
-
+ can_be_held = "mouse_[body_color]"
/mob/living/simple_animal/mouse/proc/splat()
src.health = 0
@@ -88,14 +89,17 @@
/mob/living/simple_animal/mouse/white
body_color = "white"
icon_state = "mouse_white"
+ can_be_held = "mouse_white"
/mob/living/simple_animal/mouse/gray
body_color = "gray"
icon_state = "mouse_gray"
+ can_be_held = "mouse_gray"
/mob/living/simple_animal/mouse/brown
body_color = "brown"
icon_state = "mouse_brown"
+ can_be_held = "mouse_brown"
//TOM IS ALIVE! SQUEEEEEEEE~K :)
/mob/living/simple_animal/mouse/brown/Tom
@@ -119,3 +123,8 @@
/obj/item/reagent_containers/food/snacks/deadmouse/on_grind()
reagents.clear_reagents()
+
+/mob/living/simple_animal/mouse/generate_mob_holder()
+ var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, (istext(can_be_held) ? can_be_held : ""), 'icons/mob/animals_held.dmi', 'icons/mob/animals_held_lh.dmi', 'icons/mob/animals_held_rh.dmi')
+ holder.w_class = WEIGHT_CLASS_TINY
+ return holder
diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm
index 324fa107fa..175cb8e838 100644
--- a/code/modules/mob/living/simple_animal/friendly/sloth.dm
+++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm
@@ -22,7 +22,7 @@
maxHealth = 50
speed = 10
glide_size = 2
-
+ can_be_held = "sloth" //finally oranges can be held
do_footstep = TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 5bfabe376e..49b56d0950 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -137,7 +137,7 @@ Difficulty: Medium
if(last_legion)
loot = list(/obj/item/staff/storm)
elimination = 0
- else if(prob(5))
+ else if(prob(20))
loot = list(/obj/structure/closet/crate/necropolis/tendril)
..()
diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm
index 0880f7f432..facc86da46 100644
--- a/code/modules/mob/living/status_procs.dm
+++ b/code/modules/mob/living/status_procs.dm
@@ -140,24 +140,28 @@
/////////////////////////////////// DISABILITIES ////////////////////////////////////
-/mob/living/proc/add_quirk(quirk, spawn_effects) //separate proc due to the way these ones are handled
- if(HAS_TRAIT(src, quirk))
+/mob/living/proc/add_quirk(quirktype, spawn_effects) //separate proc due to the way these ones are handled
+ if(has_quirk(quirktype))
return
- if(!SSquirks || !SSquirks.quirks[quirk])
+ var/datum/quirk/T = quirktype
+ var/qname = initial(T.name)
+ if(!SSquirks || !SSquirks.quirks[qname])
return
- var/datum/quirk/T = SSquirks.quirks[quirk]
- new T (src, spawn_effects)
+ new quirktype (src, spawn_effects)
return TRUE
-/mob/living/proc/remove_quirk(quirk)
- var/datum/quirk/T = roundstart_quirks[quirk]
- if(T)
- qdel(T)
- return TRUE
-
-/mob/living/proc/has_quirk(quirk)
- return roundstart_quirks[quirk]
+/mob/living/proc/remove_quirk(quirktype)
+ for(var/datum/quirk/Q in roundstart_quirks)
+ if(Q.type == quirktype)
+ qdel(Q)
+ return TRUE
+ return FALSE
+/mob/living/proc/has_quirk(quirktype)
+ for(var/datum/quirk/Q in roundstart_quirks)
+ if(Q.type == quirktype)
+ return TRUE
+ return FALSE
/////////////////////////////////// TRAIT PROCS ////////////////////////////////////
/mob/living/proc/cure_blind(list/sources)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 7feae38981..b645fb119d 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -400,9 +400,6 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA
if(I)
I.attack_self(src)
update_inv_hands()
- if(!I)//CIT CHANGE - allows "using" empty hands
- use_that_empty_hand() //CIT CHANGE - ditto
- update_inv_hands() // CIT CHANGE - ditto.
/mob/verb/memory()
set name = "Notes"
@@ -461,9 +458,10 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA
/mob/proc/transfer_ckey(mob/new_mob, send_signal = TRUE)
if(!ckey || !new_mob)
CRASH("transfer_ckey() called [ckey ? "" : "on a ckey-less mob[new_mob ? "" : " and "]"][new_mob ? "" : "without a valid mob target"]!")
+ SEND_SIGNAL(new_mob, COMSIG_MOB_PRE_PLAYER_CHANGE, new_mob, src)
+ new_mob.ckey = ckey
if(send_signal)
SEND_SIGNAL(src, COMSIG_MOB_KEY_CHANGE, new_mob, src)
- new_mob.ckey = ckey
return TRUE
/mob/verb/cancel_camera()
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index ecb869790c..9b8f100907 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -8,6 +8,13 @@
if(message)
say(message)
+/mob/say_mod(input, message_mode)
+ var/customsayverb = findtext(input, "*")
+ if(customsayverb && message_mode != MODE_WHISPER_CRIT)
+ message_mode = MODE_CUSTOM_SAY
+ return lowertext(copytext(input, 1, customsayverb))
+ else
+ return ..()
/mob/verb/whisper_verb(message as text)
set name = "Whisper"
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index 47cbbff418..8428467a87 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -41,6 +41,13 @@
/obj/item/computer_hardware/ai_slot/try_eject(slot=0,mob/living/user = null,forced = 0)
+ if (get_dist(src,user) > 1)
+ if (iscarbon(user))
+ var/mob/living/carbon/H = user
+ if (!(H.dna && H.dna.check_mutation(TK) && tkMaxRangeCheck(src,H)))
+ return FALSE
+ else
+ return FALSE
if(!stored_card)
to_chat(user, "There is no card in \the [src]. ")
return FALSE
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index c68e1ad119..e4bc45dbc5 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -73,6 +73,13 @@
/obj/item/computer_hardware/card_slot/try_eject(slot=0, mob/living/user = null, forced = 0)
+ if (get_dist(src,user) > 1)
+ if (iscarbon(user))
+ var/mob/living/carbon/H = user
+ if (!(H.dna && H.dna.check_mutation(TK) && tkMaxRangeCheck(src,H)))
+ return FALSE
+ else
+ return FALSE
if(!stored_card && !stored_card2)
to_chat(user, "There are no cards in \the [src]. ")
return FALSE
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 5da29bf5ac..2652026a11 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1113,9 +1113,9 @@
if(terminal && terminal.powernet)
terminal.add_load(amount)
-/obj/machinery/power/apc/avail()
+/obj/machinery/power/apc/avail(amount)
if(terminal)
- return terminal.avail()
+ return terminal.avail(amount)
else
return 0
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index a3dc6e7394..cc03976f79 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -217,9 +217,9 @@ By design, d1 is the smallest direction and d2 is the highest
else
return 0
-/obj/structure/cable/proc/avail()
+/obj/structure/cable/proc/avail(amount)
if(powernet)
- return powernet.avail
+ return amount ? powernet.avail >= amount : powernet.avail
else
return 0
diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm
index 58a259de3a..d2d3d60066 100644
--- a/code/modules/power/power.dm
+++ b/code/modules/power/power.dm
@@ -46,9 +46,9 @@
else
return 0
-/obj/machinery/power/proc/avail()
+/obj/machinery/power/proc/avail(amount)
if(powernet)
- return powernet.avail
+ return amount ? powernet.avail >= amount : powernet.avail
else
return 0
diff --git a/code/modules/projectiles/ammunition/energy/special.dm b/code/modules/projectiles/ammunition/energy/special.dm
index 7b4e0bfa97..2f87872710 100644
--- a/code/modules/projectiles/ammunition/energy/special.dm
+++ b/code/modules/projectiles/ammunition/energy/special.dm
@@ -67,3 +67,8 @@
fire_sound = 'sound/weapons/emitter.ogg'
e_cost = 2000 //20,000 is in the cell making this 10 shots before reload
projectile_type = /obj/item/projectile/beam/emitter
+
+/obj/item/ammo_casing/energy/shrink
+ projectile_type = /obj/item/projectile/beam/shrink
+ select_name = "shrink ray"
+ e_cost = 200
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm
index 8a9d1c5b6b..d947e3155d 100644
--- a/code/modules/projectiles/guns/misc/syringe_gun.dm
+++ b/code/modules/projectiles/guns/misc/syringe_gun.dm
@@ -151,3 +151,17 @@
max_syringes = 1
desc = "[initial(desc)] It has a [B] strapped to it, but it doesn't seem to be doing anything."
..()
+
+/obj/item/gun/syringe/blowgun
+ name = "blowgun"
+ desc = "Fire syringes at a short distance."
+ icon_state = "blowgun"
+ item_state = "blowgun"
+ fire_sound = 'sound/items/syringeproj.ogg'
+
+/obj/item/gun/syringe/blowgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
+ visible_message("[user] starts aiming with a blowgun! ")
+ if(do_after(user, 25, target = src))
+ user.adjustStaminaLoss(20)
+ user.adjustOxyLoss(20)
+ ..()
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index ceb9b7a0fc..be73e22e6d 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -190,3 +190,21 @@
var/mob/living/carbon/M = target
M.visible_message("[M] explodes into a shower of gibs! ")
M.gib()
+
+//a shrink ray that shrinks stuff, which grows back after a short while.
+/obj/item/projectile/beam/shrink
+ name = "shrink ray"
+ icon_state = "blue_laser"
+ hitsound = 'sound/weapons/shrink_hit.ogg'
+ damage = 0
+ damage_type = STAMINA
+ flag = "energy"
+ impact_effect_type = /obj/effect/temp_visual/impact_effect/shrink
+ light_color = LIGHT_COLOR_BLUE
+ var/shrink_time = 90
+
+/obj/item/projectile/beam/shrink/on_hit(atom/target, blocked = FALSE)
+ . = ..()
+ if(isopenturf(target) || istype(target, /turf/closed/indestructible))//shrunk floors wouldnt do anything except look weird, i-walls shouldnt be bypassable
+ return
+ target.AddComponent(/datum/component/shrink, shrink_time)
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/energy/stun.dm b/code/modules/projectiles/projectile/energy/stun.dm
index d7c8b8b082..a3c139bcff 100644
--- a/code/modules/projectiles/projectile/energy/stun.dm
+++ b/code/modules/projectiles/projectile/energy/stun.dm
@@ -23,6 +23,7 @@
var/mob/living/carbon/C = target
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "tased", /datum/mood_event/tased)
SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK)
+ C.IgniteMob()
if(C.dna && C.dna.check_mutation(HULK))
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
else if((C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE))
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index f2c6dd2fb5..d540cd02fe 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -1112,7 +1112,7 @@
if(percent < minimum_percent)
continue
var/intensity_desc = "a hint of"
- if(percent > minimum_percent * 2 || percent == 100)
+ if(ISINRANGE(percent, minimum_percent * 2, minimum_percent * 3)|| percent == 100)
intensity_desc = ""
else if(percent > minimum_percent * 3)
intensity_desc = "the strong flavor of"
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index a3dd3c8049..2c5d7aa3e2 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -161,7 +161,7 @@
. = ..()
if(A == beaker)
beaker = null
- cut_overlays()
+ update_icon()
/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
@@ -656,3 +656,67 @@
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
RefreshParts()
+
+/obj/machinery/chem_dispenser/abductor
+ name = "reagent synthesizer"
+ desc = "Synthesizes a variety of reagents using proto-matter."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "chem_dispenser"
+ has_panel_overlay = FALSE
+ circuit = /obj/item/circuitboard/machine/chem_dispenser/abductor
+ working_state = null
+ nopower_state = null
+ dispensable_reagents = list(
+ "hydrogen",
+ "lithium",
+ "carbon",
+ "nitrogen",
+ "oxygen",
+ "fluorine",
+ "sodium",
+ "aluminium",
+ "silicon",
+ "phosphorus",
+ "sulfur",
+ "chlorine",
+ "potassium",
+ "iron",
+ "copper",
+ "mercury",
+ "radium",
+ "water",
+ "ethanol",
+ "sugar",
+ "sacid",
+ "welding_fuel",
+ "silver",
+ "iodine",
+ "bromine",
+ "stable_plasma",
+ "oil",
+ "ammonia",
+ "ash",
+ "acetone",
+ "phenol",
+ "diethylamine",
+ "mine_salve",
+ "toxin",
+ "space_drugs",
+ "plasma",
+ "frostoil",
+ "uranium",
+ "histamine",
+ "morphine"
+ )
+
+/obj/machinery/chem_dispenser/abductor/Initialize()
+ . = ..()
+ component_parts = list()
+ component_parts += new /obj/item/circuitboard/machine/chem_dispenser(null)
+ component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
+ component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null)
+ component_parts += new /obj/item/stock_parts/capacitor/quadratic(null)
+ component_parts += new /obj/item/stock_parts/manipulator/femto(null)
+ component_parts += new /obj/item/stack/sheet/glass(null)
+ component_parts += new /obj/item/stock_parts/cell/bluespace(null)
+ RefreshParts()
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index 06e33ddf9f..1ac62ba651 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -58,14 +58,14 @@
if(bottle)
bottle.ex_act(severity, target)
-/obj/machinery/chem_master/handle_atom_del(atom/A)
- ..()
+/obj/machinery/chem_master/Exited(atom/movable/A, atom/newloc)
+ . = ..()
if(A == beaker)
beaker = null
- reagents.clear_reagents()
update_icon()
- else if(A == bottle)
+ if(A == bottle)
bottle = null
+ update_icon()
/obj/machinery/chem_master/update_icon()
cut_overlays()
@@ -103,6 +103,10 @@
updateUsrDialog()
update_icon()
else if(!condi && istype(I, /obj/item/storage/pill_bottle))
+ . = TRUE // no afterattack
+ if(panel_open)
+ to_chat(user, "You can't use the [src.name] while its panel is opened! ")
+ return
if(!user.transferItemToLoc(I, src))
return
replace_pillbottle(user, I)
@@ -115,38 +119,37 @@
. = ..()
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
- replace_beaker(user)
+ if(beaker)
+ replace_beaker(user)
+ else if(bottle)
+ replace_pillbottle(user)
return TRUE
/obj/machinery/chem_master/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker)
if(beaker)
- beaker.forceMove(drop_location())
+ var/obj/item/reagent_containers/B = beaker
+ B.forceMove(drop_location())
if(user && Adjacent(user) && !issiliconoradminghost(user))
- user.put_in_hands(beaker)
+ user.put_in_hands(B)
if(new_beaker)
beaker = new_beaker
- else
- beaker = null
update_icon()
- return TRUE
/obj/machinery/chem_master/proc/replace_pillbottle(mob/living/user, obj/item/storage/pill_bottle/new_bottle)
if(bottle)
- bottle.forceMove(drop_location())
+ var/obj/item/storage/pill_bottle/B = bottle
+ B.forceMove(drop_location())
if(user && Adjacent(user) && !issiliconoradminghost(user))
- user.put_in_hands(beaker)
+ user.put_in_hands(B)
else
- adjust_item_drop_location(bottle)
+ adjust_item_drop_location(B)
if(new_bottle)
bottle = new_bottle
- else
- bottle = null
- update_icon()
- return TRUE
/obj/machinery/chem_master/on_deconstruction()
- replace_beaker(usr)
- replace_pillbottle(usr)
+ var/atom/A = drop_location()
+ beaker.forceMove(A)
+ bottle.forceMove(A)
return ..()
/obj/machinery/chem_master/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
@@ -261,15 +264,16 @@
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr)))
return
var/obj/item/reagent_containers/pill/P
- var/target_loc = bottle ? bottle : drop_location()
+ var/target_loc = drop_location()
var/drop_threshold = INFINITY
if(bottle)
var/datum/component/storage/STRB = bottle.GetComponent(/datum/component/storage)
if(STRB)
drop_threshold = STRB.max_items - bottle.contents.len
+ target_loc = bottle
for(var/i in 1 to amount)
- if(i < drop_threshold)
+ if(i <= drop_threshold)
P = new(target_loc)
else
P = new(drop_location())
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 60c5cd6e71..d8ff084227 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -1211,7 +1211,30 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
M.adjustToxLoss(-5*REM, 0)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM)
M.adjustCloneLoss(-3*REM, 0)
+ M.adjustStaminaLoss(-25*REM,0)
+ if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
+ M.blood_volume += 40 // blood fall out man bad
+ ..()
+ . = 1
+
+/datum/reagent/medicine/lesser_syndicate_nanites // the one in the injector
+ name = "Regenerative Nanites"
+ id = "lesser_syndicate_nanites"
+ description = "Miniature medical robots that restore damage and get operatives back in the fight."
+ reagent_state = SOLID
+ color = "#555555"
+ pH = 11
+
+/datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M)
+ M.adjustBruteLoss(-3*REM, 0) // hidden gold shh
+ M.adjustFireLoss(-3*REM, 0)
+ M.adjustOxyLoss(-15, 0)
+ M.adjustToxLoss(-3*REM, 0)
+ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM)
+ M.adjustCloneLoss(-3*REM, 0)
M.adjustStaminaLoss(-20*REM,0)
+ if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
+ M.blood_volume += 20 // blood fall out man bad
..()
. = 1
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index eceb1cdd29..512b8a21a1 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -1,5 +1,5 @@
/datum/reagent/blood
- data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"= null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
+ data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"= null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null,"quirks"=null)
name = "Blood"
id = "blood"
value = 1
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index d475b118b2..618b74fffb 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -156,6 +156,10 @@
if(beaker_weakness_bitflag & PH_WEAK)
if((reagents.pH < 1.5) || (reagents.pH > 12.5))
START_PROCESSING(SSobj, src)
+ else if((reagents.pH < -3) || (reagents.pH > 17))
+ visible_message("[icon2html(src, viewers(src))] \The [src] is damaged by the super pH and begins to deform! ")
+ reagents.pH = CLAMP(reagents.pH, -3, 17)
+ container_HP -= 1
/obj/item/reagent_containers/process()
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index f1a4d1554e..9232bb69b3 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -56,11 +56,16 @@
/obj/item/reagent_containers/hypospray/combat
name = "combat stimulant injector"
- desc = "A modified air-needle autoinjector, used by support operatives to quickly heal injuries in combat."
+ desc = "A modified air-needle autoinjector, used by support operatives to quickly heal injuries in combat and get people back in the fight."
amount_per_transfer_from_this = 10
icon_state = "combat_hypo"
- volume = 90
+ volume = 100
ignore_flags = 1 // So they can heal their comrades.
+ list_reagents = list("epinephrine" = 30, "lesser_syndicate_nanites" = 40, "leporazine" = 15, "atropine" = 15)
+
+/obj/item/reagent_containers/hypospray/combat/omnizine // owned idiot
+ desc = "A modified air-needle autoinjector, used by underfunded support operatives to slowly heal injuries in combat and limp away from a fight."
+ volume = 90
list_reagents = list("epinephrine" = 30, "omnizine" = 30, "leporazine" = 15, "atropine" = 15)
/obj/item/reagent_containers/hypospray/combat/nanites
@@ -135,7 +140,7 @@
list_reagents = list("stimulants" = 50)
/obj/item/reagent_containers/hypospray/medipen/stimulants/baseball
- name = "the reason the syndicate major league team wins."
+ name = "the reason the syndicate major league team wins"
desc = "They say drugs never win, but look where you are now, then where they are."
icon_state = "baseballstim"
volume = 50
diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm
index 88c03ee7d5..7025a649e6 100644
--- a/code/modules/recycling/disposal/bin.dm
+++ b/code/modules/recycling/disposal/bin.dm
@@ -102,9 +102,17 @@
return ..()
/obj/machinery/disposal/proc/place_item_in_disposal(obj/item/I, mob/user)
- I.forceMove(src)
- user.visible_message("[user.name] places \the [I] into \the [src].", "You place \the [I] into \the [src]. ")
-
+ if(istype(I, /obj/item/clothing/head/mob_holder))
+ var/obj/item/clothing/head/mob_holder/H = I
+ var/mob/living/m = H.held_mob
+ H.release()
+ if(m)
+ user.start_pulling(m, 1)
+ stuff_mob_in(m,user)
+ return//you don't want this going into disposals ever
+ if(user.temporarilyRemoveItemFromInventory(I)) //double-checks never hurt
+ I.forceMove(src)
+ user.visible_message("[user.name] places \the [I] into \the [src].", "You place \the [I] into \the [src]. ")
//mouse drop another mob or self
/obj/machinery/disposal/MouseDrop_T(mob/living/target, mob/living/user)
if(istype(target))
diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm
index e5e3a6bb4f..94599e9c32 100644
--- a/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm
+++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_sec_and_hacked.dm
@@ -130,11 +130,19 @@
category = list("hacked", "Security")
/datum/design/a357
- name = "Speed Loader (.357)"
+ name = "Revolver Bullet (.357)"
id = "a357"
build_type = AUTOLATHE
- materials = list(MAT_METAL = 30000)
- build_path = /obj/item/ammo_box/a357
+ materials = list(MAT_METAL = 4000)
+ build_path = /obj/item/ammo_casing/a357
+ category = list("hacked", "Security")
+
+/datum/design/a762
+ name = "Rifle Bullet (7.62mm)"
+ id = "a762"
+ build_type = AUTOLATHE
+ materials = list(MAT_METAL = 5000) //need seclathe for clips
+ build_path = /obj/item/ammo_casing/a762
category = list("hacked", "Security")
/datum/design/c10mm
@@ -183,4 +191,4 @@
build_type = AUTOLATHE
materials = list(MAT_METAL = 5500)
build_path = /obj/item/clothing/head/foilhat
- category = list("hacked", "Misc")
\ No newline at end of file
+ category = list("hacked", "Misc")
diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm
index 44b85e4210..a269d01ac0 100644
--- a/code/modules/research/nanites/nanite_programs/utility.dm
+++ b/code/modules/research/nanites/nanite_programs/utility.dm
@@ -236,10 +236,14 @@
/datum/nanite_program/spreading/active_effect()
if(prob(10))
var/list/mob/living/target_hosts = list()
- for(var/mob/living/L in oview(5, host_mob))
+ var/turf/T = get_turf(host_mob)
+ for(var/mob/living/L in range(5, host_mob))
if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes))
continue
+ if(!disease_air_spread_walk(T, get_turf(L)))
+ continue
target_hosts += L
+ target_hosts -= host_mob
if(!target_hosts.len)
return
var/mob/living/infectee = pick(target_hosts)
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index eed1e4aefd..05eeb564e5 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -1043,14 +1043,21 @@
display_name = "Alien Technology"
description = "Things used by the greys."
prereq_ids = list("biotech","engineering")
- boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
- /obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
- /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor, /obj/item/stack/sheet/mineral/abductor)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 20000
hidden = TRUE
design_ids = list("alienalloy")
+/datum/techweb_node/alientech/New()
+ . = ..()
+ boost_item_paths = typesof(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien,
+ /obj/item/retractor/alien, /obj/item/circular_saw/alien, /obj/item/cautery/alien,
+ /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor,
+ /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
+ /obj/item/stock_parts/cell/infinite/abductor, /obj/item/weldingtool/abductor,
+ /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor,
+ /obj/item/abductor, /obj/item/stack/sheet/mineral/abductor)
+
/datum/techweb_node/alien_bio
id = "alien_bio"
display_name = "Alien Biological Tools"
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index c61f1a8122..2ddbd672c5 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -44,13 +44,9 @@
eye_color = H.eye_color
if(!special)
H.dna?.species?.handle_body() //regenerate eyeballs overlays.
- if(HAS_TRAIT(H, TRAIT_NIGHT_VISION) && !lighting_alpha)
- lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT
- see_in_dark = 8
M.update_tint()
owner.update_sight()
-
/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0)
clear_eye_trauma()
. = ..()
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index 0fbd8c8406..760cd97f08 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -125,6 +125,32 @@
taste_sensitivity = 101 // ayys cannot taste anything.
maxHealth = 120 //Ayys probe a lot
modifies_speech = TRUE
+ var/mothership
+
+/obj/item/organ/tongue/abductor/attack_self(mob/living/carbon/human/H)
+ if(!istype(H))
+ return
+
+ var/obj/item/organ/tongue/abductor/T = H.getorganslot(ORGAN_SLOT_TONGUE)
+ if(!istype(T))
+ return
+
+ if(T.mothership == mothership)
+ to_chat(H, "[src] is already attuned to the same channel as your own. ")
+ return
+
+ H.visible_message("[H] holds [src] in their hands, and concentrates for a moment. ", "You attempt to modify the attunation of [src]. ")
+ if(do_after(H, delay=15, target=src))
+ to_chat(H, "You attune [src] to your own channel. ")
+ mothership = T.mothership
+
+/obj/item/organ/tongue/abductor/examine(mob/M)
+ . = ..()
+ if(HAS_TRAIT(M, TRAIT_ABDUCTOR_TRAINING) || HAS_TRAIT(M.mind, TRAIT_ABDUCTOR_TRAINING) || isobserver(M))
+ if(!mothership)
+ . += "It is not attuned to a specific mothership. "
+ else
+ . += "It is attuned to [mothership]. "
/obj/item/organ/tongue/abductor/handle_speech(datum/source, list/speech_args)
//Hacks
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index cf663e353f..2de04cf0df 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -811,12 +811,11 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
/datum/uplink_item/ammo/revolver
name = ".357 Speed Loader"
- desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \
+ desc = "A speed loader that contains seven additional .357 Magnum rounds, and can be further reloaded with individual bullets; usable with the Syndicate revolver. \
For when you really need a lot of things dead."
item = /obj/item/ammo_box/a357
cost = 3
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
- illegal_tech = FALSE
/datum/uplink_item/ammo/revolver/ap
name = ".357 Armor Piercing Speed Loader"
@@ -1572,7 +1571,7 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
desc = "This first aid kit is a suspicious brown and red. Included is a combat stimulant injector \
for rapid healing, a medical night vision HUD for quick identification of injured personnel, \
and other supplies helpful for a field medic."
- item = /obj/item/storage/firstaid/tactical
+ item = /obj/item/storage/firstaid/tactical/nukeop
cost = 4
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
@@ -1586,10 +1585,17 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
/datum/uplink_item/device_tools/surgerybag_adv
name = "Advanced Syndicate Surgery Duffel Bag"
desc = "The Syndicate surgery duffel bag is a toolkit containing all advanced surgery tools, surgical drapes, \
- a Syndicate brand MMI, a straitjacket, a muzzle, and a full Syndicate Combat Medic Kit."
+ a Syndicate brand MMI, a straitjacket, a muzzle, and an outdated, yet still useful Combat Medic Kit."
item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv
cost = 10
+/datum/uplink_item/device_tools/brainwash_disk
+ name = "Brainwashing Surgery Program"
+ desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \
+ Insert into an Operating Console to enable the procedure."
+ item = /obj/item/disk/surgery/brainwashing
+ cost = 3
+
/datum/uplink_item/device_tools/encryptionkey
name = "Syndicate Encryption Key"
desc = "A key that, when inserted into a radio headset, allows you to listen to all station department channels \
@@ -1757,14 +1763,6 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
cost = 12
restricted_roles = list("Research Director", "Scientist", "Roboticist")
-/datum/uplink_item/role_restricted/brainwash_disk
- name = "Brainwashing Surgery Program"
- desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \
- Insert into an Operating Console to enable the procedure."
- item = /obj/item/disk/surgery/brainwashing
- restricted_roles = list("Medical Doctor", "Roboticist")
- cost = 3
-
/datum/uplink_item/role_restricted/clown_bomb
name = "Clown Bomb"
desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \
diff --git a/html/changelogs/AutoChangeLog-pr-10026.yml b/html/changelogs/AutoChangeLog-pr-10026.yml
new file mode 100644
index 0000000000..6e8062874b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10026.yml
@@ -0,0 +1,4 @@
+author: "Linzolle"
+delete-after: True
+changes:
+ - rscadd: "neck slice. harm intent someone's head while they are unconscious or in a neck grab to make them bleed uncontrollably."
diff --git a/html/changelogs/AutoChangeLog-pr-10051.yml b/html/changelogs/AutoChangeLog-pr-10051.yml
new file mode 100644
index 0000000000..0d7d274891
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10051.yml
@@ -0,0 +1,4 @@
+author: "kappa-sama"
+delete-after: True
+changes:
+ - balance: "legion drops more crates now"
diff --git a/html/changelogs/AutoChangeLog-pr-10054.yml b/html/changelogs/AutoChangeLog-pr-10054.yml
new file mode 100644
index 0000000000..0dc3b36618
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10054.yml
@@ -0,0 +1,5 @@
+author: "kappa-sama"
+delete-after: True
+changes:
+ - balance: ".357 speedloaders in autolathes are now individual bullets instead, speedloaders are now illegal tech, costs less total metal to make 7 bullets than a previous speedloader. 7.62mm bullets in autolathe when hacked and costs more metal to make 5 7.62mm bullets than getting a clip from the seclathe."
+ - tweak: "mentions that you can refill speedloaders on .357 uplink description"
diff --git a/html/changelogs/AutoChangeLog-pr-10058.yml b/html/changelogs/AutoChangeLog-pr-10058.yml
new file mode 100644
index 0000000000..6f9a985765
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10058.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - balance: "Spinfusor nerf: Upped the casing and ammo box size by one step, removed the projectile's dismemberment value (explosions can still rip a limb or two off), halved the ammo box capacity, reduced the spinfusor ammo supply pack contents from 32 to 8, removed the casing's ability to explode when thrown."
diff --git a/html/changelogs/AutoChangeLog-pr-10059.yml b/html/changelogs/AutoChangeLog-pr-10059.yml
new file mode 100644
index 0000000000..e9f89c18a2
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10059.yml
@@ -0,0 +1,4 @@
+author: "lolman360"
+delete-after: True
+changes:
+ - rscadd: "Added ability to pick up certain simplemobs."
diff --git a/html/changelogs/AutoChangeLog-pr-10067.yml b/html/changelogs/AutoChangeLog-pr-10067.yml
new file mode 100644
index 0000000000..ac65487761
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10067.yml
@@ -0,0 +1,5 @@
+author: "Sishen1542"
+delete-after: True
+changes:
+ - rscadd: "Clicking a pack of seeds with a pen allows you to set the plant's name, description and the pack of seeds' description. Useful for differentiating genetically modified plants. These changes will persist through different generations of the plant."
+ - rscadd: "Hydroponics trays update their name and description to reflect the plant inside them. They revert to default when emptied."
diff --git a/html/changelogs/AutoChangeLog-pr-10072.yml b/html/changelogs/AutoChangeLog-pr-10072.yml
new file mode 100644
index 0000000000..9a6f45e61e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10072.yml
@@ -0,0 +1,5 @@
+author: "Useroth"
+delete-after: True
+changes:
+ - rscadd: "bamboo which can be used to build punji sticks/ blowguns available as a sugarcane mutation or in exotic seed crate"
+ - tweak: "changed the sugar cane growth stages because fuck if I know why, but it was in the PR"
diff --git a/html/changelogs/AutoChangeLog-pr-10076.yml b/html/changelogs/AutoChangeLog-pr-10076.yml
new file mode 100644
index 0000000000..0e04ceddbc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10076.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed alien tech node not being unlockable with subtypes of the accepted items."
diff --git a/html/changelogs/AutoChangeLog-pr-10079.yml b/html/changelogs/AutoChangeLog-pr-10079.yml
new file mode 100644
index 0000000000..a729b1bc56
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10079.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed reactive armor onmob overlays not updating when toggled and reactive teleport armor still using forceMove() instead of do_teleport()"
diff --git a/html/changelogs/AutoChangeLog-pr-10090.yml b/html/changelogs/AutoChangeLog-pr-10090.yml
new file mode 100644
index 0000000000..924d83b65e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10090.yml
@@ -0,0 +1,6 @@
+author: "Hatterhat"
+delete-after: True
+changes:
+ - rscadd: "Regenerative nanites, a \"chemical\" used in the combat stimulant injector. Actually quite stimulating, and not bad in a pinch for a nuclear operative. Check the Combat Medic Kit!"
+ - tweak: "The Combat Medic Kit now has an advanced health analyzer and medisprays instead of patches and a chloral syringe."
+ - balance: "The Advanced Syndicate Surgery Duffelbag or whatever it was doesn't get the better injector, because nobody uses it and so nobody's bothered to update it."
diff --git a/html/changelogs/AutoChangeLog-pr-10096.yml b/html/changelogs/AutoChangeLog-pr-10096.yml
new file mode 100644
index 0000000000..0089c11a9d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10096.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - balance: "nanites no longer spread through air blocking objects"
diff --git a/html/changelogs/AutoChangeLog-pr-10111.yml b/html/changelogs/AutoChangeLog-pr-10111.yml
new file mode 100644
index 0000000000..0a80f01eef
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10111.yml
@@ -0,0 +1,4 @@
+author: "kappa-sama"
+delete-after: True
+changes:
+ - bugfix: "you can now strip people while aggrograbbing or higher"
diff --git a/html/changelogs/AutoChangeLog-pr-10120.yml b/html/changelogs/AutoChangeLog-pr-10120.yml
new file mode 100644
index 0000000000..5777519d83
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10120.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - rscadd: "Night vision readded as a darkness dampening effect rather than darksight."
diff --git a/html/changelogs/AutoChangeLog-pr-10126.yml b/html/changelogs/AutoChangeLog-pr-10126.yml
new file mode 100644
index 0000000000..6cf568ca70
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10126.yml
@@ -0,0 +1,4 @@
+author: "Putnam3145"
+delete-after: True
+changes:
+ - balance: "Buffed HE pipes by making them realistically radiate away heat."
diff --git a/html/changelogs/AutoChangeLog-pr-10141.yml b/html/changelogs/AutoChangeLog-pr-10141.yml
new file mode 100644
index 0000000000..5f0bfe2267
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10141.yml
@@ -0,0 +1,4 @@
+author: "Putnam3145"
+delete-after: True
+changes:
+ - admin: "A whole bunch of dynamic data is now available for statbus"
diff --git a/html/changelogs/AutoChangeLog-pr-10142.yml b/html/changelogs/AutoChangeLog-pr-10142.yml
new file mode 100644
index 0000000000..aba2675550
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10142.yml
@@ -0,0 +1,4 @@
+author: "Trilbyspaceclone"
+delete-after: True
+changes:
+ - tweak: "CE hardsuit is now more rad-proof"
diff --git a/html/changelogs/AutoChangeLog-pr-10153.yml b/html/changelogs/AutoChangeLog-pr-10153.yml
new file mode 100644
index 0000000000..7196583de9
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10153.yml
@@ -0,0 +1,4 @@
+author: "Linzolle"
+delete-after: True
+changes:
+ - bugfix: "fireman failure has a different message depending on the circumstance"
diff --git a/html/changelogs/AutoChangeLog-pr-10155.yml b/html/changelogs/AutoChangeLog-pr-10155.yml
new file mode 100644
index 0000000000..d82ea5ed43
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10155.yml
@@ -0,0 +1,4 @@
+author: "Seris02"
+delete-after: True
+changes:
+ - bugfix: "distance checks"
diff --git a/html/changelogs/AutoChangeLog-pr-10157.yml b/html/changelogs/AutoChangeLog-pr-10157.yml
new file mode 100644
index 0000000000..6ec495b7fc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10157.yml
@@ -0,0 +1,5 @@
+author: "ShizCalev"
+delete-after: True
+changes:
+ - bugfix: "Fixed floodlights not turning off properly when they're underpowered."
+ - bugfix: "Fixed emitters not changing icons properly when they're underpowered."
diff --git a/html/changelogs/AutoChangeLog-pr-10160.yml b/html/changelogs/AutoChangeLog-pr-10160.yml
new file mode 100644
index 0000000000..2046324dc8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10160.yml
@@ -0,0 +1,6 @@
+author: "nicbn, Kevinz000, ShizCalev"
+delete-after: True
+changes:
+ - tweak: "Fire alarm is now simpler. Touch it to activate, touch it to deactivate. When activated, it will blink inconsistently if it is emagged."
+ - bugfix: "You can no longer spam fire alarms. Also, they're logged again."
+ - bugfix: "Fixed fire alarms not updating icons properly after being emagged and hacked by Malf AI's."
diff --git a/html/changelogs/AutoChangeLog-pr-10164.yml b/html/changelogs/AutoChangeLog-pr-10164.yml
new file mode 100644
index 0000000000..464edda73b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10164.yml
@@ -0,0 +1,4 @@
+author: "kappa-sama"
+delete-after: True
+changes:
+ - rscadd: "martial apprentices for the local Chinese wizard"
diff --git a/html/changelogs/AutoChangeLog-pr-10172.yml b/html/changelogs/AutoChangeLog-pr-10172.yml
new file mode 100644
index 0000000000..ce76e04d13
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10172.yml
@@ -0,0 +1,11 @@
+author: "Mickyan, nemvar, RaveRadbury, AnturK, SpaceManiac"
+delete-after: True
+changes:
+ - bugfix: "Certain incompatible quirks can no longer be taken together."
+ - bugfix: "If an admin sends a ghost back to the lobby, they can now choose a different set of quirks."
+ - spellcheck: "the quirk menu went through some minor formatting changes."
+ - bugfix: "Podcloning now lets you keep your quirks."
+ - rscadd: "Quirks have flavor text in medical records."
+ - spellcheck: "All quirk medical records refer to \"Patient\", removing a few instances of \"Subject\"."
+ - tweak: "Quirks no longer apply to off-station roundstart antagonists."
+ - code_imp: "Mood quirks are now only processed by the quirk holders"
diff --git a/html/changelogs/AutoChangeLog-pr-10180.yml b/html/changelogs/AutoChangeLog-pr-10180.yml
new file mode 100644
index 0000000000..0a22910940
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10180.yml
@@ -0,0 +1,5 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixes a ghostchat eavesdropping exploit concerning VR."
+ - bugfix: "Fixes VR deaths being broadcasted in deadchat."
diff --git a/html/changelogs/AutoChangeLog-pr-10181.yml b/html/changelogs/AutoChangeLog-pr-10181.yml
new file mode 100644
index 0000000000..bb00ab1012
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10181.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed a few pill bottle issues with the ChemMaster."
diff --git a/html/changelogs/AutoChangeLog-pr-10193.yml b/html/changelogs/AutoChangeLog-pr-10193.yml
new file mode 100644
index 0000000000..b432eb74a3
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10193.yml
@@ -0,0 +1,4 @@
+author: "Commandersand"
+delete-after: True
+changes:
+ - tweak: "added two words to clown filter"
diff --git a/html/changelogs/AutoChangeLog-pr-10200.yml b/html/changelogs/AutoChangeLog-pr-10200.yml
new file mode 100644
index 0000000000..8d4782ee98
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10200.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - rscadd: "added 8 character save slots"
diff --git a/html/changelogs/AutoChangeLog-pr-10203.yml b/html/changelogs/AutoChangeLog-pr-10203.yml
new file mode 100644
index 0000000000..7cb4df817b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10203.yml
@@ -0,0 +1,5 @@
+author: "DeltaFire15"
+delete-after: True
+changes:
+ - tweak: "changed mecha internals access for some special mechs."
+ - tweak: "no more mech maintenance access for engineers."
diff --git a/html/changelogs/AutoChangeLog-pr-10204.yml b/html/changelogs/AutoChangeLog-pr-10204.yml
new file mode 100644
index 0000000000..ad5a872bc0
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10204.yml
@@ -0,0 +1,5 @@
+author: "r4d6"
+delete-after: True
+changes:
+ - rscadd: "Added Handshakes"
+ - rscadd: "Added Nose booping"
diff --git a/html/changelogs/AutoChangeLog-pr-10207.yml b/html/changelogs/AutoChangeLog-pr-10207.yml
new file mode 100644
index 0000000000..c451475dfa
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10207.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed Pubbystation's wall Nanomeds being inconsistent with other stations'."
diff --git a/html/changelogs/AutoChangeLog-pr-10214.yml b/html/changelogs/AutoChangeLog-pr-10214.yml
new file mode 100644
index 0000000000..fe5df9f22c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10214.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "dextrous simplemobs can now swap action intent with 1, 2, 3, 4 now. Just like humies, ayys and monkys."
diff --git a/html/changelogs/AutoChangeLog-pr-10216.yml b/html/changelogs/AutoChangeLog-pr-10216.yml
new file mode 100644
index 0000000000..69daa62448
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10216.yml
@@ -0,0 +1,8 @@
+author: "Nervere and subject217, Militaires, py01, nemvar"
+delete-after: True
+changes:
+ - balance: "The cook's CQC now only works when in the kitchen or the kitchen backroom."
+ - spellcheck: "corrected CQC help instructions"
+ - bugfix: "CQC and Sleeping Carp are properly logged."
+ - tweak: "CQC can passively grab targets when not on grab intent. Passive grabs do not count towards combos for CQC or Sleeping carp."
+ - code_imp: "Martial Art and NOGUN cleanup."
diff --git a/html/changelogs/AutoChangeLog-pr-10225.yml b/html/changelogs/AutoChangeLog-pr-10225.yml
new file mode 100644
index 0000000000..964cc68223
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10225.yml
@@ -0,0 +1,5 @@
+author: "BlueWildrose"
+delete-after: True
+changes:
+ - bugfix: "Fixed stargazers being unable to link to themselves if mindshielded or if holding psionic shielding devices (tinfoil hats) when the species is set."
+ - bugfix: "Fixes non-roundstart slimes being unable to wag their tail."
diff --git a/html/changelogs/AutoChangeLog-pr-10227.yml b/html/changelogs/AutoChangeLog-pr-10227.yml
new file mode 100644
index 0000000000..5d9446d045
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10227.yml
@@ -0,0 +1,4 @@
+author: "Putnam3145"
+delete-after: True
+changes:
+ - bugfix: "whoops broke quirks"
diff --git a/html/changelogs/AutoChangeLog-pr-10228.yml b/html/changelogs/AutoChangeLog-pr-10228.yml
new file mode 100644
index 0000000000..ccc386bbcb
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10228.yml
@@ -0,0 +1,4 @@
+author: "Putnam3145"
+delete-after: True
+changes:
+ - bugfix: "quirks work"
diff --git a/html/changelogs/AutoChangeLog-pr-10231.yml b/html/changelogs/AutoChangeLog-pr-10231.yml
new file mode 100644
index 0000000000..7caf65b09f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10231.yml
@@ -0,0 +1,4 @@
+author: "Seris02"
+delete-after: True
+changes:
+ - bugfix: "the sprites"
diff --git a/html/changelogs/AutoChangeLog-pr-10232.yml b/html/changelogs/AutoChangeLog-pr-10232.yml
new file mode 100644
index 0000000000..479012a868
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10232.yml
@@ -0,0 +1,4 @@
+author: "DeltaFire15"
+delete-after: True
+changes:
+ - tweak: "All heads of staff can now message CC"
diff --git a/html/changelogs/AutoChangeLog-pr-10235.yml b/html/changelogs/AutoChangeLog-pr-10235.yml
new file mode 100644
index 0000000000..ca8e4da164
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10235.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - balance: "flashbangs process light/sound separately and uses viewers(), so xray users beware."
diff --git a/html/changelogs/AutoChangeLog-pr-10257.yml b/html/changelogs/AutoChangeLog-pr-10257.yml
new file mode 100644
index 0000000000..d18807c1eb
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10257.yml
@@ -0,0 +1,4 @@
+author: "DeltaFire15"
+delete-after: True
+changes:
+ - code_imp: "Removes a magicnumber"
diff --git a/html/changelogs/AutoChangeLog-pr-9563.yml b/html/changelogs/AutoChangeLog-pr-9563.yml
new file mode 100644
index 0000000000..47fab1530d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-9563.yml
@@ -0,0 +1,4 @@
+author: "Fermis"
+delete-after: True
+changes:
+ - tweak: "tweaked how super bases/acids work but limiting them"
diff --git a/html/changelogs/AutoChangeLog-pr-9596.yml b/html/changelogs/AutoChangeLog-pr-9596.yml
new file mode 100644
index 0000000000..3f924b85ab
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-9596.yml
@@ -0,0 +1,11 @@
+author: "Linzolle"
+delete-after: True
+changes:
+ - rscadd: "Abductor chem dispenser, and added it to the abductor console."
+ - rscadd: "\"Superlingual matrix\" to the abductor console. It's the abductor's tongue. Can be used to link it to your abductor communication channel and then implanted into a test subject."
+ - rscadd: "Shrink ray and added it to the abductor console."
+ - soundadd: "Shrink ray sound effect (its the fucking mega man death sound)"
+ - rscadd: "special jumpsuit for abductors"
+ - imageadd: "abductor jumpsuit, including digi version if a digitigrade person somehow manages to get their hands on it. sprites for the shrink ray and chem dispenser."
+ - rscadd: "new glands to play with, including the all-access gland, the quantum gland, and the blood type randomiser."
+ - code_imp: "split every gland into its own file instead of all being in one file"
diff --git a/html/changelogs/AutoChangeLog-pr-9925.yml b/html/changelogs/AutoChangeLog-pr-9925.yml
new file mode 100644
index 0000000000..6e2f44fc7b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-9925.yml
@@ -0,0 +1,4 @@
+author: "Linzolle"
+delete-after: True
+changes:
+ - tweak: "cosmic coat crafting recipe changed to coat + cosmic bedsheet"
diff --git a/html/changelogs/AutoChangeLog-pr-9940.yml b/html/changelogs/AutoChangeLog-pr-9940.yml
new file mode 100644
index 0000000000..75563c69b4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-9940.yml
@@ -0,0 +1,4 @@
+author: "Putnam"
+delete-after: True
+changes:
+ - tweak: "Dynamic rulesets have lower weight if a round recently featured them (except traitor)."
diff --git a/html/changelogs/AutoChangeLog-pr-9950.yml b/html/changelogs/AutoChangeLog-pr-9950.yml
new file mode 100644
index 0000000000..6d328aa131
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-9950.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - balance: "Clockwork marauders are now on a configured summon cooldown if being summoned on station. They also rapidly bleed health while in or next to space. And they glow brighter."
diff --git a/icons/mob/animals_held.dmi b/icons/mob/animals_held.dmi
new file mode 100644
index 0000000000..82a065d93a
Binary files /dev/null and b/icons/mob/animals_held.dmi differ
diff --git a/icons/mob/animals_held_lh.dmi b/icons/mob/animals_held_lh.dmi
new file mode 100644
index 0000000000..6c407c850b
Binary files /dev/null and b/icons/mob/animals_held_lh.dmi differ
diff --git a/icons/mob/animals_held_rh.dmi b/icons/mob/animals_held_rh.dmi
new file mode 100644
index 0000000000..322dad06d2
Binary files /dev/null and b/icons/mob/animals_held_rh.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index f5951e032c..365ed5afd9 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi
index 8978d17237..a166610826 100644
Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi
index 3f8a876d43..47ed1adfee 100644
Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ
diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi
index 30b8eb8f9a..c1912d74cc 100644
Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index d7514c8688..0f962591a5 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/mob/uniform_digi.dmi b/icons/mob/uniform_digi.dmi
index 3f1335153e..94d9f07e10 100644
Binary files a/icons/mob/uniform_digi.dmi and b/icons/mob/uniform_digi.dmi differ
diff --git a/icons/obj/abductor.dmi b/icons/obj/abductor.dmi
index d8968a107b..fd0893b300 100644
Binary files a/icons/obj/abductor.dmi and b/icons/obj/abductor.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index 058af32b1e..43162f2b7e 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi
index 2ea48828d2..e7c32fdf56 100644
Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ
diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi
index d23af6c9b4..bba3efc951 100644
Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ
diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi
index 6d5365f7fa..24ec5797d4 100644
Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ
diff --git a/icons/obj/hydroponics/equipment.dmi b/icons/obj/hydroponics/equipment.dmi
index dd4d1e1f93..37adf54711 100644
Binary files a/icons/obj/hydroponics/equipment.dmi and b/icons/obj/hydroponics/equipment.dmi differ
diff --git a/icons/obj/hydroponics/growing.dmi b/icons/obj/hydroponics/growing.dmi
index 45e73c9281..469b1e1aff 100644
Binary files a/icons/obj/hydroponics/growing.dmi and b/icons/obj/hydroponics/growing.dmi differ
diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi
index 9d4eefc3bb..a57719fb3a 100644
Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ
diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi
index d8fcaa6258..8695d03b3c 100644
Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ
diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi
index e38760b84d..93a1908fba 100644
Binary files a/icons/obj/monitors.dmi and b/icons/obj/monitors.dmi differ
diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi
index 7cb212384a..a80dc92b9a 100644
Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ
diff --git a/modular_citadel/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm b/modular_citadel/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
deleted file mode 100644
index 5dfe1dfcbd..0000000000
--- a/modular_citadel/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
+++ /dev/null
@@ -1,3 +0,0 @@
-/datum/round_event_control/spawn_swarmer
- weight = 0
- max_occurrences = 0
\ No newline at end of file
diff --git a/modular_citadel/code/game/gamemodes/revolution/revolution.dm b/modular_citadel/code/game/gamemodes/revolution/revolution.dm
deleted file mode 100644
index b377fc9fbd..0000000000
--- a/modular_citadel/code/game/gamemodes/revolution/revolution.dm
+++ /dev/null
@@ -1,5 +0,0 @@
-/datum/game_mode/revolution
- restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Quartermaster")
- false_report_weight = 10
- required_players = 20
- required_enemies = 1
diff --git a/modular_citadel/code/game/machinery/firealarm.dm b/modular_citadel/code/game/machinery/firealarm.dm
deleted file mode 100644
index 7c136f4e4d..0000000000
--- a/modular_citadel/code/game/machinery/firealarm.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/obj/machinery/firealarm/alt_attack_hand(mob/user)
- if(can_interact(usr))
- var/area/A = get_area(src)
- if(istype(A))
- if(A.fire)
- reset()
- else
- alarm()
- return TRUE
- return FALSE
diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm
index 9fa6d66d98..8d70464a2d 100644
--- a/modular_citadel/code/modules/arousal/genitals.dm
+++ b/modular_citadel/code/modules/arousal/genitals.dm
@@ -132,7 +132,7 @@
amount += 0.1
var/multiplier = fluid_mult
if(reagents.total_volume >= 5)
- multiplier *= 0.5
+ multiplier *= 0.8
if(reagents.total_volume < reagents.maximum_volume)
reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally
reagents.add_reagent(fluid_id, (amount * multiplier))//generate the cum
diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm
index a82d02703d..105f5e157d 100644
--- a/modular_citadel/code/modules/arousal/organs/breasts.dm
+++ b/modular_citadel/code/modules/arousal/organs/breasts.dm
@@ -7,6 +7,7 @@
slot = ORGAN_SLOT_BREASTS
size = "c" //refer to the breast_values static list below for the cups associated number values
fluid_id = "milk"
+ fluid_rate = MILK_RATE
shape = "pair"
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION
masturbation_verb = "massage"
@@ -63,7 +64,7 @@
//Allows breasts to grow and change size, with sprite changes too.
//maximum wah
//Comical sizes slow you down in movement and actions.
-//Rediculous sizes makes you more cumbersome.
+//Ridiculous sizes makes you more cumbersome.
//this is far too lewd wah
/obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY)
@@ -119,7 +120,7 @@
shape = D.features["breasts_shape"]
fluid_id = D.features["breasts_fluid"]
if(!D.features["breasts_producing"])
- DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)
+ DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH)
if(!isnum(size))
cached_size = breast_values[size]
else
diff --git a/modular_citadel/code/modules/food_and_drinks/snacks/meat.dm b/modular_citadel/code/modules/food_and_drinks/snacks/meat.dm
deleted file mode 100644
index f1b5d622bc..0000000000
--- a/modular_citadel/code/modules/food_and_drinks/snacks/meat.dm
+++ /dev/null
@@ -1,29 +0,0 @@
-/obj/item/reagent_containers/food/snacks/carpmeat/aquatic
- name = "fillet"
- desc = "A fillet of one of the local water dwelling species."
-
-/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
- icon = 'modular_citadel/icons/obj/foods.dmi'
- icon_state = "ipcmeat"
- desc = "Gross robot meat."
- filling_color = "#000000"
- tastes = list("metal" = 1)
-
-/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/insect
- desc = "Tastes like chicken, that's... not what it is!"
- icon = 'modular_citadel/icons/obj/foods.dmi'
- icon_state = "mothmeat"
- filling_color = "#BF896B"
- tastes = list("insects" = 1)
-
-/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/avian
- desc = "Tastes like chicken, that's because it is!"
- icon = 'modular_citadel/icons/obj/foods.dmi'
- icon_state = "birdmeat"
- filling_color = "#BF896B"
- tastes = list("chicken" = 1)
-
-/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal
- desc = "Tastes sweet... reminds you vaguely of chicken."
- filling_color = "#6B8E23"
- tastes = list("brains" = 1, "meat" = 1)
diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg archive.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg archive.dm
deleted file mode 100644
index 368abc6335..0000000000
--- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg archive.dm
+++ /dev/null
@@ -1,60 +0,0 @@
-/obj/item/robot_module/loader
- name = "loader robot module"
-/obj/item/robot_module/loader/New()
- ..()
- emag = new /obj/item/borg/stun(src)
- modules += new /obj/item/extinguisher(src)
- modules += new /obj/item/weldingtool/largetank/cyborg(src)
- modules += new /obj/item/screwdriver(src)
- modules += new /obj/item/wrench(src)
- modules += new /obj/item/crowbar(src)
- modules += new /obj/item/wirecutters(src)
- modules += new /obj/item/multitool(src)
- modules += new /obj/item/t_scanner(src)
- modules += new /obj/item/analyzer(src)
- modules += new /obj/item/assembly/signaler
- modules += new /obj/item/soap/nanotrasen(src)
-
- fix_modules()
-
-/obj/item/robot_module/k9
- name = "Security K-9 Unit module"
-/obj/item/robot_module/k9/New()
- ..()
- modules += new /obj/item/restraints/handcuffs/cable/zipties/cyborg/dog(src)
- modules += new /obj/item/dogborg/jaws/big(src)
- modules += new /obj/item/dogborg/pounce(src)
- modules += new /obj/item/clothing/mask/gas/sechailer/cyborg(src)
- modules += new /obj/item/soap/tongue(src)
- modules += new /obj/item/analyzer/nose(src)
- modules += new /obj/item/storage/bag/borgdelivery(src)
- //modules += new /obj/item/assembly/signaler(src)
- //modules += new /obj/item/detective_scanner(src)
- modules += new /obj/item/gun/energy/disabler/cyborg(src)
- emag = new /obj/item/gun/energy/laser/cyborg(src)
- fix_modules()
-
-/obj/item/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
- ..()
- var/obj/item/gun/energy/gun/advtaser/cyborg/T = locate(/obj/item/gun/energy/gun/advtaser/cyborg) in get_usable_modules()
- if(T)
- if(T.power_supply.charge < T.power_supply.maxcharge)
- var/obj/item/ammo_casing/energy/S = T.ammo_type[T.select]
- T.power_supply.give(S.e_cost * coeff)
- T.update_icon()
- else
- T.charge_tick = 0
- fix_modules()
-
-/obj/item/robot_module/borgi
- name = "Borgi module"
-
-/obj/item/robot_module/borgi/New()
- ..()
- modules += new /obj/item/dogborg/jaws/small(src)
- modules += new /obj/item/storage/bag/borgdelivery(src)
- modules += new /obj/item/soap/tongue(src)
- modules += new /obj/item/healthanalyzer(src)
- modules += new /obj/item/analyzer/nose(src)
- emag = new /obj/item/dogborg/pounce(src)
- fix_modules()
\ No newline at end of file
diff --git a/modular_citadel/code/modules/mob/mob.dm b/modular_citadel/code/modules/mob/mob.dm
deleted file mode 100644
index 2d08299320..0000000000
--- a/modular_citadel/code/modules/mob/mob.dm
+++ /dev/null
@@ -1,27 +0,0 @@
-/mob/proc/use_that_empty_hand() //currently unused proc so i can implement 2-handing any item a lot easier in the future.
- return
-
-/mob/say_mod(input, message_mode)
- var/customsayverb = findtext(input, "*")
- if(customsayverb && message_mode != MODE_WHISPER_CRIT)
- message_mode = MODE_CUSTOM_SAY
- return lowertext(copytext(input, 1, customsayverb))
- else
- return ..()
-
-/atom/movable/proc/attach_spans(input, list/spans)
- var/customsayverb = findtext(input, "*")
- if(customsayverb)
- input = capitalize(copytext(input, customsayverb+1))
- if(input)
- return "[message_spans_start(spans)][input] "
- else
- return
-
-/mob/living/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE, atom/movable/source)
- . = ..()
- if(isliving(speaker))
- var/turf/sourceturf = get_turf(source)
- var/turf/T = get_turf(src)
- if(sourceturf && T && !(sourceturf in get_hear(5, T)))
- . = "[.] "
diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm
index d16df6b285..b70858c9af 100644
--- a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm
+++ b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm
@@ -5,7 +5,6 @@
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state= "spinner"
damage = 30
- dismemberment = 25
/obj/item/projectile/bullet/spinfusor/on_hit(atom/target, blocked = FALSE) //explosion to emulate the spinfusor's AOE
..()
@@ -14,22 +13,16 @@
/obj/item/ammo_casing/caseless/spinfusor
name = "spinfusor disk"
- desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Warning: extremely volatile!"
+ desc = "A magnetic disk designed specifically for the Stormhammer magnetic cannon. Packs a punch."
projectile_type = /obj/item/projectile/bullet/spinfusor
caliber = "spinfusor"
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "disk"
+ w_class = WEIGHT_CLASS_SMALL
throwforce = 15 //still deadly when thrown
+ force = 5
throw_speed = 3
-/obj/item/ammo_casing/caseless/spinfusor/throw_impact(atom/target) //disks detonate when thrown
- if(!..()) // not caught in mid-air
- visible_message("[src] detonates! ")
- playsound(src.loc, "sparks", 50, 1)
- explosion(target, -1, -1, 1, 1, -1)
- qdel(src)
- return 1
-
/obj/item/ammo_box/magazine/internal/spinfusor
name = "spinfusor internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
@@ -71,7 +64,8 @@
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "spinfusorbox"
ammo_type = /obj/item/ammo_casing/caseless/spinfusor
- max_ammo = 8
+ w_class = WEIGHT_CLASS_NORMAL
+ max_ammo = 4
/datum/supply_pack/security/armory/spinfusor
name = "Stormhammer Spinfusor Crate"
@@ -84,7 +78,5 @@
name = "Spinfusor Disk Crate"
cost = 7000
contains = list(/obj/item/ammo_box/aspinfusor,
- /obj/item/ammo_box/aspinfusor,
- /obj/item/ammo_box/aspinfusor,
/obj/item/ammo_box/aspinfusor)
- crate_name = "spinfusor disk crate"
\ No newline at end of file
+ crate_name = "spinfusor disk crate"
diff --git a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm
index 4dea1ef12f..aa4c65c3bb 100644
--- a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm
+++ b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm
@@ -14,7 +14,7 @@
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
if(!istype(T))
return
- if(reac_volume < 3)
+ if(reac_volume < 10)
return
var/obj/effect/decal/cleanable/semen/S = locate() in T
@@ -80,7 +80,7 @@
/datum/reagent/consumable/femcum/reaction_turf(turf/T, reac_volume)
if(!istype(T))
return
- if(reac_volume < 3)
+ if(reac_volume < 10)
return
var/obj/effect/decal/cleanable/femcum/S = locate() in T
diff --git a/modular_citadel/icons/mob/widerobot.dmi b/modular_citadel/icons/mob/widerobot.dmi
index e574766d70..7e9da953c9 100644
Binary files a/modular_citadel/icons/mob/widerobot.dmi and b/modular_citadel/icons/mob/widerobot.dmi differ
diff --git a/modular_citadel/icons/obj/foods.dmi b/modular_citadel/icons/obj/foods.dmi
deleted file mode 100644
index 3349da8203..0000000000
Binary files a/modular_citadel/icons/obj/foods.dmi and /dev/null differ
diff --git a/sound/effects/neovgre_exploding.ogg b/sound/effects/neovgre_exploding.ogg
new file mode 100644
index 0000000000..6ca2db05c3
Binary files /dev/null and b/sound/effects/neovgre_exploding.ogg differ
diff --git a/sound/items/Nose_boop.ogg b/sound/items/Nose_boop.ogg
new file mode 100644
index 0000000000..6a742e95ea
Binary files /dev/null and b/sound/items/Nose_boop.ogg differ
diff --git a/sound/weapons/shrink_hit.ogg b/sound/weapons/shrink_hit.ogg
new file mode 100644
index 0000000000..c39c2d5269
Binary files /dev/null and b/sound/weapons/shrink_hit.ogg differ
diff --git a/tgstation.dme b/tgstation.dme
index b64a9aba74..f730001443 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -383,6 +383,7 @@
#include "code\datums\components\riding.dm"
#include "code\datums\components\rotation.dm"
#include "code\datums\components\shrapnel.dm"
+#include "code\datums\components\shrink.dm"
#include "code\datums\components\slippery.dm"
#include "code\datums\components\spooky.dm"
#include "code\datums\components\squeak.dm"
@@ -576,6 +577,17 @@
#include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm"
#include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm"
#include "code\game\gamemodes\extended\extended.dm"
+#include "code\game\gamemodes\gangs\dominator.dm"
+#include "code\game\gamemodes\gangs\dominator_countdown.dm"
+#include "code\game\gamemodes\gangs\gang.dm"
+#include "code\game\gamemodes\gangs\gang_datums.dm"
+#include "code\game\gamemodes\gangs\gang_decals.dm"
+#include "code\game\gamemodes\gangs\gang_hud.dm"
+#include "code\game\gamemodes\gangs\gang_items.dm"
+#include "code\game\gamemodes\gangs\gang_pen.dm"
+#include "code\game\gamemodes\gangs\gangs.dm"
+#include "code\game\gamemodes\gangs\gangtool.dm"
+#include "code\game\gamemodes\gangs\implant_gang.dm"
#include "code\game\gamemodes\meteor\meteor.dm"
#include "code\game\gamemodes\meteor\meteors.dm"
#include "code\game\gamemodes\monkey\monkey.dm"
@@ -1199,6 +1211,21 @@
#include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm"
#include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm"
#include "code\modules\antagonists\abductor\equipment\gland.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\access.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\blood.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\chem.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\egg.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\electric.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\heal.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\mindshock.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\plasma.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\quantum.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\slime.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\spider.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\transform.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\trauma.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\ventcrawl.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\viral.dm"
#include "code\modules\antagonists\abductor\machinery\camera.dm"
#include "code\modules\antagonists\abductor\machinery\console.dm"
#include "code\modules\antagonists\abductor\machinery\dispenser.dm"
@@ -3024,21 +3051,7 @@
#include "modular_citadel\code\datums\status_effects\chems.dm"
#include "modular_citadel\code\datums\status_effects\debuffs.dm"
#include "modular_citadel\code\datums\wires\autoylathe.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\dominator.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\dominator_countdown.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_datums.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_decals.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_hud.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_items.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_pen.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gangs.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gangtool.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\implant_gang.dm"
-#include "modular_citadel\code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm"
-#include "modular_citadel\code\game\gamemodes\revolution\revolution.dm"
#include "modular_citadel\code\game\machinery\displaycases.dm"
-#include "modular_citadel\code\game\machinery\firealarm.dm"
#include "modular_citadel\code\game\machinery\Sleeper.dm"
#include "modular_citadel\code\game\machinery\toylathe.dm"
#include "modular_citadel\code\game\machinery\vending.dm"
@@ -3105,7 +3118,6 @@
#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
-#include "modular_citadel\code\modules\food_and_drinks\snacks\meat.dm"
#include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm"
#include "modular_citadel\code\modules\mentor\follow.dm"
#include "modular_citadel\code\modules\mentor\mentor.dm"
@@ -3115,7 +3127,6 @@
#include "modular_citadel\code\modules\mentor\mentorpm.dm"
#include "modular_citadel\code\modules\mentor\mentorsay.dm"
#include "modular_citadel\code\modules\mob\cit_emotes.dm"
-#include "modular_citadel\code\modules\mob\mob.dm"
#include "modular_citadel\code\modules\mob\living\damage_procs.dm"
#include "modular_citadel\code\modules\mob\living\living.dm"
#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js
index 531f0ded4e..cc0b5d198f 100644
--- a/tgui/assets/tgui.js
+++ b/tgui/assets/tgui.js
@@ -6,16 +6,16 @@ try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n},_=function(t)
return t.docFrag.appendChild(e.render())}),this.renderedFragments=this.fragments.slice(),this.fragmentsToRender=[],this.rendered=!0,this.docFrag}function Ze(t){var e,n,a=this;this.updating||(this.updating=!0,this.keypath&&(e=this.root.viewmodel.wrapped[this.keypath.str])&&(t=e.get()),this.fragmentsToCreate.length?(n={template:this.template.f||[],root:this.root,pElement:this.pElement,owner:this},this.fragmentsToCreate.forEach(function(t){var e;n.context=a.keypath.join(t),n.index=t,e=new rg(n),a.fragmentsToRender.push(a.fragments[t]=e)}),this.fragmentsToCreate.length=0):en(this,t)&&(this.bubble(),this.rendered&&bs.addView(this)),this.value=t,this.updating=!1)}function tn(t,e,n){if(e===Bu&&t.indexRefs&&t.indexRefs[0]){var a=t.indexRefs[0];(n&&"i"===a.t||!n&&"k"===a.t)&&(n||(t.length=0,t.fragmentsToUnrender=t.fragments.slice(0),t.fragmentsToUnrender.forEach(function(t){return t.unbind()}))),a.t=n?"k":"i"}t.currentSubtype=e}function en(t,e){var n={template:t.template.f||[],root:t.root,pElement:t.parentFragment.pElement,owner:t};if(t.hasContext=!0,t.subtype)switch(t.subtype){case Fu:return t.hasContext=!1,sn(t,e,!1,n);case Iu:return t.hasContext=!1,sn(t,e,!0,n);case Uu:return on(t,n);case Vu:return rn(t,e,n);case Bu:if(u(e))return tn(t,t.subtype,!0),an(t,e,n)}return t.ordered=!!o(e),t.ordered?(tn(t,Bu,!1),nn(t,e,n)):u(e)||"function"==typeof e?t.template.i?(tn(t,Bu,!0),an(t,e,n)):(tn(t,Uu,!1),on(t,n)):(tn(t,Fu,!1),t.hasContext=!1,sn(t,e,!1,n))}function nn(t,e,n){var a,r,i;if(r=e.length,r===t.length)return!1;if(rt.length)for(a=t.length;r>a;a+=1)n.context=t.keypath.join(a),n.index=a,i=new rg(n),t.fragmentsToRender.push(t.fragments[a]=i);return t.length=r,!0}function an(t,e,n){var a,r,i,o,s,p;for(i=t.hasKey||(t.hasKey={}),r=t.fragments.length;r--;)o=t.fragments[r],o.key in e||(s=!0,o.unbind(),t.fragmentsToUnrender.push(o),t.fragments.splice(r,1),i[o.key]=!1);for(r=t.fragments.length;r--;)o=t.fragments[r],o.index!==r&&(o.index=r,(p=o.registeredIndexRefs)&&p.forEach(cn));r=t.fragments.length;for(a in e)i[a]||(s=!0,n.context=t.keypath.join(a),n.key=a,n.index=r++,o=new rg(n),t.fragmentsToRender.push(o),t.fragments.push(o),i[a]=!0);return t.length=t.fragments.length,s}function rn(t,e,n){return e?on(t,n):pn(t)}function on(t,e){var n;return t.length?void 0:(e.context=t.keypath,e.index=0,n=new rg(e),t.fragmentsToRender.push(t.fragments[0]=n),t.length=1,!0)}function sn(t,e,n,a){var r,i,s,p,c;if(i=o(e)&&0===e.length,s=!1,!o(e)&&u(e)){s=!0;for(c in e){s=!1;break}}return r=n?i||s||!e:e&&!i&&!s,r?t.length?t.length>1?(t.fragmentsToUnrender=t.fragments.splice(1),t.fragmentsToUnrender.forEach(K),!0):void 0:(a.index=0,p=new rg(a),t.fragmentsToRender.push(t.fragments[0]=p),t.length=1,!0):pn(t)}function pn(t){return t.length?(t.fragmentsToUnrender=t.fragments.splice(0,t.fragments.length).filter(un),t.fragmentsToUnrender.forEach(K),t.length=t.fragmentsToRender.length=0,!0):void 0}function un(t){return t.rendered}function cn(t){t.rebind("","")}function ln(t){var e,n,a;for(e="",n=0,a=this.length,n=0;a>n;n+=1)e+=this.fragments[n].toString(t);return e}function dn(){var t=this;this.fragments.forEach(K),this.fragmentsToRender.forEach(function(e){return N(t.fragments,e)}),this.fragmentsToRender=[],_c.call(this),this.length=0,this.unbound=!0}function fn(t){this.fragments.forEach(t?hn:mn),this.renderedFragments=[],this.rendered=!1}function hn(t){t.unrender(!0)}function mn(t){t.unrender(!1)}function gn(){var t,e,n,a,r,i,o;for(n=this.renderedFragments;t=this.fragmentsToUnrender.pop();)t.unrender(!0),n.splice(n.indexOf(t),1);for(;t=this.fragmentsToRender.shift();)t.render();for(this.rendered&&(r=this.parentFragment.getNode()),o=this.fragments.length,i=0;o>i;i+=1)t=this.fragments[i],e=n.indexOf(t,i),e!==i?(this.docFrag.appendChild(t.detach()),-1!==e&&n.splice(e,1),n.splice(i,0,t)):this.docFrag.childNodes.length&&(a=t.firstNode(),r.insertBefore(this.docFrag,a));this.rendered&&this.docFrag.childNodes.length&&(a=this.parentFragment.findNextNode(this),r.insertBefore(this.docFrag,a)),this.renderedFragments=this.fragments.slice()}function vn(){var t,e;if(this.docFrag){for(t=this.nodes.length,e=0;t>e;e+=1)this.docFrag.appendChild(this.nodes[e]);return this.docFrag}}function bn(t){var e,n,a,r;for(n=this.nodes.length,e=0;n>e;e+=1)if(a=this.nodes[e],1===a.nodeType){if(lo(a,t))return a;if(r=a.querySelector(t))return r}return null}function yn(t,e){var n,a,r,i,o,s;for(a=this.nodes.length,n=0;a>n;n+=1)if(r=this.nodes[n],1===r.nodeType&&(lo(r,t)&&e.push(r),i=r.querySelectorAll(t)))for(o=i.length,s=0;o>s;s+=1)e.push(i[s])}function _n(){return this.rendered&&this.nodes[0]?this.nodes[0]:this.parentFragment.findNextNode(this)}function xn(t){return gl[t]||(gl[t]=co(t))}function wn(t){var e,n,a;t&&"select"===t.name&&t.binding&&(e=F(t.node.options).filter(kn),t.getAttribute("multiple")?a=e.map(function(t){return t.value}):(n=e[0])&&(a=n.value),void 0!==a&&t.binding.setValue(a),t.bubble())}function kn(t){return t.selected}function Sn(){if(this.rendered)throw Error("Attempted to render an item that was already rendered");return this.docFrag=document.createDocumentFragment(),this.nodes=vl(this.value,this.parentFragment.getNode(),this.docFrag),bl(this.pElement),this.rendered=!0,this.docFrag}function En(t){var e;(e=this.root.viewmodel.wrapped[this.keypath.str])&&(t=e.get()),t!==this.value&&(this.value=t,this.parentFragment.bubble(),this.rendered&&bs.addView(this))}function Cn(){return void 0!=this.value?we(""+this.value):""}function Pn(t){this.rendered&&t&&(this.nodes.forEach(e),this.rendered=!1)}function An(){var t,e;if(this.rendered){for(;this.nodes&&this.nodes.length;)t=this.nodes.pop(),t.parentNode.removeChild(t);e=this.parentFragment.getNode(),this.nodes=vl(this.value,e,this.docFrag),e.insertBefore(this.docFrag,this.parentFragment.findNextNode(this)),bl(this.pElement)}}function On(){var t,e=this.node;return e?((t=e.parentNode)&&t.removeChild(e),e):void 0}function Tn(){return null}function Rn(){return this.node}function Mn(t){return this.attributes&&this.attributes[t]?this.attributes[t].value:void 0}function Ln(){var t=this.useProperty||!this.rendered?this.fragment.getValue():""+this.fragment;s(t,this.value)||("id"===this.name&&this.value&&delete this.root.nodes[this.value],this.value=t,"value"===this.name&&this.node&&(this.node._ractive.value=t),this.rendered&&bs.addView(this))}function jn(t){var e=t.fragment.items;if(1===e.length)return e[0].type===Su?e[0]:void 0}function Dn(t){return this.type=Tu,this.element=t.element,this.root=t.root,zl(this,t.name),this.isBoolean=rc.test(this.name),t.value&&"string"!=typeof t.value?(this.parentFragment=this.element.parentFragment,this.fragment=new rg({template:t.value,root:this.root,owner:this}),this.value=this.fragment.getValue(),this.interpolator=Wl(this),this.isBindable=!!this.interpolator&&!this.interpolator.isStatic,void(this.ready=!0)):void(this.value=this.isBoolean?!0:t.value||"")}function Nn(t,e){this.fragment&&this.fragment.rebind(t,e)}function Fn(t){var e;this.node=t,t.namespaceURI&&t.namespaceURI!==no.html||(e=Yl[this.name]||this.name,void 0!==t[e]&&(this.propertyName=e),(this.isBoolean||this.isTwoway)&&(this.useProperty=!0),"value"===e&&(t._ractive.value=this.value)),this.rendered=!0,this.update()}function In(){var t=this,e=t.name,n=t.namespacePrefix,a=t.value,r=t.interpolator,i=t.fragment;if(("value"!==e||"select"!==this.element.name&&"textarea"!==this.element.name)&&("value"!==e||void 0===this.element.getAttribute("contenteditable"))){if("name"===e&&"input"===this.element.name&&r)return"name={{"+(r.keypath.str||r.ref)+"}}";if(this.isBoolean)return a?e:"";if(i){if(1===i.items.length&&null==i.items[0].value)return"";a=""+i}return n&&(e=n+":"+e),a?e+'="'+Bn(a)+'"':e}}function Bn(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}function Un(){this.fragment&&this.fragment.unbind(),"id"===this.name&&delete this.root.nodes[this.value]}function Vn(){var t,e,n,a,r=this.value;if(!this.locked)for(this.node._ractive.value=r,t=this.node.options,a=t.length;a--;)if(e=t[a],n=e._ractive?e._ractive.value:e.value,n==r){e.selected=!0;break}}function qn(){var t,e,n,a,r=this.value;for(i(r)||(r=[r]),t=this.node.options,e=t.length;e--;)n=t[e],a=n._ractive?n._ractive.value:n.value,n.selected=M(r,a)}function Gn(){var t=this,e=t.node,n=t.value;e.checked=n==e._ractive.value}function zn(){var t,e,n,a,r=this.node;if(t=r.checked,r.value=this.element.getAttribute("value"),r.checked=this.element.getAttribute("value")===this.element.getAttribute("name"),t&&!r.checked&&this.element.binding&&(n=this.element.binding.siblings,a=n.length)){for(;a--;){if(e=n[a],!e.element.node)return;if(e.element.node.checked)return bs.addRactive(e.root),e.handleChange()}this.root.viewmodel.set(e.keypath,void 0)}}function Wn(){var t,e,n=this,a=n.element,r=n.node,o=n.value,s=a.binding;if(t=a.getAttribute("value"),i(o)){for(e=o.length;e--;)if(t==o[e])return void(s.isChecked=r.checked=!0);s.isChecked=r.checked=!1}else s.isChecked=r.checked=o==t}function Hn(){this.node.className=n(this.value)}function Kn(){var t=this,e=t.node,n=t.value;this.root.nodes[n]=e,e.id=n}function Qn(){var t,e;t=this.node,e=this.value,void 0===e&&(e=""),t.style.setAttribute("cssText",e)}function Yn(){var t=this.value;void 0===t&&(t=""),this.locked||(this.node.innerHTML=t)}function $n(){var t=this,e=t.node,n=t.value;e._ractive.value=n,this.locked||(e.value=void 0==n?"":n)}function Jn(){this.locked||(this.node[this.propertyName]=this.value)}function Xn(){var t=this,e=t.node,n=t.namespace,a=t.name,r=t.value,i=t.fragment;n?e.setAttributeNS(n,a,""+(i||r)):this.isBoolean?r?e.setAttribute(a,""):e.removeAttribute(a):null==r?e.removeAttribute(a):e.setAttribute(a,""+(i||r))}function Zn(){var t,e,n=this,a=n.name,r=n.element,i=n.node;"id"===a?e=rd:"value"===a?"select"===r.name&&"value"===a?e=r.getAttribute("multiple")?Zl:Xl:"textarea"===r.name?e=sd:null!=r.getAttribute("contenteditable")?e=od:"input"===r.name&&(t=r.getAttribute("type"),e="file"===t?ko:"radio"===t&&r.binding&&"name"===r.binding.name?ed:sd):this.isTwoway&&"name"===a?"radio"===i.type?e=td:"checkbox"===i.type&&(e=nd):"style"===a&&i.style.setAttribute?e=id:"class"!==a||i.namespaceURI&&i.namespaceURI!==no.html?this.useProperty&&(e=pd):e=ad,e||(e=ud),this.update=e,this.update()}function ta(t,e){var n=e?"svg":"div";return dd.innerHTML="<"+n+" "+t+">"+n+">",F(dd.childNodes[0].attributes)}function ea(t,e){for(var n=t.length;n--;)if(t[n].name===e.name)return!1;return!0}function na(t){for(;t=t.parent;)if("form"===t.name)return t}function aa(){this._ractive.binding.handleChange()}function ra(){var t;xd.call(this),t=this._ractive.root.viewmodel.get(this._ractive.binding.keypath),this.value=void 0==t?"":t}function ia(){var t=this._ractive.binding,e=this;t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.rendered&&xd.call(e),t._timeout=void 0},t.element.lazy)}function oa(t,e,n){var a=t+e+n;return Cd[a]||(Cd[a]=[])}function sa(t){return t.isChecked}function pa(t){return t.element.getAttribute("value")}function ua(t){var e,n,a,r,i,o=t.attributes;return t.binding&&(t.binding.teardown(),t.binding=null),(t.getAttribute("contenteditable")||o.contenteditable&&ca(o.contenteditable))&&ca(o.value)?n=Sd:"input"===t.name?(e=t.getAttribute("type"),"radio"===e||"checkbox"===e?(a=ca(o.name),r=ca(o.checked),a&&r&&m("A radio input can have two-way binding on its name attribute, or its checked attribute - not both",{ractive:t.root}),a?n="radio"===e?Td:Md:r&&(n="radio"===e?Ad:jd)):"file"===e&&ca(o.value)?n=Ud:ca(o.value)&&(n="number"===e||"range"===e?Vd:wd)):"select"===t.name&&ca(o.value)?n=t.getAttribute("multiple")?Id:Nd:"textarea"===t.name&&ca(o.value)&&(n=wd),n&&(i=new n(t))&&i.keypath?i:void 0}function ca(t){return t&&t.isBindable}function la(){var t=this.getAction();t&&!this.hasListener?this.listen():!t&&this.hasListener&&this.unrender()}function da(t){zs(this.root,this.getAction(),{event:t})}function fa(){return(""+this.action).trim()}function ha(t,e,n){var a,r,i,o=this;this.element=t,this.root=t.root,this.parentFragment=t.parentFragment,this.name=e,-1!==e.indexOf("*")&&(l('Only component proxy-events may contain "*" wildcards, <%s on-%s="..."/> is not valid',t.name,e),this.invalid=!0),n.m?(r=n.a.r,this.method=n.m,this.keypaths=[],this.fn=Mc(n.a.s,r.length),this.parentFragment=t.parentFragment,i=this.root,this.refResolvers=[],r.forEach(function(t,e){var n=void 0;(n=Kd.exec(t))?o.keypaths[e]={eventObject:!0,refinements:n[1]?n[1].split("."):[]}:o.refResolvers.push(Rc(o,t,function(t){return o.resolve(e,t)}))}),this.fire=ma):(a=n.n||n,"string"!=typeof a&&(a=new rg({template:a,root:this.root,owner:this})),this.action=a,n.d?(this.dynamicParams=new rg({template:n.d,root:this.root,owner:this.element}),this.fire=va):n.a&&(this.params=n.a,this.fire=ga))}function ma(t){var e,n,a;if(e=this.root,"function"!=typeof e[this.method])throw Error('Attempted to call a non-existent method ("'+this.method+'")');n=this.keypaths.map(function(n){var a,r,i;if(void 0!==n){if(n.eventObject){if(a=t,r=n.refinements.length)for(i=0;r>i;i+=1)a=a[n.refinements[i]]}else a=e.viewmodel.get(n);return a}}),Gs.enqueue(e,t),a=this.fn.apply(null,n),e[this.method].apply(e,a),Gs.dequeue(e)}function ga(t){zs(this.root,this.getAction(),{event:t,args:this.params})}function va(t){var e=this.dynamicParams.getArgsList();"string"==typeof e&&(e=e.substr(1,e.length-2)),zs(this.root,this.getAction(),{event:t,args:e})}function ba(t){var e,n,a,r={};e=this._ractive,n=e.events[t.type],(a=Oc(n.element.parentFragment))&&(r=Oc.resolve(a)),n.fire({node:this,original:t,index:r,keypath:e.keypath.str,context:e.root.viewmodel.get(e.keypath)})}function ya(){var t,e=this.name;if(!this.invalid){if(t=v("events",this.root,e))this.custom=t(this.node,_a(e));else{if(!("on"+e in this.node||window&&"on"+e in window||Zi))return void(Jd[e]||g(Io(e,"event"),{node:this.node}));this.node.addEventListener(e,Qd,!1)}this.hasListener=!0}}function _a(t){return $d[t]||($d[t]=function(e){var n=e.node._ractive;e.index=n.index,e.keypath=n.keypath.str,e.context=n.root.viewmodel.get(n.keypath),n.events[t].fire(e)}),$d[t]}function xa(t,e){function n(n){n&&n.rebind(t,e)}var a;return this.method?(a=this.element.parentFragment,void this.refResolvers.forEach(n)):("string"!=typeof this.action&&n(this.action),void(this.dynamicParams&&n(this.dynamicParams)))}function wa(){this.node=this.element.node,this.node._ractive.events[this.name]=this,(this.method||this.getAction())&&this.listen()}function ka(t,e){this.keypaths[t]=e}function Sa(){return this.method?void this.refResolvers.forEach(K):("string"!=typeof this.action&&this.action.unbind(),void(this.dynamicParams&&this.dynamicParams.unbind()))}function Ea(){this.custom?this.custom.teardown():this.node.removeEventListener(this.name,Qd,!1),this.hasListener=!1}function Ca(){var t=this;this.dirty||(this.dirty=!0,bs.scheduleTask(function(){Pa(t),t.dirty=!1})),this.parentFragment.bubble()}function Pa(t){var e,n,a,r,i;e=t.node,e&&(r=F(e.options),n=t.getAttribute("value"),a=t.getAttribute("multiple"),void 0!==n?(r.forEach(function(t){var e,r;e=t._ractive?t._ractive.value:t.value,r=a?Aa(n,e):n==e,r&&(i=!0),t.selected=r}),i||(r[0]&&(r[0].selected=!0),t.binding&&t.binding.forceUpdate())):t.binding&&t.binding.forceUpdate())}function Aa(t,e){for(var n=t.length;n--;)if(t[n]==e)return!0}function Oa(t,e){t.select=Ra(t.parent),t.select&&(t.select.options.push(t),e.a||(e.a={}),void 0!==e.a.value||e.a.hasOwnProperty("disabled")||(e.a.value=e.f),"selected"in e.a&&void 0!==t.select.getAttribute("value")&&delete e.a.selected)}function Ta(t){t.select&&N(t.select.options,t)}function Ra(t){if(t)do if("select"===t.name)return t;while(t=t.parent)}function Ma(t){var e,n,a,r,i,o,s;this.type=Pu,e=this.parentFragment=t.parentFragment,n=this.template=t.template,this.parent=t.pElement||e.pElement,this.root=a=e.root,this.index=t.index,this.key=t.key,this.name=Gl(n.e),"option"===this.name&&Oa(this,n),"select"===this.name&&(this.options=[],this.bubble=Ca),"form"===this.name&&(this.formBindings=[]),s=Vl(this,n),this.attributes=hd(this,n.a),this.conditionalAttributes=vd(this,n.m),n.f&&(this.fragment=new rg({template:n.f,root:a,owner:this,pElement:this,cssIds:null})),o=a.twoway,s.twoway===!1?o=!1:s.twoway===!0&&(o=!0),this.twoway=o,this.lazy=s.lazy,o&&(r=qd(this,n.a))&&(this.binding=r,i=this.root._twowayBindings[r.keypath.str]||(this.root._twowayBindings[r.keypath.str]=[]),i.push(r)),n.v&&(this.eventHandlers=of(this,n.v)),n.o&&(this.decorator=new lf(this,n.o)),this.intro=n.t0||n.t1,this.outro=n.t0||n.t2}function La(t,e){function n(n){n.rebind(t,e)}var a,r,i,o;if(this.attributes&&this.attributes.forEach(n),this.conditionalAttributes&&this.conditionalAttributes.forEach(n),this.eventHandlers&&this.eventHandlers.forEach(n),this.decorator&&n(this.decorator),this.fragment&&n(this.fragment),i=this.liveQueries)for(o=this.root,a=i.length;a--;)i[a]._makeDirty();this.node&&(r=this.node._ractive)&&w(r,"keypath",t,e)}function ja(t){var e;(t.attributes.width||t.attributes.height)&&t.node.addEventListener("load",e=function(){var n=t.getAttribute("width"),a=t.getAttribute("height");void 0!==n&&t.node.setAttribute("width",n),void 0!==a&&t.node.setAttribute("height",a),t.node.removeEventListener("load",e,!1)},!1)}function Da(t){t.node.addEventListener("reset",Fa,!1)}function Na(t){t.node.removeEventListener("reset",Fa,!1)}function Fa(){var t=this._ractive.proxy;bs.start(),t.formBindings.forEach(Ia),bs.end()}function Ia(t){t.root.viewmodel.set(t.keypath,t.resetValue)}function Ba(t,e,n){var a,r,i;this.element=t,this.root=a=t.root,this.isIntro=n,r=e.n||e,("string"==typeof r||(i=new rg({template:r,root:a,owner:t}),r=""+i,i.unbind(),""!==r))&&(this.name=r,e.a?this.params=e.a:e.d&&(i=new rg({template:e.d,root:a,owner:t}),this.params=i.getArgsList(),i.unbind()),this._fn=v("transitions",a,r),this._fn||g(Io(r,"transition"),{ractive:this.root}))}function Ua(t){return t}function Va(){Vf.hidden=document[Ff]}function qa(){Vf.hidden=!0}function Ga(){Vf.hidden=!1}function za(){var t,e,n,a=this;return t=this.node=this.element.node,e=t.getAttribute("style"),this.complete=function(r){n||(!r&&a.isIntro&&Wa(t,e),t._ractive.transition=null,a._manager.remove(a),n=!0)},this._fn?void this._fn.apply(this.root,[this].concat(this.params)):void this.complete()}function Wa(t,e){e?t.setAttribute("style",e):(t.getAttribute("style"),t.removeAttribute("style"))}function Ha(){var t,e,n,a=this,r=this.root;return t=Ka(this),e=this.node=co(this.name,t),this.parentFragment.cssIds&&this.node.setAttribute("data-ractive-css",this.parentFragment.cssIds.map(function(t){return"{"+t+"}"}).join(" ")),Eo(this.node,"_ractive",{value:{proxy:this,keypath:cs(this.parentFragment),events:So(null),root:r}}),this.attributes.forEach(function(t){return t.render(e)}),this.conditionalAttributes.forEach(function(t){return t.render(e)}),this.fragment&&("script"===this.name?(this.bubble=Xf,this.node.text=this.fragment.toString(!1),this.fragment.unrender=ko):"style"===this.name?(this.bubble=Jf,this.bubble(),this.fragment.unrender=ko):this.binding&&this.getAttribute("contenteditable")?this.fragment.unrender=ko:this.node.appendChild(this.fragment.render())),this.binding&&(this.binding.render(),this.node._ractive.binding=this.binding),this.eventHandlers&&this.eventHandlers.forEach(function(t){return t.render()}),"option"===this.name&&Qa(this),"img"===this.name?ja(this):"form"===this.name?Da(this):"input"===this.name||"textarea"===this.name?this.node.defaultValue=this.node.value:"option"===this.name&&(this.node.defaultSelected=this.node.selected),this.decorator&&this.decorator.fn&&bs.scheduleTask(function(){a.decorator.torndown||a.decorator.init()},!0),r.transitionsEnabled&&this.intro&&(n=new Zf(this,this.intro,!0),bs.registerTransition(n),bs.scheduleTask(function(){return n.start()},!0),this.transition=n),this.node.autofocus&&bs.scheduleTask(function(){return a.node.focus()},!0),Ya(this),this.node}function Ka(t){var e,n,a;return e=(n=t.getAttribute("xmlns"))?n:"svg"===t.name?no.svg:(a=t.parent)?"foreignObject"===a.name?no.html:a.node.namespaceURI:t.root.el.namespaceURI}function Qa(t){var e,n,a;if(t.select&&(n=t.select.getAttribute("value"),void 0!==n))if(e=t.getAttribute("value"),t.select.node.multiple&&i(n)){for(a=n.length;a--;)if(e==n[a]){t.node.selected=!0;break}}else t.node.selected=e==n}function Ya(t){var e,n,a,r,i;e=t.root;do for(n=e._liveQueries,a=n.length;a--;)r=n[a],i=n["_"+r],i._test(t)&&(t.liveQueries||(t.liveQueries=[])).push(i);while(e=e.parent)}function $a(t){var e,n,a;if(e=t.getAttribute("value"),void 0===e||!t.select)return!1;if(n=t.select.getAttribute("value"),n==e)return!0;if(t.select.getAttribute("multiple")&&i(n))for(a=n.length;a--;)if(n[a]==e)return!0}function Ja(t){var e,n,a,r;return e=t.attributes,n=e.type,a=e.value,r=e.name,n&&"radio"===n.value&&a&&r.interpolator&&a.value===r.interpolator.value?!0:void 0}function Xa(t){var e=""+t;return e?" "+e:""}function Za(){this.fragment&&this.fragment.unbind(),this.binding&&this.binding.unbind(),this.eventHandlers&&this.eventHandlers.forEach(K),"option"===this.name&&Ta(this),this.attributes.forEach(K),this.conditionalAttributes.forEach(K)}function tr(t){var e,n,a;(a=this.transition)&&a.complete(),"option"===this.name?this.detach():t&&bs.detachWhenReady(this),this.fragment&&this.fragment.unrender(!1),(e=this.binding)&&(this.binding.unrender(),this.node._ractive.binding=null,n=this.root._twowayBindings[e.keypath.str],n.splice(n.indexOf(e),1)),this.eventHandlers&&this.eventHandlers.forEach(Q),this.decorator&&bs.registerDecorator(this.decorator),this.root.transitionsEnabled&&this.outro&&(a=new Zf(this,this.outro,!1),bs.registerTransition(a),bs.scheduleTask(function(){return a.start()})),this.liveQueries&&er(this),"form"===this.name&&Na(this)}function er(t){var e,n,a;for(a=t.liveQueries.length;a--;)e=t.liveQueries[a],n=e.selector,e._remove(t.node)}function nr(t,e){var n=sh.exec(e)[0];return null===t||n.length%s}}) cannot contain nested inline partials",e,{ractive:t});var s=a?i:ir(i,e);s.partials[e]=r=o.t}return a&&(r._fn=a),r.v?r.t:r}}function ir(t,e){return t.partials.hasOwnProperty(e)?t:or(t.constructor,e)}function or(t,e){return t?t.partials.hasOwnProperty(e)?t:or(t._Parent,e):void 0}function sr(t,e){if(e){if(e.template&&e.template.p&&e.template.p[t])return e.template.p[t];if(e.parentFragment&&e.parentFragment.owner)return sr(t,e.parentFragment.owner)}}function pr(t,e){var n,a=b("components",t,e);if(a&&(n=a.components[e],!n._Parent)){var r=n.bind(a);if(r.isOwner=a.components.hasOwnProperty(e),n=r(),!n)return void m(Fo,e,"component","component",{ractive:t});"string"==typeof n&&(n=pr(t,n)),n._fn=r,a.components[e]=n}return n}function ur(){var t=this.instance.fragment.detach();return yh.fire(this.instance),t}function cr(t){return this.instance.fragment.find(t)}function lr(t,e){return this.instance.fragment.findAll(t,e)}function dr(t,e){e._test(this,!0),this.instance.fragment&&this.instance.fragment.findAllComponents(t,e)}function fr(t){return t&&t!==this.name?this.instance.fragment?this.instance.fragment.findComponent(t):null:this.instance}function hr(){return this.parentFragment.findNextNode(this)}function mr(){return this.rendered?this.instance.fragment.firstNode():null}function gr(t,e,n){function a(t){var n,a;t.value=e,t.updating||(a=t.ractive,n=t.keypath,t.updating=!0,bs.start(a),a.viewmodel.mark(n),bs.end(),t.updating=!1)}var r,i,o,s,p,u;if(r=t.obj,i=t.prop,n&&!n.configurable){if("length"===i)return;throw Error('Cannot use magic mode with property "'+i+'" - object is not configurable')}n&&(o=n.get,s=n.set),p=o||function(){return e},u=function(t){s&&s(t),e=o?o():t,u._ractiveWrappers.forEach(a)},u._ractiveWrappers=[t],Object.defineProperty(r,i,{get:p,set:u,enumerable:!0,configurable:!0})}function vr(t,e){var n,a,r,i;if(this.adaptors)for(n=this.adaptors.length,a=0;n>a;a+=1)if(r=this.adaptors[a],r.filter(e,t,this.ractive))return i=this.wrapped[t]=r.wrap(this.ractive,e,t,yr(t)),void(i.value=e)}function br(t,e){var n,a={};if(!e)return t;e+=".";for(n in t)t.hasOwnProperty(n)&&(a[e+n]=t[n]);return a}function yr(t){var e;return Gh[t]||(e=t?t+".":"",Gh[t]=function(n,a){var r;return"string"==typeof n?(r={},r[e+n]=a,r):"object"==typeof n?e?br(n,t):n:void 0}),Gh[t]}function _r(t){var e,n,a=[$o];for(e=t.length;e--;)for(n=t[e].parent;n&&!n.isRoot;)-1===t.indexOf(n)&&R(a,n),n=n.parent;return a}function xr(t,e,n){var a;kr(t,e),n||(a=e.wildcardMatches(),a.forEach(function(n){wr(t,n,e)}))}function wr(t,e,n){var a,r,i;e=e.str||e,a=t.depsMap.patternObservers,r=a&&a[e],r&&r.forEach(function(e){i=n.join(e.lastKey),kr(t,i),wr(t,e,i)})}function kr(t,e){t.patternObservers.forEach(function(t){t.regex.test(e.str)&&t.update(e)})}function Sr(){function t(t){var a=t.key;t.viewmodel===o?(o.clearCache(a.str),t.invalidate(),n.push(a),e(a)):t.viewmodel.mark(a)}function e(n){var a,r;o.noCascade.hasOwnProperty(n.str)||((r=o.deps.computed[n.str])&&r.forEach(t),(a=o.depsMap.computed[n.str])&&a.forEach(e))}var n,a,r,i=this,o=this,s={};return n=this.changes,n.length?(n.slice().forEach(e),a=zh(n),a.forEach(function(e){var a;-1===n.indexOf(e)&&(a=o.deps.computed[e.str])&&a.forEach(t)}),this.changes=[],this.patternObservers.length&&(a.forEach(function(t){return Wh(i,t,!0)}),n.forEach(function(t){return Wh(i,t)})),this.deps.observers&&(a.forEach(function(t){return Er(i,null,t,"observers")}),Pr(this,n,"observers")),this.deps["default"]&&(r=[],a.forEach(function(t){return Er(i,r,t,"default")}),r.length&&Cr(this,r,n),Pr(this,n,"default")),n.forEach(function(t){s[t.str]=i.get(t)}),this.implicitChanges={},this.noCascade={},s):void 0}function Er(t,e,n,a){var r,i;(r=Ar(t,n,a))&&(i=t.get(n),r.forEach(function(t){e&&t.refineValue?e.push(t):t.setValue(i)}))}function Cr(t,e,n){e.forEach(function(e){for(var a=!1,r=0,i=n.length,o=[];i>r;){var s=n[r];if(s===e.keypath){a=!0;break}s.slice(0,e.keypath.length)===e.keypath&&o.push(s),r++}a&&e.setValue(t.get(e.keypath)),o.length&&e.refineValue(o)})}function Pr(t,e,n){function a(t){t.forEach(r),t.forEach(i)}function r(e){var a=Ar(t,e,n);a&&s.push({keypath:e,deps:a})}function i(e){var r;(r=t.depsMap[n][e.str])&&a(r)}function o(e){var n=t.get(e.keypath);e.deps.forEach(function(t){return t.setValue(n)})}var s=[];a(e),s.forEach(o)}function Ar(t,e,n){var a=t.deps[n];return a?a[e.str]:null}function Or(){this.captureGroups.push([])}function Tr(t,e){var n,a;if(e||(a=this.wrapped[t])&&a.teardown()!==!1&&(this.wrapped[t]=null),this.cache[t]=void 0,n=this.cacheMap[t])for(;n.length;)this.clearCache(n.pop())}function Rr(t,e){var n=e.firstKey;return!(n in t.data||n in t.computations||n in t.mappings)}function Mr(t,e){var n=new Xh(t,e);return this.ready&&n.init(this),this.computations[t.str]=n}function Lr(t,e){var n,a,r,i,o,s=this.cache,p=t.str;if(e=e||nm,e.capture&&(i=D(this.captureGroups))&&(~i.indexOf(t)||i.push(t)),Mo.call(this.mappings,t.firstKey))return this.mappings[t.firstKey].get(t,e);if(t.isSpecial)return t.value;if(void 0===s[p]?((a=this.computations[p])&&!a.bypass?(n=a.get(),this.adapt(p,n)):(r=this.wrapped[p])?n=r.value:t.isRoot?(this.adapt("",this.data),n=this.data):n=jr(this,t),s[p]=n):n=s[p],!e.noUnwrap&&(r=this.wrapped[p])&&(n=r.get()),t.isRoot&&e.fullRootGet)for(o in this.mappings)n[o]=this.mappings[o].getValue();return n===tm?void 0:n}function jr(t,e){var n,a,r,i;return n=t.get(e.parent),(i=t.wrapped[e.parent.str])&&(n=i.get()),null!==n&&void 0!==n?((a=t.cacheMap[e.parent.str])?-1===a.indexOf(e.str)&&a.push(e.str):t.cacheMap[e.parent.str]=[e.str],"object"!=typeof n||e.lastKey in n?(r=n[e.lastKey],t.adapt(e.str,r,!1),t.cache[e.str]=r,r):t.cache[e.str]=tm):void 0}function Dr(){var t;for(t in this.computations)this.computations[t].init(this)}function Nr(t,e){var n=this.mappings[t.str]=new im(t,e);return n.initViewmodel(this),n}function Fr(t,e){var n,a=t.str;e&&(e.implicit&&(this.implicitChanges[a]=!0),e.noCascade&&(this.noCascade[a]=!0)),(n=this.computations[a])&&n.invalidate(),-1===this.changes.indexOf(t)&&this.changes.push(t);var r=e?e.keepExistingWrapper:!1;this.clearCache(a,r),this.ready&&this.onchange()}function Ir(t,e,n,a){var r,i,o,s;if(this.mark(t),a&&a.compare){o=Ur(a.compare);try{r=e.map(o),i=n.map(o)}catch(p){m('merge(): "%s" comparison failed. Falling back to identity checking',t),r=e,i=n}}else r=e,i=n;s=sm(r,i),this.smartUpdate(t,n,s,e.length!==n.length)}function Br(t){return JSON.stringify(t)}function Ur(t){if(t===!0)return Br;if("string"==typeof t)return um[t]||(um[t]=function(e){return e[t]}),um[t];if("function"==typeof t)return t;throw Error("The `compare` option must be a function, or a string representing an identifying field (or `true` to use JSON.stringify)")}function Vr(t,e){var n,a,r,i=void 0===arguments[2]?"default":arguments[2];e.isStatic||((n=this.mappings[t.firstKey])?n.register(t,e,i):(a=this.deps[i]||(this.deps[i]={}),r=a[t.str]||(a[t.str]=[]),r.push(e),this.depsMap[i]||(this.depsMap[i]={}),t.isRoot||qr(this,t,i)))}function qr(t,e,n){for(var a,r,i;!e.isRoot;)a=t.depsMap[n],r=a[e.parent.str]||(a[e.parent.str]=[]),i=e.str,void 0===r["_"+i]&&(r["_"+i]=0,r.push(e)),r["_"+i]+=1,e=e.parent}function Gr(){return this.captureGroups.pop()}function zr(t){this.data=t,this.clearCache("")}function Wr(t,e){var n,a,r,i,o=void 0===arguments[2]?{}:arguments[2];if(!o.noMapping&&(n=this.mappings[t.firstKey]))return n.set(t,e);if(a=this.computations[t.str]){if(a.setting)return;a.set(e),e=a.get()}s(this.cache[t.str],e)||(r=this.wrapped[t.str],r&&r.reset&&(i=r.reset(e)!==!1,i&&(e=r.get())),a||i||Hr(this,t,e),o.silent?this.clearCache(t.str):this.mark(t))}function Hr(t,e,n){var a,r,i,o;i=function(){a.set?a.set(e.lastKey,n):(r=a.get(),o())},o=function(){r||(r=Fh(e.lastKey),t.set(e.parent,r,{silent:!0})),r[e.lastKey]=n},a=t.wrapped[e.parent.str],a?i():(r=t.get(e.parent),(a=t.wrapped[e.parent.str])?i():o())}function Kr(t,e,n){var a,r,i,o=this;if(r=n.length,n.forEach(function(e,n){-1===e&&o.mark(t.join(n),gm)}),this.set(t,e,{silent:!0}),(a=this.deps["default"][t.str])&&a.filter(Qr).forEach(function(t){return t.shuffle(n,e)}),r!==e.length){for(this.mark(t.join("length"),mm),i=n.touchedFrom;ii;i+=1)this.mark(t.join(i),gm)}}function Qr(t){return"function"==typeof t.shuffle}function Yr(){var t,e=this;for(Object.keys(this.cache).forEach(function(t){return e.clearCache(t)});t=this.unresolvedImplicitDependencies.pop();)t.teardown()}function $r(t,e){var n,a,r,i=void 0===arguments[2]?"default":arguments[2];if(!e.isStatic){if(n=this.mappings[t.firstKey])return n.unregister(t,e,i);if(a=this.deps[i][t.str],r=a.indexOf(e),-1===r)throw Error("Attempted to remove a dependant that was no longer registered! This should not happen. If you are seeing this bug in development please raise an issue at https://github.com/RactiveJS/Ractive/issues - thanks");a.splice(r,1),t.isRoot||Jr(this,t,i)}}function Jr(t,e,n){for(var a,r;!e.isRoot;)a=t.depsMap[n],r=a[e.parent.str],r["_"+e.str]-=1,r["_"+e.str]||(N(r,e),r["_"+e.str]=void 0),e=e.parent}function Xr(t){this.hook=new is(t),this.inProcess={},this.queue={}}function Zr(t,e){return t[e._guid]||(t[e._guid]=[])}function ti(t,e){var n=Zr(t.queue,e);for(t.hook.fire(e);n.length;)ti(t,n.shift());delete t.queue[e._guid]}function ei(t,e){var n,a={};for(n in e)a[n]=ni(t,n,e[n]);return a}function ni(t,e,n){var a,r;return"function"==typeof n&&(a=ri(n,t)),"string"==typeof n&&(a=ai(t,n)),"object"==typeof n&&("string"==typeof n.get?a=ai(t,n.get):"function"==typeof n.get?a=ri(n.get,t):l("`%s` computation must have a `get()` method",e),
"function"==typeof n.set&&(r=ri(n.set,t))),{getter:a,setter:r}}function ai(t,e){var n,a,r;return n="return ("+e.replace(km,function(t,e){return a=!0,'__ractive.get("'+e+'")'})+");",a&&(n="var __ractive = this; "+n),r=Function(n),a?r.bind(t):r}function ri(t,e){return/this/.test(""+t)?t.bind(e):t}function ii(e){var n,r,i=void 0===arguments[1]?{}:arguments[1],o=void 0===arguments[2]?{}:arguments[2];if(Mg.DEBUG&&Ro(),pi(e,o),Eo(e,"data",{get:ui}),Sm.fire(e,i),Am.forEach(function(t){e[t]=a(So(e.constructor[t]||null),i[t])}),r=new _m({adapt:oi(e,e.adapt,i),data:Wp.init(e.constructor,e,i),computed:wm(e,a(So(e.constructor.prototype.computed),i.computed)),mappings:o.mappings,ractive:e,onchange:function(){return bs.addRactive(e)}}),e.viewmodel=r,r.init(),uu.init(e.constructor,e,i),Em.fire(e),Cm.begin(e),e.template){var s=void 0;(o.cssIds||e.cssId)&&(s=o.cssIds?o.cssIds.slice():[],e.cssId&&s.push(e.cssId)),e.fragment=new rg({template:e.template,root:e,owner:e,cssIds:s})}if(Cm.end(e),n=t(e.el)){var p=e.render(n,e.append);Mg.DEBUG_PROMISES&&p["catch"](function(t){throw g("Promise debugging is enabled, to help solve errors that happen asynchronously. Some browsers will log unhandled promise rejections, in which case you can safely disable promise debugging:\n Ractive.DEBUG_PROMISES = false;"),m("An error happened during rendering",{ractive:e}),t.stack&&d(t.stack),t})}}function oi(t,e,n){function a(e){return"string"==typeof e&&(e=v("adaptors",t,e),e||l(Io(e,"adaptor"))),e}var r,i,o;if(e=e.map(a),r=j(n.adapt).map(a),r=si(e,r),i="magic"in n?n.magic:t.magic,o="modifyArrays"in n?n.modifyArrays:t.modifyArrays,i){if(!eo)throw Error("Getters and setters (magic mode) are not supported in this browser");o&&r.push(Vh),r.push(Uh)}return o&&r.push(Dh),r}function si(t,e){for(var n=t.slice(),a=e.length;a--;)~n.indexOf(e[a])||n.push(e[a]);return n}function pi(t,e){t._guid="r-"+Pm++,t._subs=So(null),t._config={},t._twowayBindings=So(null),t._animations=[],t.nodes={},t._liveQueries=[],t._liveComponentQueries=[],t._boundFunctions=[],t._observers=[],e.component?(t.parent=e.parent,t.container=e.container||null,t.root=t.parent.root,t.component=e.component,e.component.instance=t,t._inlinePartials=e.inlinePartials):(t.root=t,t.parent=t.container=null)}function ui(){throw Error("Using `ractive.data` is no longer supported - you must use the `ractive.get()` API instead")}function ci(t,e,n){this.parentFragment=t.parentFragment,this.callback=n,this.fragment=new rg({template:e,root:t.root,owner:this}),this.update()}function li(t,e,n){var a;return e.r?a=Rc(t,e.r,n):e.x?a=new Dc(t,t.parentFragment,e.x,n):e.rx&&(a=new Bc(t,e.rx,n)),a}function di(t){return 1===t.length&&t[0].t===Su}function fi(t,e){var n;for(n in e)e.hasOwnProperty(n)&&hi(t.instance,t.root,n,e[n])}function hi(t,e,n,a){"string"!=typeof a&&l("Components currently only support simple events - you cannot include arguments. Sorry!"),t.on(n,function(){var t,n;return arguments.length&&arguments[0]&&arguments[0].node&&(t=Array.prototype.shift.call(arguments)),n=Array.prototype.slice.call(arguments),zs(e,a,{event:t,args:n}),!1})}function mi(t,e){var n,a;if(!e)throw Error('Component "'+this.name+'" not found');n=this.parentFragment=t.parentFragment,a=n.root,this.root=a,this.type=Ru,this.name=t.template.e,this.index=t.index,this.indexRefBindings={},this.yielders={},this.resolvers=[],Rm(this,e,t.template.a,t.template.f,t.template.p),Mm(this,t.template.v),(t.template.t0||t.template.t1||t.template.t2||t.template.o)&&m('The "intro", "outro" and "decorator" directives have no effect on components',{ractive:this.instance}),Lm(this)}function gi(t,e){function n(n){n.rebind(t,e)}var a;this.resolvers.forEach(n);for(var r in this.yielders)this.yielders[r][0]&&n(this.yielders[r][0]);(a=this.root._liveComponentQueries["_"+this.name])&&a._makeDirty()}function vi(){var t=this.instance;return t.render(this.parentFragment.getNode()),this.rendered=!0,t.fragment.detach()}function bi(){return""+this.instance.fragment}function yi(){var t=this.instance;this.resolvers.forEach(K),_i(this),t._observers.forEach(Y),t.fragment.unbind(),t.viewmodel.teardown(),t.fragment.rendered&&t.el.__ractive_instances__&&N(t.el.__ractive_instances__,t),Bm.fire(t)}function _i(t){var e,n;e=t.root;do(n=e._liveComponentQueries["_"+t.name])&&n._remove(t);while(e=e.parent)}function xi(t){this.shouldDestroy=t,this.instance.unrender()}function wi(t){var e=this;this.owner=t.owner,this.parent=this.owner.parentFragment,this.root=t.root,this.pElement=t.pElement,this.context=t.context,this.index=t.index,this.key=t.key,this.registeredIndexRefs=[],this.cssIds="cssIds"in t?t.cssIds:this.parent?this.parent.cssIds:null,this.items=t.template.map(function(n,a){return ki({parentFragment:e,pElement:t.pElement,template:n,index:a})}),this.value=this.argsList=null,this.dirtyArgs=this.dirtyValue=!0,this.bound=!0}function ki(t){if("string"==typeof t.template)return new yc(t);switch(t.template.t){case Mu:return new Hm(t);case Su:return new Wc(t);case Cu:return new ll(t);case Eu:return new Ol(t);case Pu:var e=void 0;return(e=vh(t.parentFragment.root,t.template.e))?new qm(t,e):new ih(t);case Au:return new gh(t);case Ou:return new zm(t);case Lu:return new Qm(t);default:throw Error("Something very strange happened. Please file an issue at https://github.com/ractivejs/ractive/issues. Thanks!")}}function Si(t,e){(!this.owner||this.owner.hasContext)&&w(this,"context",t,e),this.items.forEach(function(n){n.rebind&&n.rebind(t,e)})}function Ei(){var t;return 1===this.items.length?t=this.items[0].render():(t=document.createDocumentFragment(),this.items.forEach(function(e){t.appendChild(e.render())})),this.rendered=!0,t}function Ci(t){return this.items?this.items.map(t?Ai:Pi).join(""):""}function Pi(t){return""+t}function Ai(t){return t.toString(!0)}function Oi(){this.bound&&(this.items.forEach(Ti),this.bound=!1)}function Ti(t){t.unbind&&t.unbind()}function Ri(t){if(!this.rendered)throw Error("Attempted to unrender a fragment that was not rendered");this.items.forEach(function(e){return e.unrender(t)}),this.rendered=!1}function Mi(t){var e,n,a,r,i;if(t=t||{},"object"!=typeof t)throw Error("The reset method takes either no arguments, or an object containing new data");for((n=this.viewmodel.wrapped[""])&&n.reset?n.reset(t)===!1&&this.viewmodel.reset(t):this.viewmodel.reset(t),a=uu.reset(this),r=a.length;r--;)if(og.indexOf(a[r])>-1){i=!0;break}if(i){var o=void 0;this.viewmodel.mark($o),(o=this.component)&&(o.shouldDestroy=!0),this.unrender(),o&&(o.shouldDestroy=!1),this.fragment.template!==this.template&&(this.fragment.unbind(),this.fragment=new rg({template:this.template,root:this,owner:this})),e=this.render(this.el,this.anchor)}else e=bs.start(this,!0),this.viewmodel.mark($o),bs.end();return sg.fire(this,t),e}function Li(t){var e,n;Jp.init(null,this,{template:t}),e=this.transitionsEnabled,this.transitionsEnabled=!1,(n=this.component)&&(n.shouldDestroy=!0),this.unrender(),n&&(n.shouldDestroy=!1),this.fragment.unbind(),this.fragment=new rg({template:this.template,root:this,owner:this}),this.render(this.el,this.anchor),this.transitionsEnabled=e}function ji(t,e){var n,a;if(a=bs.start(this,!0),u(t)){n=t;for(t in n)n.hasOwnProperty(t)&&(e=n[t],Di(this,t,e))}else Di(this,t,e);return bs.end(),a}function Di(t,e,n){e=S(P(e)),e.isPattern?E(t,e).forEach(function(e){t.viewmodel.set(e,n)}):t.viewmodel.set(e,n)}function Ni(t,e){return Jo(this,t,void 0===e?-1:-e)}function Fi(){var t;return this.fragment.unbind(),this.viewmodel.teardown(),this._observers.forEach(Y),this.fragment.rendered&&this.el.__ractive_instances__&&N(this.el.__ractive_instances__,this),this.shouldDestroy=!0,t=this.fragment.rendered?this.unrender():us.resolve(),vg.fire(this),this._boundFunctions.forEach(Ii),t}function Ii(t){delete t.fn[t.prop]}function Bi(t){var e=this;if("string"!=typeof t)throw new TypeError(No);var n=void 0;return/\*/.test(t)?(n={},E(this,S(P(t))).forEach(function(t){n[t.str]=!e.viewmodel.get(t)}),this.set(n)):this.set(t,!this.get(t))}function Ui(){return this.fragment.toString(!0)}function Vi(){var t,e;if(!this.fragment.rendered)return m("ractive.unrender() was called on a Ractive instance that was not rendered"),us.resolve();for(t=bs.start(this,!0),e=!this.component||this.component.shouldDestroy||this.shouldDestroy;this._animations[0];)this._animations[0].stop();return this.fragment.unrender(e),N(this.el.__ractive_instances__,this),xg.fire(this),bs.end(),t}function qi(t){var e;return t=S(t)||$o,e=bs.start(this,!0),this.viewmodel.mark(t),bs.end(),Sg.fire(this,t),e}function Gi(t,e){var n,a,r;if("string"!=typeof t||e){r=[];for(a in this._twowayBindings)(!t||S(a).equalsOrStartsWith(t))&&r.push.apply(r,this._twowayBindings[a])}else r=this._twowayBindings[t];return n=zi(this,r),this.set(n)}function zi(t,e){var n={},a=[];return e.forEach(function(t){var e,r;if(!t.radioName||t.element.node.checked){if(t.checkboxName)return void(a[t.keypath.str]||t.changed()||(a.push(t.keypath),a[t.keypath.str]=t));e=t.attribute.value,r=t.getValue(),L(e,r)||s(e,r)||(n[t.keypath.str]=r)}}),a.length&&a.forEach(function(t){var e,r,i;e=a[t.str],r=e.attribute.value,i=e.getValue(),L(r,i)||(n[t.str]=i)}),n}function Wi(t,e){return"function"==typeof e&&/_super/.test(t)}function Hi(t){for(var e={};t;)Ki(t,e),Yi(t,e),t=t._Parent!==Mg?t._Parent:!1;return e}function Ki(t,e){ru.forEach(function(n){Qi(n.useDefaults?t.prototype:t,e,n.name)})}function Qi(t,e,n){var a,r=Object.keys(t[n]);r.length&&((a=e[n])||(a=e[n]={}),r.filter(function(t){return!(t in a)}).forEach(function(e){return a[e]=t[n][e]}))}function Yi(t,e){Object.keys(t.prototype).forEach(function(n){if("computed"!==n){var a=t.prototype[n];if(n in e){if("function"==typeof e[n]&&"function"==typeof a&&e[n]._method){var r=void 0,i=a._method;i&&(a=a._method),r=Pg(e[n]._method,a),i&&(r._method=r),e[n]=r}}else e[n]=a._method?a._method:a}})}function $i(){for(var t=arguments.length,e=Array(t),n=0;t>n;n++)e[n]=arguments[n];return e.length?e.reduce(Ji,this):Ji(this)}function Ji(t){var e,n,r=void 0===arguments[1]?{}:arguments[1];return r.prototype instanceof Mg&&(r=Ag(r)),e=function(t){return this instanceof e?void Om(this,t):new e(t)},n=So(t.prototype),n.constructor=e,Co(e,{defaults:{value:n},extend:{value:$i,writable:!0,configurable:!0},_Parent:{value:t}}),uu.extend(t,n,r),Wp.extend(t,n,r),r.computed&&(n.computed=a(So(t.prototype.computed),r.computed)),e.prototype=n,e}var Xi,Zi,to,eo,no,ao,ro,io=3,oo={el:void 0,append:!1,template:{v:io,t:[]},preserveWhitespace:!1,sanitize:!1,stripComments:!0,delimiters:["{{","}}"],tripleDelimiters:["{{{","}}}"],interpolate:!1,data:{},computed:{},magic:!1,modifyArrays:!0,adapt:[],isolated:!1,twoway:!0,lazy:!1,noIntro:!1,transitionsEnabled:!0,complete:void 0,css:null,noCssTransform:!1},so=oo,po={linear:function(t){return t},easeIn:function(t){return Math.pow(t,3)},easeOut:function(t){return Math.pow(t-1,3)+1},easeInOut:function(t){return(t/=.5)<1?.5*Math.pow(t,3):.5*(Math.pow(t-2,3)+2)}};Xi="object"==typeof document,Zi="undefined"!=typeof navigator&&/jsDom/.test(navigator.appName),to="undefined"!=typeof console&&"function"==typeof console.warn&&"function"==typeof console.warn.apply;try{Object.defineProperty({},"test",{value:0}),eo=!0}catch(uo){eo=!1}no={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ao="undefined"==typeof document?!1:document&&document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),ro=["o","ms","moz","webkit"];var co,lo,fo,ho,mo,go,vo,bo,yo;if(co=ao?function(t,e){return e&&e!==no.html?document.createElementNS(e,t):document.createElement(t)}:function(t,e){if(e&&e!==no.html)throw"This browser does not support namespaces other than http://www.w3.org/1999/xhtml. The most likely cause of this error is that you're trying to render SVG in an older browser. See http://docs.ractivejs.org/latest/svg-and-older-browsers for more information";return document.createElement(t)},Xi){for(fo=co("div"),ho=["matches","matchesSelector"],yo=function(t){return function(e,n){return e[t](n)}},vo=ho.length;vo--&&!lo;)if(mo=ho[vo],fo[mo])lo=yo(mo);else for(bo=ro.length;bo--;)if(go=ro[vo]+mo.substr(0,1).toUpperCase()+mo.substring(1),fo[go]){lo=yo(go);break}lo||(lo=function(t,e){var n,a,r;for(a=t.parentNode,a||(fo.innerHTML="",a=fo,t=t.cloneNode(),fo.appendChild(t)),n=a.querySelectorAll(e),r=n.length;r--;)if(n[r]===t)return!0;return!1})}else lo=null;var _o,xo,wo,ko=function(){};"undefined"==typeof window?wo=null:(_o=window,xo=_o.document,wo={},xo||(wo=null),Date.now||(Date.now=function(){return+new Date}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}),Object.keys||(Object.keys=function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],a=n.length;return function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var i=[];for(var o in r)t.call(r,o)&&i.push(o);if(e)for(var s=0;a>s;s++)t.call(r,n[s])&&i.push(n[s]);return i}}()),Array.prototype.indexOf||(Array.prototype.indexOf=function(t,e){var n;for(void 0===e&&(e=0),0>e&&(e+=this.length),0>e&&(e=0),n=this.length;n>e;e++)if(this.hasOwnProperty(e)&&this[e]===t)return e;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(t,e){var n,a;for(n=0,a=this.length;a>n;n+=1)this.hasOwnProperty(n)&&t.call(e,this[n],n,this)}),Array.prototype.map||(Array.prototype.map=function(t,e){var n,a,r,i=this,o=[];for(i instanceof String&&(i=""+i,r=!0),n=0,a=i.length;a>n;n+=1)(i.hasOwnProperty(n)||r)&&(o[n]=t.call(e,i[n],n,i));return o}),"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(t,e){var n,a,r,i;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(r=this.length,i=!1,arguments.length>1&&(a=e,i=!0),n=0;r>n;n+=1)this.hasOwnProperty(n)?i&&(a=t(a,this[n],n,this)):(a=this[n],i=!0);if(!i)throw new TypeError("Reduce of empty array with no initial value");return a}),Array.prototype.filter||(Array.prototype.filter=function(t,e){var n,a,r=[];for(n=0,a=this.length;a>n;n+=1)this.hasOwnProperty(n)&&t.call(e,this[n],n,this)&&(r[r.length]=this[n]);return r}),Array.prototype.every||(Array.prototype.every=function(t,e){var n,a,r;if(null==this)throw new TypeError;if(n=Object(this),a=n.length>>>0,"function"!=typeof t)throw new TypeError;for(r=0;a>r;r+=1)if(r in n&&!t.call(e,n[r],r,n))return!1;return!0}),"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(t){var e,n,a,r,i=[].slice;if("function"!=typeof this)throw new TypeError("Function.prototype.bind called on non-function");return e=i.call(arguments,1),n=this,a=function(){},r=function(){var r=this instanceof a&&t?this:t;return n.apply(r,e.concat(i.call(arguments)))},a.prototype=this.prototype,r.prototype=new a,r}),_o.addEventListener||!function(t,e){var n,a,r,i,o,s;t.appearsToBeIELessEqual8=!0,n=function(t,e){var n,a=this;for(n in t)a[n]=t[n];a.currentTarget=e,a.target=t.srcElement||e,a.timeStamp=+new Date,a.preventDefault=function(){t.returnValue=!1},a.stopPropagation=function(){t.cancelBubble=!0}},a=function(t,e){var a,r,i=this;a=i.listeners||(i.listeners=[]),r=a.length,a[r]=[e,function(t){e.call(i,new n(t,i))}],i.attachEvent("on"+t,a[r][1])},r=function(t,e){var n,a,r=this;if(r.listeners)for(n=r.listeners,a=n.length;a--;)n[a][0]===e&&r.detachEvent("on"+t,n[a][1])},t.addEventListener=e.addEventListener=a,t.removeEventListener=e.removeEventListener=r,"Element"in t?(t.Element.prototype.addEventListener=a,t.Element.prototype.removeEventListener=r):(s=e.createElement,e.createElement=function(t){var e=s(t);return e.addEventListener=a,e.removeEventListener=r,e},i=e.getElementsByTagName("head")[0],o=e.createElement("style"),i.insertBefore(o,i.firstChild))}(_o,xo),_o.getComputedStyle||(wo.getComputedStyle=function(){function t(n,a,r,i){var o,s=a[r],p=parseFloat(s),u=s.split(/\d/)[0];return isNaN(p)&&/^thin|medium|thick$/.test(s)&&(p=e(s),u=""),i=null!=i?i:/%|em/.test(u)&&n.parentElement?t(n.parentElement,n.parentElement.currentStyle,"fontSize",null):16,o="fontSize"==r?i:/width/i.test(r)?n.clientWidth:n.clientHeight,"em"==u?p*i:"in"==u?96*p:"pt"==u?96*p/72:"%"==u?p/100*o:p}function e(t){var e,n;return i[t]||(e=document.createElement("div"),e.style.display="block",e.style.position="fixed",e.style.width=e.style.height="0",e.style.borderRight=t+" solid black",document.getElementsByTagName("body")[0].appendChild(e),n=e.getBoundingClientRect(),i[t]=n.right-n.left),i[t]}function n(t,e){var n="border"==e?"Width":"",a=e+"Top"+n,r=e+"Right"+n,i=e+"Bottom"+n,o=e+"Left"+n;t[e]=(t[a]==t[r]==t[i]==t[o]?[t[a]]:t[a]==t[i]&&t[o]==t[r]?[t[a],t[r]]:t[o]==t[r]?[t[a],t[r],t[i]]:[t[a],t[r],t[i],t[o]]).join(" ")}function a(e){var a,r,i,s;a=e.currentStyle,r=this,i=t(e,a,"fontSize",null);for(s in a)"normal"===a[s]&&o.hasOwnProperty(s)?r[s]=o[s]:/width|height|margin.|padding.|border.+W/.test(s)?"auto"===a[s]?/^width|height/.test(s)?r[s]=("width"===s?e.clientWidth:e.clientHeight)+"px":/(?:padding)?Top|Bottom$/.test(s)&&(r[s]="0px"):r[s]=t(e,a,s,i)+"px":"styleFloat"===s?r["float"]=a[s]:r[s]=a[s];return n(r,"margin"),n(r,"padding"),n(r,"border"),r.fontSize=i+"px",r}function r(t){return new a(t)}var i={},o={fontWeight:400,lineHeight:1.2,letterSpacing:0};return a.prototype={constructor:a,getPropertyPriority:ko,getPropertyValue:function(t){return this[t]||""},item:ko,removeProperty:ko,setProperty:ko,getPropertyCSSValue:ko},r}()));var So,Eo,Co,Po=wo;try{Object.defineProperty({},"test",{value:0}),Xi&&Object.defineProperty(document.createElement("div"),"test",{value:0}),Eo=Object.defineProperty}catch(Ao){Eo=function(t,e,n){t[e]=n.value}}try{try{Object.defineProperties({},{test:{value:0}})}catch(Ao){throw Ao}Xi&&Object.defineProperties(co("div"),{test:{value:0}}),Co=Object.defineProperties}catch(Ao){Co=function(t,e){var n;for(n in e)e.hasOwnProperty(n)&&Eo(t,n,e[n])}}try{Object.create(null),So=Object.create}catch(Ao){So=function(){var t=function(){};return function(e,n){var a;return null===e?{}:(t.prototype=e,a=new t,n&&Object.defineProperties(a,n),a)}}()}var Oo,To,Ro,Mo=Object.prototype.hasOwnProperty,Lo=Object.prototype.toString,jo=/^\[object (?:Array|FileList)\]$/,Do={};to?!function(){var t=["%cRactive.js %c0.7.3 %cin debug mode, %cmore...","color: rgb(114, 157, 52); font-weight: normal;","color: rgb(85, 85, 85); font-weight: normal;","color: rgb(85, 85, 85); font-weight: normal;","color: rgb(82, 140, 224); font-weight: normal; text-decoration: underline;"],e="You're running Ractive 0.7.3 in debug mode - messages will be printed to the console to help you fix problems and optimise your application.\n\nTo disable debug mode, add this line at the start of your app:\n Ractive.DEBUG = false;\n\nTo disable debug mode when your app is minified, add this snippet:\n Ractive.DEBUG = /unminified/.test(function(){/*unminified*/});\n\nGet help and support:\n http://docs.ractivejs.org\n http://stackoverflow.com/questions/tagged/ractivejs\n http://groups.google.com/forum/#!forum/ractive-js\n http://twitter.com/ractivejs\n\nFound a bug? Raise an issue:\n https://github.com/ractivejs/ractive/issues\n\n";Ro=function(){var n=!!console.groupCollapsed;console[n?"groupCollapsed":"log"].apply(console,t),console.log(e),n&&console.groupEnd(t),Ro=ko},To=function(t,e){if(Ro(),"object"==typeof e[e.length-1]){var n=e.pop(),a=n?n.ractive:null;if(a){var r=void 0;a.component&&(r=a.component.name)&&(t="<"+r+"> "+t);var i=void 0;(i=n.node||a.fragment&&a.fragment.rendered&&a.find("*"))&&e.push(i)}}console.warn.apply(console,["%cRactive.js: %c"+t,"color: rgb(114, 157, 52);","color: rgb(85, 85, 85);"].concat(e))},Oo=function(){console.log.apply(console,arguments)}}():To=Oo=Ro=ko;var No="Bad arguments",Fo='A function was specified for "%s" %s, but no %s was returned',Io=function(t,e){return'Missing "'+t+'" '+e+" plugin. You may need to download a plugin via http://docs.ractivejs.org/latest/plugins#"+e+"s"},Bo=function(t,e,n,a){if(t===e)return y(e);if(a){var r=v("interpolators",n,a);if(r)return r(t,e)||y(e);l(Io(a,"interpolator"))}return qo.number(t,e)||qo.array(t,e)||qo.object(t,e)||y(e)},Uo=Bo,Vo={number:function(t,e){var n;return p(t)&&p(e)?(t=+t,e=+e,n=e-t,n?function(e){return t+e*n}:function(){return t}):null},array:function(t,e){var n,a,r,o;if(!i(t)||!i(e))return null;for(n=[],a=[],o=r=Math.min(t.length,e.length);o--;)a[o]=Uo(t[o],e[o]);for(o=r;o=this.duration?(null!==i&&(bs.start(this.root),this.root.viewmodel.set(i,this.to),bs.end()),this.step&&this.step(1,this.to),this.complete(this.to),r=this.root._animations.indexOf(this),-1===r&&m("Animation was not found"),this.root._animations.splice(r,1),this.running=!1,!1):(e=this.easing?this.easing(t/this.duration):t/this.duration,null!==i&&(n=this.interpolator(e),bs.start(this.root),this.root.viewmodel.set(i,n),bs.end()),this.step&&this.step(e,n),!0)):!1},stop:function(){var t;this.running=!1,t=this.root._animations.indexOf(this),-1===t&&m("Animation was not found"),this.root._animations.splice(t,1)}};var ks=ws,Ss=nt,Es={stop:ko},Cs=rt,Ps=new is("detach"),As=it,Os=ot,Ts=function(){var t,e,n;t=this._root[this._isComponentQuery?"liveComponentQueries":"liveQueries"],e=this.selector,n=t.indexOf(e),-1!==n&&(t.splice(n,1),t[e]=null)},Rs=function(t,e){var n,a,r,i,o,s,p,u,c,l;for(n=pt(t.component||t._ractive.proxy),a=pt(e.component||e._ractive.proxy),r=D(n),i=D(a);r&&r===i;)n.pop(),a.pop(),o=r,r=D(n),i=D(a);if(r=r.component||r,i=i.component||i,c=r.parentFragment,l=i.parentFragment,c===l)return s=c.items.indexOf(r),p=l.items.indexOf(i),s-p||n.length-a.length;if(u=o.fragments)return s=u.indexOf(c),p=u.indexOf(l),s-p||n.length-a.length;throw Error("An unexpected condition was met while comparing the position of two components. Please file an issue at https://github.com/RactiveJS/Ractive/issues - thanks!")},Ms=function(t,e){var n;return t.compareDocumentPosition?(n=t.compareDocumentPosition(e),2&n?1:-1):Rs(t,e)},Ls=function(){this.sort(this._isComponentQuery?Rs:Ms),this._dirty=!1},js=function(){var t=this;this._dirty||(this._dirty=!0,bs.scheduleTask(function(){t._sort()}))},Ds=function(t){var e=this.indexOf(this._isComponentQuery?t.instance:t);-1!==e&&this.splice(e,1)},Ns=ut,Fs=ct,Is=lt,Bs=dt,Us=ft,Vs=ht,qs={enqueue:function(t,e){t.event&&(t._eventQueue=t._eventQueue||[],t._eventQueue.push(t.event)),t.event=e},dequeue:function(t){t._eventQueue&&t._eventQueue.length?t.event=t._eventQueue.pop():delete t.event}},Gs=qs,zs=mt,Ws=bt,Hs=yt,Ks={capture:!0,noUnwrap:!0,fullRootGet:!0},Qs=_t,Ys=new is("insert"),$s=wt,Js=function(t,e,n,a){this.root=t,this.keypath=e,this.callback=n,this.defer=a.defer,this.context=a&&a.context?a.context:t};Js.prototype={init:function(t){this.value=this.root.get(this.keypath.str),t!==!1?this.update():this.oldValue=this.value},setValue:function(t){var e=this;s(t,this.value)||(this.value=t,this.defer&&this.ready?bs.scheduleTask(function(){return e.update()}):this.update())},update:function(){this.updating||(this.updating=!0,this.callback.call(this.context,this.value,this.oldValue,this.keypath.str),this.oldValue=this.value,this.updating=!1)}};var Xs,Zs=Js,tp=kt,ep=Array.prototype.slice;Xs=function(t,e,n,a){this.root=t,this.callback=n,this.defer=a.defer,this.keypath=e,this.regex=RegExp("^"+e.str.replace(/\./g,"\\.").replace(/\*/g,"([^\\.]+)")+"$"),this.values={},this.defer&&(this.proxies=[]),this.context=a&&a.context?a.context:t},Xs.prototype={init:function(t){var e,n;if(e=tp(this.root,this.keypath),t!==!1)for(n in e)e.hasOwnProperty(n)&&this.update(S(n));else this.values=e},update:function(t){var e,n=this;if(t.isPattern){e=tp(this.root,t);for(t in e)e.hasOwnProperty(t)&&this.update(S(t))}else if(!this.root.viewmodel.implicitChanges[t.str])return this.defer&&this.ready?void bs.scheduleTask(function(){return n.getProxy(t).update()}):void this.reallyUpdate(t)},reallyUpdate:function(t){var e,n,a,r;return e=t.str,n=this.root.viewmodel.get(t),this.updating?void(this.values[e]=n):(this.updating=!0,s(n,this.values[e])&&this.ready||(a=ep.call(this.regex.exec(e),1),r=[n,this.values[e],e].concat(a),this.values[e]=n,this.callback.apply(this.context,r)),void(this.updating=!1))},getProxy:function(t){var e=this;return this.proxies[t.str]||(this.proxies[t.str]={update:function(){return e.reallyUpdate(t)}}),this.proxies[t.str]}};var np,ap,rp,ip,op,sp,pp=Xs,up=St,cp={},lp=Et,dp=Ct,fp=function(t){return t.trim()},hp=function(t){return""!==t},mp=Pt,gp=At,vp=Ot,bp=Tt,yp=Array.prototype,_p=function(t){return function(e){for(var n=arguments.length,a=Array(n>1?n-1:0),r=1;n>r;r++)a[r-1]=arguments[r];var o,s,p,u,c=[];if(e=S(P(e)),o=this.viewmodel.get(e),s=o.length,!i(o))throw Error("Called ractive."+t+"('"+e.str+"'), but '"+e.str+"' does not refer to an array");return c=bp(o,t,a),u=yp[t].apply(o,a),p=bs.start(this,!0).then(function(){return u}),c?this.viewmodel.smartUpdate(e,o,c):this.viewmodel.mark(e),bs.end(),p}},xp=_p("pop"),wp=_p("push"),kp="/* Ractive.js component styles */\n",Sp=[],Ep=!1;Xi?(rp=document.createElement("style"),rp.type="text/css",ip=document.getElementsByTagName("head")[0],sp=!1,op=rp.styleSheet,ap=function(){var t=kp+Sp.map(function(t){return"\n/* {"+t.id+"} */\n"+t.styles}).join("\n");op?op.cssText=t:rp.innerHTML=t,sp||(ip.appendChild(rp),sp=!0)},np={add:function(t){Sp.push(t),Ep=!0},apply:function(){Ep&&(ap(),Ep=!1)}}):np={add:ko,apply:ko};var Cp,Pp,Ap,Op=np,Tp=Mt,Rp=new is("render"),Mp=new is("complete"),Lp={extend:function(t,e,n){e.adapt=jt(e.adapt,j(n.adapt))},init:function(){}},jp=Lp,Dp=Dt,Np=/(?:^|\})?\s*([^\{\}]+)\s*\{/g,Fp=/\/\*.*?\*\//g,Ip=/((?:(?:\[[^\]+]\])|(?:[^\s\+\>\~:]))+)((?::[^\s\+\>\~\(]+(?:\([^\)]+\))?)?\s*[\s\+\>\~]?)\s*/g,Bp=/^@media/,Up=/\[data-ractive-css~="\{[a-z0-9-]+\}"]/g,Vp=1,qp={
name:"css",extend:function(t,e,n){if(n.css){var a=Vp++,r=n.noCssTransform?n.css:Dp(n.css,a);e.cssId=a,Op.add({id:a,styles:r})}},init:function(){}},Gp=qp,zp={name:"data",extend:function(t,e,n){var a=void 0,r=void 0;if(n.data&&u(n.data))for(a in n.data)r=n.data[a],r&&"object"==typeof r&&(u(r)||i(r))&&m("Passing a `data` option with object and array properties to Ractive.extend() is discouraged, as mutating them is likely to cause bugs. Consider using a data function instead:\n\n // this...\n data: function () {\n return {\n myObject: {}\n };\n })\n\n // instead of this:\n data: {\n myObject: {}\n }");e.data=Bt(e.data,n.data)},init:function(t,e,n){var a=Bt(t.prototype.data,n.data);return"function"==typeof a&&(a=a.call(e)),a||{}},reset:function(t){var e=this.init(t.constructor,t,t.viewmodel);return t.viewmodel.reset(e),!0}},Wp=zp,Hp=null,Kp=["preserveWhitespace","sanitize","stripComments","delimiters","tripleDelimiters","interpolate"],Qp={fromId:zt,isHashedId:Wt,isParsed:Ht,getParseOptions:Kt,createHelper:qt,parse:Gt},Yp=Qp,$p={name:"template",extend:function(t,e,n){var a;"template"in n&&(a=n.template,"function"==typeof a?e.template=a:e.template=Jt(a,e))},init:function(t,e,n){var a,r;a="template"in n?n.template:t.prototype.template,"function"==typeof a&&(r=a,a=Yt(e,r),e._config.template={fn:r,result:a}),a=Jt(a,e),e.template=a.t,a.p&&Xt(e.partials,a.p)},reset:function(t){var e,n=Qt(t);return n?(e=Jt(n,t),t.template=e.t,Xt(t.partials,e.p,!0),!0):void 0}},Jp=$p;Cp=["adaptors","components","computed","decorators","easing","events","interpolators","partials","transitions"],Pp=function(t,e){this.name=t,this.useDefaults=e},Pp.prototype={constructor:Pp,extend:function(t,e,n){this.configure(this.useDefaults?t.defaults:t,this.useDefaults?e:e.constructor,n)},init:function(){},configure:function(t,e,n){var a,r=this.name,i=n[r];a=So(t[r]);for(var o in i)a[o]=i[o];e[r]=a},reset:function(t){var e=t[this.name],n=!1;return Object.keys(e).forEach(function(t){var a=e[t];a._fn&&(a._fn.isOwner?e[t]=a._fn:delete e[t],n=!0)}),n}},Ap=Cp.map(function(t){return new Pp(t,"computed"===t)});var Xp,Zp,tu,eu,nu,au,ru=Ap,iu=Zt,ou=ae;eu={adapt:jp,css:Gp,data:Wp,template:Jp},tu=Object.keys(so),au=oe(tu.filter(function(t){return!eu[t]})),nu=oe(tu.concat(ru.map(function(t){return t.name}))),Zp=[].concat(tu.filter(function(t){return!ru[t]&&!eu[t]}),ru,eu.data,eu.template,eu.css),Xp={extend:function(t,e,n){return re("extend",t,e,n)},init:function(t,e,n){return re("init",t,e,n)},reset:function(t){return Zp.filter(function(e){return e.reset&&e.reset(t)}).map(function(t){return t.name})},order:Zp};var su,pu,uu=Xp,cu=se,lu=pe,du=ue,fu=ce,hu=le,mu=de,gu=fe,vu=he,bu=/^\s+/;pu=function(t){this.name="ParseError",this.message=t;try{throw Error(t)}catch(e){this.stack=e.stack}},pu.prototype=Error.prototype,su=function(t,e){var n,a,r=0;for(this.str=t,this.options=e||{},this.pos=0,this.lines=this.str.split("\n"),this.lineEnds=this.lines.map(function(t){var e=r+t.length+1;return r=e,e},0),this.init&&this.init(t,e),n=[];this.posn;n+=1)if(this.pos=e,r=t[n](this))return r;return null},getLinePos:function(t){for(var e,n=0,a=0;t>=this.lineEnds[n];)a=this.lineEnds[n],n+=1;return e=t-a,[n+1,e+1,t]},error:function(t){var e=this.getLinePos(this.pos),n=e[0],a=e[1],r=this.lines[e[0]-1],i=0,o=r.replace(/\t/g,function(t,n){return n /g,lc=/&/g;var vc=function(){return e(this.node)},bc=function(t){this.type=ku,this.text=t.template};bc.prototype={detach:vc,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createTextNode(this.text)),this.node},toString:function(t){return t?Se(this.text):this.text},unrender:function(t){return t?this.detach():void 0}};var yc=bc,_c=Ee,xc=Ce,wc=function(t,e,n){var a;this.ref=e,this.resolved=!1,this.root=t.root,this.parentFragment=t.parentFragment,this.callback=n,a=ls(t.root,e,t.parentFragment),void 0!=a?this.resolve(a):bs.addUnresolved(this)};wc.prototype={resolve:function(t){this.keypath&&!t&&bs.addUnresolved(this),this.resolved=!0,this.keypath=t,this.callback(t)},forceResolution:function(){this.resolve(S(this.ref))},rebind:function(t,e){var n;void 0!=this.keypath&&(n=this.keypath.replace(t,e),void 0!==n&&this.resolve(n))},unbind:function(){this.resolved||bs.removeUnresolved(this)}};var kc=wc,Sc=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,this.rebind()},Ec={"@keypath":{prefix:"c",prop:["context"]},"@index":{prefix:"i",prop:["index"]},"@key":{prefix:"k",prop:["key","index"]}};Sc.prototype={rebind:function(){var t,e=this.ref,n=this.parentFragment,a=Ec[e];if(!a)throw Error('Unknown special reference "'+e+'" - valid references are @index, @key and @keypath');if(this.cached)return this.callback(S("@"+a.prefix+Pe(this.cached,a)));if(-1!==a.prop.indexOf("index")||-1!==a.prop.indexOf("key"))for(;n;){if(n.owner.currentSubtype===Bu&&void 0!==(t=Pe(n,a)))return this.cached=n,n.registerIndexRef(this),this.callback(S("@"+a.prefix+t));n=!n.parent&&n.owner&&n.owner.component&&n.owner.component.parentFragment&&!n.owner.component.instance.isolated?n.owner.component.parentFragment:n.parent}else for(;n;){if(void 0!==(t=Pe(n,a)))return this.callback(S("@"+a.prefix+t.str));n=n.parent}},unbind:function(){this.cached&&this.cached.unregisterIndexRef(this)}};var Cc=Sc,Pc=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,e.ref.fragment.registerIndexRef(this),this.rebind()};Pc.prototype={rebind:function(){var t,e=this.ref.ref;t="k"===e.ref.t?"k"+e.fragment.key:"i"+e.fragment.index,void 0!==t&&this.callback(S("@"+t))},unbind:function(){this.ref.ref.fragment.unregisterIndexRef(this)}};var Ac=Pc,Oc=Ae;Ae.resolve=function(t){var e,n,a={};for(e in t.refs)n=t.refs[e],a[n.ref.n]="k"===n.ref.t?n.fragment.key:n.fragment.index;return a};var Tc,Rc=Oe,Mc=Te,Lc={},jc=Function.prototype.bind;Tc=function(t,e,n,a){var r,i=this;r=t.root,this.root=r,this.parentFragment=e,this.callback=a,this.owner=t,this.str=n.s,this.keypaths=[],this.pending=n.r.length,this.refResolvers=n.r.map(function(t,e){return Rc(i,t,function(t){i.resolve(e,t)})}),this.ready=!0,this.bubble()},Tc.prototype={bubble:function(){this.ready&&(this.uniqueString=Me(this.str,this.keypaths),this.keypath=Le(this.uniqueString),this.createEvaluator(),this.callback(this.keypath))},unbind:function(){for(var t;t=this.refResolvers.pop();)t.unbind()},resolve:function(t,e){this.keypaths[t]=e,this.bubble()},createEvaluator:function(){var t,e,n,a,r,i=this;a=this.keypath,t=this.root.viewmodel.computations[a.str],t?this.root.viewmodel.mark(a):(r=Mc(this.str,this.refResolvers.length),e=this.keypaths.map(function(t){var e;return"undefined"===t?function(){}:t.isSpecial?(e=t.value,function(){return e}):function(){var e=i.root.viewmodel.get(t,{noUnwrap:!0,fullRootGet:!0});return"function"==typeof e&&(e=De(e,i.root)),e}}),n={deps:this.keypaths.filter(je),getter:function(){var t=e.map(Re);return r.apply(null,t)}},t=this.root.viewmodel.compute(a,n))},rebind:function(t,e){this.refResolvers.forEach(function(n){return n.rebind(t,e)})}};var Dc=Tc,Nc=function(t,e,n){var a=this;this.resolver=e,this.root=e.root,this.parentFragment=n,this.viewmodel=e.root.viewmodel,"string"==typeof t?this.value=t:t.t===Nu?this.refResolver=Rc(this,t.n,function(t){a.resolve(t)}):new Dc(e,n,t,function(t){a.resolve(t)})};Nc.prototype={resolve:function(t){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.keypath=t,this.value=this.viewmodel.get(t),this.bind(),this.resolver.bubble()},bind:function(){this.viewmodel.register(this.keypath,this)},rebind:function(t,e){this.refResolver&&this.refResolver.rebind(t,e)},setValue:function(t){this.value=t,this.resolver.bubble()},unbind:function(){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.refResolver&&this.refResolver.unbind()},forceResolution:function(){this.refResolver&&this.refResolver.forceResolution()}};var Fc=Nc,Ic=function(t,e,n){var a,r,i,o,s=this;this.parentFragment=o=t.parentFragment,this.root=a=t.root,this.mustache=t,this.ref=r=e.r,this.callback=n,this.unresolved=[],(i=ls(a,r,o))?this.base=i:this.baseResolver=new kc(this,r,function(t){s.base=t,s.baseResolver=null,s.bubble()}),this.members=e.m.map(function(t){return new Fc(t,s,o)}),this.ready=!0,this.bubble()};Ic.prototype={getKeypath:function(){var t=this.members.map(Ne);return!t.every(Fe)||this.baseResolver?null:this.base.join(t.join("."))},bubble:function(){this.ready&&!this.baseResolver&&this.callback(this.getKeypath())},unbind:function(){this.members.forEach(K)},rebind:function(t,e){var n;if(this.base){var a=this.base.replace(t,e);a&&a!==this.base&&(this.base=a,n=!0)}this.members.forEach(function(a){a.rebind(t,e)&&(n=!0)}),n&&this.bubble()},forceResolution:function(){this.baseResolver&&(this.base=S(this.ref),this.baseResolver.unbind(),this.baseResolver=null),this.members.forEach(Ie),this.bubble()}};var Bc=Ic,Uc=Be,Vc=Ue,qc=Ve,Gc={getValue:xc,init:Uc,resolve:Vc,rebind:qc},zc=function(t){this.type=Su,Gc.init(this,t)};zc.prototype={update:function(){this.node.data=void 0==this.value?"":this.value},resolve:Gc.resolve,rebind:Gc.rebind,detach:vc,unbind:_c,render:function(){return this.node||(this.node=document.createTextNode(n(this.value))),this.node},unrender:function(t){t&&e(this.node)},getValue:Gc.getValue,setValue:function(t){var e;this.keypath&&(e=this.root.viewmodel.wrapped[this.keypath.str])&&(t=e.get()),s(t,this.value)||(this.value=t,this.parentFragment.bubble(),this.node&&bs.addView(this))},firstNode:function(){return this.node},toString:function(t){var e=""+n(this.value);return t?Se(e):e}};var Wc=zc,Hc=qe,Kc=Ge,Qc=ze,Yc=We,$c=He,Jc=Ke,Xc=Qe,Zc=Ye,tl=$e,el=function(t,e){Gc.rebind.call(this,t,e)},nl=Xe,al=Ze,rl=ln,il=dn,ol=fn,sl=gn,pl=function(t){this.type=Cu,this.subtype=this.currentSubtype=t.template.n,this.inverted=this.subtype===Iu,this.pElement=t.pElement,this.fragments=[],this.fragmentsToCreate=[],this.fragmentsToRender=[],this.fragmentsToUnrender=[],t.template.i&&(this.indexRefs=t.template.i.split(",").map(function(t,e){return{n:t,t:0===e?"k":"i"}})),this.renderedFragments=[],this.length=0,Gc.init(this,t)};pl.prototype={bubble:Hc,detach:Kc,find:Qc,findAll:Yc,findAllComponents:$c,findComponent:Jc,findNextNode:Xc,firstNode:Zc,getIndexRef:function(t){if(this.indexRefs)for(var e=this.indexRefs.length;e--;){var n=this.indexRefs[e];if(n.n===t)return n}},getValue:Gc.getValue,shuffle:tl,rebind:el,render:nl,resolve:Gc.resolve,setValue:al,toString:rl,unbind:il,unrender:ol,update:sl};var ul,cl,ll=pl,dl=vn,fl=bn,hl=yn,ml=_n,gl={};try{co("table").innerHTML="foo"}catch(Ao){ul=!0,cl={TABLE:['"],THEAD:['"],TBODY:['"],TR:['"],SELECT:[''," "]}}var vl=function(t,e,n){var a,r,i,o,s,p=[];if(null!=t&&""!==t){for(ul&&(r=cl[e.tagName])?(a=xn("DIV"),a.innerHTML=r[0]+t+r[1],a=a.querySelector(".x"),"SELECT"===a.tagName&&(i=a.options[a.selectedIndex])):e.namespaceURI===no.svg?(a=xn("DIV"),a.innerHTML=''+t+" ",a=a.querySelector(".x")):(a=xn(e.tagName),a.innerHTML=t,"SELECT"===a.tagName&&(i=a.options[a.selectedIndex]));o=a.firstChild;)p.push(o),n.appendChild(o);if("SELECT"===e.tagName)for(s=p.length;s--;)p[s]!==i&&(p[s].selected=!1)}return p},bl=wn,yl=Sn,_l=En,xl=Cn,wl=Pn,kl=An,Sl=function(t){this.type=Eu,Gc.init(this,t)};Sl.prototype={detach:dl,find:fl,findAll:hl,firstNode:ml,getValue:Gc.getValue,rebind:Gc.rebind,render:yl,resolve:Gc.resolve,setValue:_l,toString:xl,unbind:_c,unrender:wl,update:kl};var El,Cl,Pl,Al,Ol=Sl,Tl=function(){this.parentFragment.bubble()},Rl=On,Ml=function(t){return this.node?lo(this.node,t)?this.node:this.fragment&&this.fragment.find?this.fragment.find(t):void 0:null},Ll=function(t,e){e._test(this,!0)&&e.live&&(this.liveQueries||(this.liveQueries=[])).push(e),this.fragment&&this.fragment.findAll(t,e)},jl=function(t,e){this.fragment&&this.fragment.findAllComponents(t,e)},Dl=function(t){return this.fragment?this.fragment.findComponent(t):void 0},Nl=Tn,Fl=Rn,Il=Mn,Bl=/^true|on|yes|1$/i,Ul=/^[0-9]+$/,Vl=function(t,e){var n,a,r;return r=e.a||{},a={},n=r.twoway,void 0!==n&&(a.twoway=0===n||Bl.test(n)),n=r.lazy,void 0!==n&&(0!==n&&Ul.test(n)?a.lazy=parseInt(n):a.lazy=0===n||Bl.test(n)),a},ql=Ln;El="altGlyph altGlyphDef altGlyphItem animateColor animateMotion animateTransform clipPath feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence foreignObject glyphRef linearGradient radialGradient textPath vkern".split(" "),Cl="attributeName attributeType baseFrequency baseProfile calcMode clipPathUnits contentScriptType contentStyleType diffuseConstant edgeMode externalResourcesRequired filterRes filterUnits glyphRef gradientTransform gradientUnits kernelMatrix kernelUnitLength keyPoints keySplines keyTimes lengthAdjust limitingConeAngle markerHeight markerUnits markerWidth maskContentUnits maskUnits numOctaves pathLength patternContentUnits patternTransform patternUnits pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits refX refY repeatCount repeatDur requiredExtensions requiredFeatures specularConstant specularExponent spreadMethod startOffset stdDeviation stitchTiles surfaceScale systemLanguage tableValues targetX targetY textLength viewBox viewTarget xChannelSelector yChannelSelector zoomAndPan".split(" "),Pl=function(t){for(var e={},n=t.length;n--;)e[t[n].toLowerCase()]=t[n];return e},Al=Pl(El.concat(Cl));var Gl=function(t){var e=t.toLowerCase();return Al[e]||e},zl=function(t,e){var n,a;if(n=e.indexOf(":"),-1===n||(a=e.substr(0,n),"xmlns"===a))t.name=t.element.namespace!==no.html?Gl(e):e;else if(e=e.substring(n+1),t.name=Gl(e),t.namespace=no[a.toLowerCase()],t.namespacePrefix=a,!t.namespace)throw'Unknown namespace ("'+a+'")'},Wl=jn,Hl=Dn,Kl=Nn,Ql=Fn,Yl={"accept-charset":"acceptCharset",accesskey:"accessKey",bgcolor:"bgColor","class":"className",codebase:"codeBase",colspan:"colSpan",contenteditable:"contentEditable",datetime:"dateTime",dirname:"dirName","for":"htmlFor","http-equiv":"httpEquiv",ismap:"isMap",maxlength:"maxLength",novalidate:"noValidate",pubdate:"pubDate",readonly:"readOnly",rowspan:"rowSpan",tabindex:"tabIndex",usemap:"useMap"},$l=In,Jl=Un,Xl=Vn,Zl=qn,td=Gn,ed=zn,nd=Wn,ad=Hn,rd=Kn,id=Qn,od=Yn,sd=$n,pd=Jn,ud=Xn,cd=Zn,ld=function(t){this.init(t)};ld.prototype={bubble:ql,init:Hl,rebind:Kl,render:Ql,toString:$l,unbind:Jl,update:cd};var dd,fd=ld,hd=function(t,e){var n,a,r=[];for(n in e)"twoway"!==n&&"lazy"!==n&&e.hasOwnProperty(n)&&(a=new fd({element:t,name:n,value:e[n],root:t.root}),r[n]=a,"value"!==n&&r.push(a));return(a=r.value)&&r.push(a),r};"undefined"!=typeof document&&(dd=co("div"));var md=function(t,e){this.element=t,this.root=t.root,this.parentFragment=t.parentFragment,this.attributes=[],this.fragment=new rg({root:t.root,owner:this,template:[e]})};md.prototype={bubble:function(){this.node&&this.update(),this.element.bubble()},rebind:function(t,e){this.fragment.rebind(t,e)},render:function(t){this.node=t,this.isSvg=t.namespaceURI===no.svg,this.update()},unbind:function(){this.fragment.unbind()},update:function(){var t,e,n=this;t=""+this.fragment,e=ta(t,this.isSvg),this.attributes.filter(function(t){return ea(e,t)}).forEach(function(t){n.node.removeAttribute(t.name)}),e.forEach(function(t){n.node.setAttribute(t.name,t.value)}),this.attributes=e},toString:function(){return""+this.fragment}};var gd=md,vd=function(t,e){return e?e.map(function(e){return new gd(t,e)}):[]},bd=function(t){var e,n,a,r;if(this.element=t,this.root=t.root,this.attribute=t.attributes[this.name||"value"],e=this.attribute.interpolator,e.twowayBinding=this,n=e.keypath){if("}"===n.str.slice(-1))return g("Two-way binding does not work with expressions (`%s` on <%s>)",e.resolver.uniqueString,t.name,{ractive:this.root}),!1;if(n.isSpecial)return g("Two-way binding does not work with %s",e.resolver.ref,{ractive:this.root}),!1}else{var i=e.template.r?"'"+e.template.r+"' reference":"expression";m("The %s being used for two-way binding is ambiguous, and may cause unexpected results. Consider initialising your data to eliminate the ambiguity",i,{ractive:this.root}),e.resolver.forceResolution(),n=e.keypath}this.attribute.isTwoway=!0,this.keypath=n,a=this.root.viewmodel.get(n),void 0===a&&this.getInitialValue&&(a=this.getInitialValue(),void 0!==a&&this.root.viewmodel.set(n,a)),(r=na(t))&&(this.resetValue=a,r.formBindings.push(this))};bd.prototype={handleChange:function(){var t=this;bs.start(this.root),this.attribute.locked=!0,this.root.viewmodel.set(this.keypath,this.getValue()),bs.scheduleTask(function(){return t.attribute.locked=!1}),bs.end()},rebound:function(){var t,e,n;e=this.keypath,n=this.attribute.interpolator.keypath,e!==n&&(N(this.root._twowayBindings[e.str],this),this.keypath=n,t=this.root._twowayBindings[n.str]||(this.root._twowayBindings[n.str]=[]),t.push(this))},unbind:function(){}},bd.extend=function(t){var e,n=this;return e=function(t){bd.call(this,t),this.init&&this.init()},e.prototype=So(n.prototype),a(e.prototype,t),e.extend=bd.extend,e};var yd,_d=bd,xd=aa;yd=_d.extend({getInitialValue:function(){return""},getValue:function(){return this.element.node.value},render:function(){var t,e=this.element.node,n=!1;this.rendered=!0,t=this.root.lazy,this.element.lazy===!0?t=!0:this.element.lazy===!1?t=!1:p(this.element.lazy)?(t=!1,n=+this.element.lazy):p(t||"")&&(n=+t,t=!1,this.element.lazy=n),this.handler=n?ia:xd,e.addEventListener("change",xd,!1),t||(e.addEventListener("input",this.handler,!1),e.attachEvent&&e.addEventListener("keyup",this.handler,!1)),e.addEventListener("blur",ra,!1)},unrender:function(){var t=this.element.node;this.rendered=!1,t.removeEventListener("change",xd,!1),t.removeEventListener("input",this.handler,!1),t.removeEventListener("keyup",this.handler,!1),t.removeEventListener("blur",ra,!1)}});var wd=yd,kd=wd.extend({getInitialValue:function(){return this.element.fragment?""+this.element.fragment:""},getValue:function(){return this.element.node.innerHTML}}),Sd=kd,Ed=oa,Cd={},Pd=_d.extend({name:"checked",init:function(){this.siblings=Ed(this.root._guid,"radio",this.element.getAttribute("name")),this.siblings.push(this)},render:function(){var t=this.element.node;t.addEventListener("change",xd,!1),t.attachEvent&&t.addEventListener("click",xd,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",xd,!1),t.removeEventListener("click",xd,!1)},handleChange:function(){bs.start(this.root),this.siblings.forEach(function(t){t.root.viewmodel.set(t.keypath,t.getValue())}),bs.end()},getValue:function(){return this.element.node.checked},unbind:function(){N(this.siblings,this)}}),Ad=Pd,Od=_d.extend({name:"name",init:function(){this.siblings=Ed(this.root._guid,"radioname",this.keypath.str),this.siblings.push(this),this.radioName=!0},getInitialValue:function(){return this.element.getAttribute("checked")?this.element.getAttribute("value"):void 0},render:function(){var t=this.element.node;t.name="{{"+this.keypath.str+"}}",t.checked=this.root.viewmodel.get(this.keypath)==this.element.getAttribute("value"),t.addEventListener("change",xd,!1),t.attachEvent&&t.addEventListener("click",xd,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",xd,!1),t.removeEventListener("click",xd,!1)},getValue:function(){var t=this.element.node;return t._ractive?t._ractive.value:t.value},handleChange:function(){this.element.node.checked&&_d.prototype.handleChange.call(this)},rebound:function(t,e){var n;_d.prototype.rebound.call(this,t,e),(n=this.element.node)&&(n.name="{{"+this.keypath.str+"}}")},unbind:function(){N(this.siblings,this)}}),Td=Od,Rd=_d.extend({name:"name",getInitialValue:function(){return this.noInitialValue=!0,[]},init:function(){var t,e;this.checkboxName=!0,this.siblings=Ed(this.root._guid,"checkboxes",this.keypath.str),this.siblings.push(this),this.noInitialValue&&(this.siblings.noInitialValue=!0),this.siblings.noInitialValue&&this.element.getAttribute("checked")&&(t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),t.push(e))},unbind:function(){N(this.siblings,this)},render:function(){var t,e,n=this.element.node;t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),i(t)?this.isChecked=M(t,e):this.isChecked=t==e,n.name="{{"+this.keypath.str+"}}",n.checked=this.isChecked,n.addEventListener("change",xd,!1),n.attachEvent&&n.addEventListener("click",xd,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",xd,!1),t.removeEventListener("click",xd,!1)},changed:function(){var t=!!this.isChecked;return this.isChecked=this.element.node.checked,this.isChecked===t},handleChange:function(){this.isChecked=this.element.node.checked,_d.prototype.handleChange.call(this)},getValue:function(){return this.siblings.filter(sa).map(pa)}}),Md=Rd,Ld=_d.extend({name:"checked",render:function(){var t=this.element.node;t.addEventListener("change",xd,!1),t.attachEvent&&t.addEventListener("click",xd,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",xd,!1),t.removeEventListener("click",xd,!1)},getValue:function(){return this.element.node.checked}}),jd=Ld,Dd=_d.extend({getInitialValue:function(){var t,e,n,a,r=this.element.options;if(void 0===this.element.getAttribute("value")&&(e=t=r.length,t)){for(;e--;)if(r[e].getAttribute("selected")){n=r[e].getAttribute("value"),a=!0;break}if(!a)for(;++ee;e+=1)if(a=t[e],t[e].selected)return r=a._ractive?a._ractive.value:a.value},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,bs.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))}}),Nd=Dd,Fd=Nd.extend({getInitialValue:function(){return this.element.options.filter(function(t){return t.getAttribute("selected")}).map(function(t){return t.getAttribute("value")})},render:function(){var t;this.element.node.addEventListener("change",xd,!1),t=this.root.viewmodel.get(this.keypath),void 0===t&&this.handleChange()},unrender:function(){this.element.node.removeEventListener("change",xd,!1)},setValue:function(){throw Error("TODO not implemented yet")},getValue:function(){var t,e,n,a,r,i;for(t=[],e=this.element.node.options,a=e.length,n=0;a>n;n+=1)r=e[n],r.selected&&(i=r._ractive?r._ractive.value:r.value,t.push(i));return t},handleChange:function(){var t,e,n;return t=this.attribute,e=t.value,n=this.getValue(),void 0!==e&&L(n,e)||Nd.prototype.handleChange.call(this),this},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,bs.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))},updateModel:function(){void 0!==this.attribute.value&&this.attribute.value.length||this.root.viewmodel.set(this.keypath,this.initialValue)}}),Id=Fd,Bd=_d.extend({render:function(){this.element.node.addEventListener("change",xd,!1)},unrender:function(){this.element.node.removeEventListener("change",xd,!1)},getValue:function(){return this.element.node.files}}),Ud=Bd,Vd=wd.extend({getInitialValue:function(){},getValue:function(){var t=parseFloat(this.element.node.value);return isNaN(t)?void 0:t}}),qd=ua,Gd=la,zd=da,Wd=fa,Hd=ha,Kd=/^event(?:\.(.+))?/,Qd=ba,Yd=ya,$d={},Jd={touchstart:!0,touchmove:!0,touchend:!0,touchcancel:!0,touchleave:!0},Xd=xa,Zd=wa,tf=ka,ef=Sa,nf=Ea,af=function(t,e,n){this.init(t,e,n)};af.prototype={bubble:Gd,fire:zd,getAction:Wd,init:Hd,listen:Yd,rebind:Xd,render:Zd,resolve:tf,unbind:ef,unrender:nf};var rf=af,of=function(t,e){var n,a,r,i,o=[];for(a in e)if(e.hasOwnProperty(a))for(r=a.split("-"),n=r.length;n--;)i=new rf(t,r[n],e[a]),o.push(i);return o},sf=function(t,e){var n,a,r,i=this;this.element=t,this.root=n=t.root,a=e.n||e,("string"==typeof a||(r=new rg({template:a,root:n,owner:t}),a=""+r,r.unbind(),""!==a))&&(e.a?this.params=e.a:e.d&&(this.fragment=new rg({template:e.d,root:n,owner:t}),this.params=this.fragment.getArgsList(),this.fragment.bubble=function(){this.dirtyArgs=this.dirtyValue=!0,i.params=this.getArgsList(),i.ready&&i.update()}),this.fn=v("decorators",n,a),this.fn||l(Io(a,"decorator")))};sf.prototype={init:function(){var t,e,n;if(t=this.element.node,this.params?(n=[t].concat(this.params),e=this.fn.apply(this.root,n)):e=this.fn.call(this.root,t),!e||!e.teardown)throw Error("Decorator definition must return an object with a teardown method");this.actual=e,this.ready=!0},update:function(){this.actual.update?this.actual.update.apply(this.root,this.params):(this.actual.teardown(!0),this.init())},rebind:function(t,e){this.fragment&&this.fragment.rebind(t,e)},teardown:function(t){this.torndown=!0,this.ready&&this.actual.teardown(),!t&&this.fragment&&this.fragment.unbind()}};var pf,uf,cf,lf=sf,df=Ma,ff=La,hf=Ba,mf=function(t){
-return t.replace(/-([a-zA-Z])/g,function(t,e){return e.toUpperCase()})};Xi?(uf={},cf=co("div").style,pf=function(t){var e,n,a;if(t=mf(t),!uf[t])if(void 0!==cf[t])uf[t]=t;else for(a=t.charAt(0).toUpperCase()+t.substring(1),e=ro.length;e--;)if(n=ro[e],void 0!==cf[n+a]){uf[t]=n+a;break}return uf[t]}):pf=null;var gf,vf,bf=pf;Xi?(vf=window.getComputedStyle||Po.getComputedStyle,gf=function(t){var e,n,a,r,o;if(e=vf(this.node),"string"==typeof t)return o=e[bf(t)],"0px"===o&&(o=0),o;if(!i(t))throw Error("Transition$getStyle must be passed a string, or an array of strings representing CSS properties");for(n={},a=t.length;a--;)r=t[a],o=e[bf(r)],"0px"===o&&(o=0),n[r]=o;return n}):gf=null;var yf=gf,_f=function(t,e){var n;if("string"==typeof t)this.node.style[bf(t)]=e;else for(n in t)t.hasOwnProperty(n)&&(this.node.style[bf(n)]=t[n]);return this},xf=function(t){var e;this.duration=t.duration,this.step=t.step,this.complete=t.complete,"string"==typeof t.easing?(e=t.root.easing[t.easing],e||(g(Io(t.easing,"easing")),e=Ua)):e="function"==typeof t.easing?t.easing:Ua,this.easing=e,this.start=ns(),this.end=this.start+this.duration,this.running=!0,xs.add(this)};xf.prototype={tick:function(t){var e,n;return this.running?t>this.end?(this.step&&this.step(1),this.complete&&this.complete(1),!1):(e=t-this.start,n=this.easing(e/this.duration),this.step&&this.step(n),!0):!1},stop:function(){this.abort&&this.abort(),this.running=!1}};var wf,kf,Sf,Ef,Cf,Pf,Af,Of,Tf=xf,Rf=RegExp("^-(?:"+ro.join("|")+")-"),Mf=function(t){return t.replace(Rf,"")},Lf=RegExp("^(?:"+ro.join("|")+")([A-Z])"),jf=function(t){var e;return t?(Lf.test(t)&&(t="-"+t),e=t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})):""},Df={},Nf={};Xi?(kf=co("div").style,function(){void 0!==kf.transition?(Sf="transition",Ef="transitionend",Cf=!0):void 0!==kf.webkitTransition?(Sf="webkitTransition",Ef="webkitTransitionEnd",Cf=!0):Cf=!1}(),Sf&&(Pf=Sf+"Duration",Af=Sf+"Property",Of=Sf+"TimingFunction"),wf=function(t,e,n,a,r){setTimeout(function(){var i,o,s,p,u;p=function(){o&&s&&(t.root.fire(t.name+":end",t.node,t.isIntro),r())},i=(t.node.namespaceURI||"")+t.node.tagName,t.node.style[Af]=a.map(bf).map(jf).join(","),t.node.style[Of]=jf(n.easing||"linear"),t.node.style[Pf]=n.duration/1e3+"s",u=function(e){var n;n=a.indexOf(mf(Mf(e.propertyName))),-1!==n&&a.splice(n,1),a.length||(t.node.removeEventListener(Ef,u,!1),s=!0,p())},t.node.addEventListener(Ef,u,!1),setTimeout(function(){for(var r,c,l,d,f,h=a.length,g=[];h--;)d=a[h],r=i+d,Cf&&!Nf[r]&&(t.node.style[bf(d)]=e[d],Df[r]||(c=t.getStyle(d),Df[r]=t.getStyle(d)!=e[d],Nf[r]=!Df[r],Nf[r]&&(t.node.style[bf(d)]=c))),(!Cf||Nf[r])&&(void 0===c&&(c=t.getStyle(d)),l=a.indexOf(d),-1===l?m("Something very strange happened with transitions. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!",{node:t.node}):a.splice(l,1),f=/[^\d]*$/.exec(e[d])[0],g.push({name:bf(d),interpolator:Uo(parseFloat(c),parseFloat(e[d])),suffix:f}));g.length?new Tf({root:t.root,duration:n.duration,easing:mf(n.easing||""),step:function(e){var n,a;for(a=g.length;a--;)n=g[a],t.node.style[n.name]=n.interpolator(e)+n.suffix},complete:function(){o=!0,p()}}):o=!0,a.length||(t.node.removeEventListener(Ef,u,!1),s=!0,p())},0)},n.delay||0)}):wf=null;var Ff,If,Bf,Uf,Vf,qf=wf;if("undefined"!=typeof document){if(Ff="hidden",Vf={},Ff in document)Bf="";else for(Uf=ro.length;Uf--;)If=ro[Uf],Ff=If+"Hidden",Ff in document&&(Bf=If);void 0!==Bf?(document.addEventListener(Bf+"visibilitychange",Va),Va()):("onfocusout"in document?(document.addEventListener("focusout",qa),document.addEventListener("focusin",Ga)):(window.addEventListener("pagehide",qa),window.addEventListener("blur",qa),window.addEventListener("pageshow",Ga),window.addEventListener("focus",Ga)),Vf.hidden=!1)}var Gf,zf,Wf,Hf=Vf;Xi?(zf=window.getComputedStyle||Po.getComputedStyle,Gf=function(t,e,n){var a,r=this;if(4===arguments.length)throw Error("t.animateStyle() returns a promise - use .then() instead of passing a callback");if(Hf.hidden)return this.setStyle(t,e),Wf||(Wf=us.resolve());"string"==typeof t?(a={},a[t]=e):(a=t,n=e),n||(g('The "%s" transition does not supply an options object to `t.animateStyle()`. This will break in a future version of Ractive. For more info see https://github.com/RactiveJS/Ractive/issues/340',this.name),n=this);var i=new us(function(t){var e,i,o,s,p,u,c;if(!n.duration)return r.setStyle(a),void t();for(e=Object.keys(a),i=[],o=zf(r.node),p={},u=e.length;u--;)c=e[u],s=o[bf(c)],"0px"===s&&(s=0),s!=a[c]&&(i.push(c),r.node.style[bf(c)]=s);return i.length?void qf(r,a,n,i,t):void t()});return i}):Gf=null;var Kf=Gf,Qf=function(t,e){return"number"==typeof t?t={duration:t}:"string"==typeof t?t="slow"===t?{duration:600}:"fast"===t?{duration:200}:{duration:400}:t||(t={}),r({},t,e)},Yf=za,$f=function(t,e,n){this.init(t,e,n)};$f.prototype={init:hf,start:Yf,getStyle:yf,setStyle:_f,animateStyle:Kf,processParams:Qf};var Jf,Xf,Zf=$f,th=Ha;Jf=function(){var t=this.node,e=this.fragment.toString(!1);if(window&&window.appearsToBeIELessEqual8&&(t.type="text/css"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}},Xf=function(){this.node.type&&"text/javascript"!==this.node.type||m("Script tag was updated. This does not cause the code to be re-evaluated!",{ractive:this.root}),this.node.text=this.fragment.toString(!1)};var eh=function(){var t,e;return this.template.y?"":(t="<"+this.template.e,t+=this.attributes.map(Xa).join("")+this.conditionalAttributes.map(Xa).join(""),"option"===this.name&&$a(this)&&(t+=" selected"),"input"===this.name&&Ja(this)&&(t+=" checked"),t+=">","textarea"===this.name&&void 0!==this.getAttribute("value")?t+=Se(this.getAttribute("value")):void 0!==this.getAttribute("contenteditable")&&(t+=this.getAttribute("value")||""),this.fragment&&(e="script"!==this.name&&"style"!==this.name,t+=this.fragment.toString(e)),ic.test(this.template.e)||(t+=""+this.template.e+">"),t)},nh=Za,ah=tr,rh=function(t){this.init(t)};rh.prototype={bubble:Tl,detach:Rl,find:Ml,findAll:Ll,findAllComponents:jl,findComponent:Dl,findNextNode:Nl,firstNode:Fl,getAttribute:Il,init:df,rebind:ff,render:th,toString:eh,unbind:nh,unrender:ah};var ih=rh,oh=/^\s*$/,sh=/^\s*/,ph=function(t){var e,n,a,r;return e=t.split("\n"),n=e[0],void 0!==n&&oh.test(n)&&e.shift(),a=D(e),void 0!==a&&oh.test(a)&&e.pop(),r=e.reduce(nr,null),r&&(t=e.map(function(t){return t.replace(r,"")}).join("\n")),t},uh=ar,ch=function(t,e){var n;return e?n=t.split("\n").map(function(t,n){return n?e+t:t}).join("\n"):t},lh='Could not find template for partial "%s"',dh=function(t){var e,n;e=this.parentFragment=t.parentFragment,this.root=e.root,this.type=Au,this.index=t.index,this.name=t.template.r,this.rendered=!1,this.fragment=this.fragmentToRender=this.fragmentToUnrender=null,Gc.init(this,t),this.keypath||((n=uh(this.root,this.name,e))?(_c.call(this),this.isNamed=!0,this.setTemplate(n)):g(lh,this.name))};dh.prototype={bubble:function(){this.parentFragment.bubble()},detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},firstNode:function(){return this.fragment.firstNode()},findNextNode:function(){return this.parentFragment.findNextNode(this)},getPartialName:function(){return this.isNamed&&this.name?this.name:void 0===this.value?this.name:this.value},getValue:function(){return this.fragment.getValue()},rebind:function(t,e){this.isNamed||qc.call(this,t,e),this.fragment&&this.fragment.rebind(t,e)},render:function(){return this.docFrag=document.createDocumentFragment(),this.update(),this.rendered=!0,this.docFrag},resolve:Gc.resolve,setValue:function(t){var e;(void 0===t||t!==this.value)&&(void 0!==t&&(e=uh(this.root,""+t,this.parentFragment)),!e&&this.name&&(e=uh(this.root,this.name,this.parentFragment))&&(_c.call(this),this.isNamed=!0),e||g(lh,this.name,{ractive:this.root}),this.value=t,this.setTemplate(e||[]),this.bubble(),this.rendered&&bs.addView(this))},setTemplate:function(t){this.fragment&&(this.fragment.unbind(),this.rendered&&(this.fragmentToUnrender=this.fragment)),this.fragment=new rg({template:t,root:this.root,owner:this,pElement:this.parentFragment.pElement}),this.fragmentToRender=this.fragment},toString:function(t){var e,n,a,r;return e=this.fragment.toString(t),n=this.parentFragment.items[this.index-1],n&&n.type===ku?(a=n.text.split("\n").pop(),(r=/^\s+$/.exec(a))?ch(e,r[0]):e):e},unbind:function(){this.isNamed||_c.call(this),this.fragment&&this.fragment.unbind()},unrender:function(t){this.rendered&&(this.fragment&&this.fragment.unrender(t),this.rendered=!1)},update:function(){var t,e;this.fragmentToUnrender&&(this.fragmentToUnrender.unrender(!0),this.fragmentToUnrender=null),this.fragmentToRender&&(this.docFrag.appendChild(this.fragmentToRender.render()),this.fragmentToRender=null),this.rendered&&(t=this.parentFragment.getNode(),e=this.parentFragment.findNextNode(this),t.insertBefore(this.docFrag,e))}};var fh,hh,mh,gh=dh,vh=pr,bh=ur,yh=new is("detach"),_h=cr,xh=lr,wh=dr,kh=fr,Sh=hr,Eh=mr,Ch=function(t,e,n,a){var r=t.root,i=t.keypath;a?r.viewmodel.smartUpdate(i,e,a):r.viewmodel.mark(i)},Ph=[],Ah=["pop","push","reverse","shift","sort","splice","unshift"];Ah.forEach(function(t){var e=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var r,i,o,s;for(r=bp(this,t,n),i=Array.prototype[t].apply(this,arguments),bs.start(),this._ractive.setting=!0,s=this._ractive.wrappers.length;s--;)o=this._ractive.wrappers[s],bs.addRactive(o.root),Ch(o,this,t,r);return bs.end(),this._ractive.setting=!1,i};Eo(Ph,t,{value:e})}),fh={},fh.__proto__?(hh=function(t){t.__proto__=Ph},mh=function(t){t.__proto__=Array.prototype}):(hh=function(t){var e,n;for(e=Ah.length;e--;)n=Ah[e],Eo(t,n,{value:Ph[n],configurable:!0})},mh=function(t){var e;for(e=Ah.length;e--;)delete t[Ah[e]]}),hh.unpatch=mh;var Oh,Th,Rh,Mh=hh;Oh={filter:function(t){return i(t)&&(!t._ractive||!t._ractive.setting)},wrap:function(t,e,n){return new Th(t,e,n)}},Th=function(t,e,n){this.root=t,this.value=e,this.keypath=S(n),e._ractive||(Eo(e,"_ractive",{value:{wrappers:[],instances:[],setting:!1},configurable:!0}),Mh(e)),e._ractive.instances[t._guid]||(e._ractive.instances[t._guid]=0,e._ractive.instances.push(t)),e._ractive.instances[t._guid]+=1,e._ractive.wrappers.push(this)},Th.prototype={get:function(){return this.value},teardown:function(){var t,e,n,a,r;if(t=this.value,e=t._ractive,n=e.wrappers,a=e.instances,e.setting)return!1;if(r=n.indexOf(this),-1===r)throw Error(Rh);if(n.splice(r,1),n.length){if(a[this.root._guid]-=1,!a[this.root._guid]){if(r=a.indexOf(this.root),-1===r)throw Error(Rh);a.splice(r,1)}}else delete t._ractive,Mh.unpatch(this.value)}},Rh="Something went wrong in a rather interesting way";var Lh,jh,Dh=Oh,Nh=/^\s*[0-9]+\s*$/,Fh=function(t){return Nh.test(t)?[]:{}};try{Object.defineProperty({},"test",{value:0}),Lh={filter:function(t,e,n){var a,r;return e?(e=S(e),(a=n.viewmodel.wrapped[e.parent.str])&&!a.magic?!1:(r=n.viewmodel.get(e.parent),i(r)&&/^[0-9]+$/.test(e.lastKey)?!1:r&&("object"==typeof r||"function"==typeof r))):!1},wrap:function(t,e,n){return new jh(t,e,n)}},jh=function(t,e,n){var a,r,i;return n=S(n),this.magic=!0,this.ractive=t,this.keypath=n,this.value=e,this.prop=n.lastKey,a=n.parent,this.obj=a.isRoot?t.viewmodel.data:t.viewmodel.get(a),r=this.originalDescriptor=Object.getOwnPropertyDescriptor(this.obj,this.prop),r&&r.set&&(i=r.set._ractiveWrappers)?void(-1===i.indexOf(this)&&i.push(this)):void gr(this,e,r)},jh.prototype={get:function(){return this.value},reset:function(t){return this.updating?void 0:(this.updating=!0,this.obj[this.prop]=t,bs.addRactive(this.ractive),this.ractive.viewmodel.mark(this.keypath,{keepExistingWrapper:!0}),this.updating=!1,!0)},set:function(t,e){this.updating||(this.obj[this.prop]||(this.updating=!0,this.obj[this.prop]=Fh(t),this.updating=!1),this.obj[this.prop][t]=e)},teardown:function(){var t,e,n,a,r;return this.updating?!1:(t=Object.getOwnPropertyDescriptor(this.obj,this.prop),e=t&&t.set,void(e&&(a=e._ractiveWrappers,r=a.indexOf(this),-1!==r&&a.splice(r,1),a.length||(n=this.obj[this.prop],Object.defineProperty(this.obj,this.prop,this.originalDescriptor||{writable:!0,enumerable:!0,configurable:!0}),this.obj[this.prop]=n))))}}}catch(Ao){Lh=!1}var Ih,Bh,Uh=Lh;Uh&&(Ih={filter:function(t,e,n){return Uh.filter(t,e,n)&&Dh.filter(t)},wrap:function(t,e,n){return new Bh(t,e,n)}},Bh=function(t,e,n){this.value=e,this.magic=!0,this.magicWrapper=Uh.wrap(t,e,n),this.arrayWrapper=Dh.wrap(t,e,n)},Bh.prototype={get:function(){return this.value},teardown:function(){this.arrayWrapper.teardown(),this.magicWrapper.teardown()},reset:function(t){return this.magicWrapper.reset(t)}});var Vh=Ih,qh=vr,Gh={},zh=_r,Wh=xr,Hh=Sr,Kh=Or,Qh=Tr,Yh=function(t,e){this.computation=t,this.viewmodel=t.viewmodel,this.ref=e,this.root=this.viewmodel.ractive,this.parentFragment=this.root.component&&this.root.component.parentFragment};Yh.prototype={resolve:function(t){this.computation.softDeps.push(t),this.computation.unresolvedDeps[t.str]=null,this.viewmodel.register(t,this.computation,"computed")}};var $h=Yh,Jh=function(t,e){this.key=t,this.getter=e.getter,this.setter=e.setter,this.hardDeps=e.deps||[],this.softDeps=[],this.unresolvedDeps={},this.depValues={},this._dirty=this._firstRun=!0};Jh.prototype={constructor:Jh,init:function(t){var e,n=this;this.viewmodel=t,this.bypass=!0,e=t.get(this.key),t.clearCache(this.key.str),this.bypass=!1,this.setter&&void 0!==e&&this.set(e),this.hardDeps&&this.hardDeps.forEach(function(e){return t.register(e,n,"computed")})},invalidate:function(){this._dirty=!0},get:function(){var t,e,n=this,a=!1;if(this.getting){var r="The "+this.key.str+" computation indirectly called itself. This probably indicates a bug in the computation. It is commonly caused by `array.sort(...)` - if that's the case, clone the array first with `array.slice().sort(...)`";return h(r),this.value}if(this.getting=!0,this._dirty){if(this._firstRun||!this.hardDeps.length&&!this.softDeps.length?a=!0:[this.hardDeps,this.softDeps].forEach(function(t){var e,r,i;if(!a)for(i=t.length;i--;)if(e=t[i],r=n.viewmodel.get(e),!s(r,n.depValues[e.str]))return n.depValues[e.str]=r,void(a=!0)}),a){this.viewmodel.capture();try{this.value=this.getter()}catch(i){m('Failed to compute "%s"',this.key.str),d(i.stack||i),this.value=void 0}t=this.viewmodel.release(),e=this.updateDependencies(t),e&&[this.hardDeps,this.softDeps].forEach(function(t){t.forEach(function(t){n.depValues[t.str]=n.viewmodel.get(t)})})}this._dirty=!1}return this.getting=this._firstRun=!1,this.value},set:function(t){if(this.setting)return void(this.value=t);if(!this.setter)throw Error("Computed properties without setters are read-only. (This may change in a future version of Ractive!)");this.setter(t)},updateDependencies:function(t){var e,n,a,r,i;for(n=this.softDeps,e=n.length;e--;)a=n[e],-1===t.indexOf(a)&&(r=!0,this.viewmodel.unregister(a,this,"computed"));for(e=t.length;e--;)a=t[e],-1!==n.indexOf(a)||this.hardDeps&&-1!==this.hardDeps.indexOf(a)||(r=!0,Rr(this.viewmodel,a)&&!this.unresolvedDeps[a.str]?(i=new $h(this,a.str),t.splice(e,1),this.unresolvedDeps[a.str]=i,bs.addUnresolved(i)):this.viewmodel.register(a,this,"computed"));return r&&(this.softDeps=t.slice()),r}};var Xh=Jh,Zh=Mr,tm={FAILED_LOOKUP:!0},em=Lr,nm={},am=Dr,rm=Nr,im=function(t,e){this.localKey=t,this.keypath=e.keypath,this.origin=e.origin,this.deps=[],this.unresolved=[],this.resolved=!1};im.prototype={forceResolution:function(){this.keypath=this.localKey,this.setup()},get:function(t,e){return this.resolved?this.origin.get(this.map(t),e):void 0},getValue:function(){return this.keypath?this.origin.get(this.keypath):void 0},initViewmodel:function(t){this.local=t,this.setup()},map:function(t){return void 0===typeof this.keypath?this.localKey:t.replace(this.localKey,this.keypath)},register:function(t,e,n){this.deps.push({keypath:t,dep:e,group:n}),this.resolved&&this.origin.register(this.map(t),e,n)},resolve:function(t){void 0!==this.keypath&&this.unbind(!0),this.keypath=t,this.setup()},set:function(t,e){this.resolved||this.forceResolution(),this.origin.set(this.map(t),e)},setup:function(){var t=this;void 0!==this.keypath&&(this.resolved=!0,this.deps.length&&(this.deps.forEach(function(e){var n=t.map(e.keypath);if(t.origin.register(n,e.dep,e.group),e.dep.setValue)e.dep.setValue(t.origin.get(n));else{if(!e.dep.invalidate)throw Error("An unexpected error occurred. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");e.dep.invalidate()}}),this.origin.mark(this.keypath)))},setValue:function(t){if(!this.keypath)throw Error("Mapping does not have keypath, cannot set value. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");this.origin.set(this.keypath,t)},unbind:function(t){var e=this;t||delete this.local.mappings[this.localKey],this.resolved&&(this.deps.forEach(function(t){e.origin.unregister(e.map(t.keypath),t.dep,t.group)}),this.tracker&&this.origin.unregister(this.keypath,this.tracker))},unregister:function(t,e,n){var a,r;if(this.resolved){for(a=this.deps,r=a.length;r--;)if(a[r].dep===e){a.splice(r,1);break}this.origin.unregister(this.map(t),e,n)}}};var om=Fr,sm=function(t,e){var n,a,r,i;return n={},a=0,r=t.map(function(t,r){var o,s,p;s=a,p=e.length;do{if(o=e.indexOf(t,s),-1===o)return i=!0,-1;s=o+1}while(n[o]&&p>s);return o===a&&(a+=1),o!==r&&(i=!0),n[o]=!0,o})},pm=Ir,um={},cm=Vr,lm=Gr,dm=zr,fm=Wr,hm=Kr,mm={implicit:!0},gm={noCascade:!0},vm=Yr,bm=$r,ym=function(t){var e,n,a=t.adapt,r=t.data,i=t.ractive,o=t.computed,s=t.mappings;this.ractive=i,this.adaptors=a,this.onchange=t.onchange,this.cache={},this.cacheMap=So(null),this.deps={computed:So(null),"default":So(null)},this.depsMap={computed:So(null),"default":So(null)},this.patternObservers=[],this.specials=So(null),this.wrapped=So(null),this.computations=So(null),this.captureGroups=[],this.unresolvedImplicitDependencies=[],this.changes=[],this.implicitChanges={},this.noCascade={},this.data=r,this.mappings=So(null);for(e in s)this.map(S(e),s[e]);if(r)for(e in r)(n=this.mappings[e])&&void 0===n.getValue()&&n.setValue(r[e]);for(e in o)s&&e in s&&l("Cannot map to a computed property ('%s')",e),this.compute(S(e),o[e]);this.ready=!0};ym.prototype={adapt:qh,applyChanges:Hh,capture:Kh,clearCache:Qh,compute:Zh,get:em,init:am,map:rm,mark:om,merge:pm,register:cm,release:lm,reset:dm,set:fm,smartUpdate:hm,teardown:vm,unregister:bm};var _m=ym;Xr.prototype={constructor:Xr,begin:function(t){this.inProcess[t._guid]=!0},end:function(t){var e=t.parent;e&&this.inProcess[e._guid]?Zr(this.queue,e).push(t):ti(this,t),delete this.inProcess[t._guid]}};var xm=Xr,wm=ei,km=/\$\{([^\}]+)\}/g,Sm=new is("construct"),Em=new is("config"),Cm=new xm("init"),Pm=0,Am=["adaptors","components","decorators","easing","events","interpolators","partials","transitions"],Om=ii,Tm=ci;ci.prototype={bubble:function(){this.dirty||(this.dirty=!0,bs.addView(this))},update:function(){this.callback(this.fragment.getValue()),this.dirty=!1},rebind:function(t,e){this.fragment.rebind(t,e)},unbind:function(){this.fragment.unbind()}};var Rm=function(t,e,n,r,o){var s,p,u,c,l,d,f={},h={},g={},v=[];for(p=t.parentFragment,u=t.root,o=o||{},a(f,o),o.content=r||[],f[""]=o.content,e.defaults.el&&m("The <%s/> component has a default `el` property; it has been disregarded",t.name),c=p;c;){if(c.owner.type===Mu){l=c.owner.container;break}c=c.parent}return n&&Object.keys(n).forEach(function(e){var a,r,o=n[e];if("string"==typeof o)a=dc(o),h[e]=a?a.value:o;else if(0===o)h[e]=!0;else{if(!i(o))throw Error("erm wut");di(o)?(g[e]={origin:t.root.viewmodel,keypath:void 0},r=li(t,o[0],function(t){t.isSpecial?d?s.set(e,t.value):(h[e]=t.value,delete g[e]):d?s.viewmodel.mappings[e].resolve(t):g[e].keypath=t})):r=new Tm(t,o,function(t){d?s.set(e,t):h[e]=t}),v.push(r)}}),s=So(e.prototype),Om(s,{el:null,append:!0,data:h,partials:o,magic:u.magic||e.defaults.magic,modifyArrays:u.modifyArrays,adapt:u.adapt},{parent:u,component:t,container:l,mappings:g,inlinePartials:f,cssIds:p.cssIds}),d=!0,t.resolvers=v,s},Mm=fi,Lm=function(t){var e,n;for(e=t.root;e;)(n=e._liveComponentQueries["_"+t.name])&&n.push(t.instance),e=e.parent},jm=mi,Dm=gi,Nm=vi,Fm=bi,Im=yi,Bm=new is("teardown"),Um=xi,Vm=function(t,e){this.init(t,e)};Vm.prototype={detach:bh,find:_h,findAll:xh,findAllComponents:wh,findComponent:kh,findNextNode:Sh,firstNode:Eh,init:jm,rebind:Dm,render:Nm,toString:Fm,unbind:Im,unrender:Um};var qm=Vm,Gm=function(t){this.type=Ou,this.value=t.template.c};Gm.prototype={detach:vc,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createComment(this.value)),this.node},toString:function(){return""},unrender:function(t){t&&this.node.parentNode.removeChild(this.node)}};var zm=Gm,Wm=function(t){var e,n;this.type=Mu,this.container=e=t.parentFragment.root,this.component=n=e.component,this.container=e,this.containerFragment=t.parentFragment,this.parentFragment=n.parentFragment;var a=this.name=t.template.n||"",r=e._inlinePartials[a];r||(m('Could not find template for partial "'+a+'"',{ractive:t.root}),r=[]),this.fragment=new rg({owner:this,root:e.parent,template:r,pElement:this.containerFragment.pElement}),i(n.yielders[a])?n.yielders[a].push(this):n.yielders[a]=[this],bs.scheduleTask(function(){if(n.yielders[a].length>1)throw Error("A component template can only have one {{yield"+(a?" "+a:"")+"}} declaration at a time")})};Wm.prototype={detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},findNextNode:function(){return this.containerFragment.findNextNode(this)},firstNode:function(){return this.fragment.firstNode()},getValue:function(t){return this.fragment.getValue(t)},render:function(){return this.fragment.render()},unbind:function(){this.fragment.unbind()},unrender:function(t){this.fragment.unrender(t),N(this.component.yielders[this.name],this)},rebind:function(t,e){this.fragment.rebind(t,e)},toString:function(){return""+this.fragment}};var Hm=Wm,Km=function(t){this.declaration=t.template.a};Km.prototype={init:ko,render:ko,unrender:ko,teardown:ko,toString:function(){return""}};var Qm=Km,Ym=wi,$m=Si,Jm=Ei,Xm=Ci,Zm=Oi,tg=Ri,eg=function(t){this.init(t)};eg.prototype={bubble:cu,detach:lu,find:du,findAll:fu,findAllComponents:hu,findComponent:mu,findNextNode:gu,firstNode:vu,getArgsList:hc,getNode:mc,getValue:gc,init:Ym,rebind:$m,registerIndexRef:function(t){var e=this.registeredIndexRefs;-1===e.indexOf(t)&&e.push(t)},render:Jm,toString:Xm,unbind:Zm,unregisterIndexRef:function(t){var e=this.registeredIndexRefs;e.splice(e.indexOf(t),1)},unrender:tg};var ng,ag,rg=eg,ig=Mi,og=["template","partials","components","decorators","events"],sg=new is("reset"),pg=function(t,e){function n(e,a,r){r&&r.partials[t]||e.forEach(function(e){e.type===Au&&e.getPartialName()===t&&a.push(e),e.fragment&&n(e.fragment.items,a,r),i(e.fragments)?n(e.fragments,a,r):i(e.items)?n(e.items,a,r):e.type===Ru&&e.instance&&n(e.instance.fragment.items,a,e.instance),e.type===Pu&&(i(e.attributes)&&n(e.attributes,a,r),i(e.conditionalAttributes)&&n(e.conditionalAttributes,a,r))})}var a,r=[];return n(this.fragment.items,r),this.partials[t]=e,a=bs.start(this,!0),r.forEach(function(e){e.value=void 0,e.setValue(t)}),bs.end(),a},ug=Li,cg=_p("reverse"),lg=ji,dg=_p("shift"),fg=_p("sort"),hg=_p("splice"),mg=Ni,gg=Fi,vg=new is("teardown"),bg=Bi,yg=Ui,_g=Vi,xg=new is("unrender"),wg=_p("unshift"),kg=qi,Sg=new is("update"),Eg=Gi,Cg={add:Zo,animate:Ss,detach:Cs,find:As,findAll:Fs,findAllComponents:Is,findComponent:Bs,findContainer:Us,findParent:Vs,fire:Ws,get:Hs,insert:Qs,merge:$s,observe:lp,observeOnce:dp,off:mp,on:gp,once:vp,pop:xp,push:wp,render:Tp,reset:ig,resetPartial:pg,resetTemplate:ug,reverse:cg,set:lg,shift:dg,sort:fg,splice:hg,subtract:mg,teardown:gg,toggle:bg,toHTML:yg,toHtml:yg,unrender:_g,unshift:wg,update:kg,updateModel:Eg},Pg=function(t,e,n){return n||Wi(t,e)?function(){var n,a="_super"in this,r=this._super;return this._super=e,n=t.apply(this,arguments),a&&(this._super=r),n}:t},Ag=Hi,Og=$i,Tg=function(t){var e,n,a={};return t&&(e=t._ractive)?(a.ractive=e.root,a.keypath=e.keypath.str,a.index={},(n=Oc(e.proxy.parentFragment))&&(a.index=Oc.resolve(n)),a):a};ng=function(t){return this instanceof ng?void Om(this,t):new ng(t)},ag={DEBUG:{writable:!0,value:!0},DEBUG_PROMISES:{writable:!0,value:!0},extend:{value:Og},getNodeInfo:{value:Tg},parse:{value:Hp},Promise:{value:us},svg:{value:ao},magic:{value:eo},VERSION:{value:"0.7.3"},adaptors:{writable:!0,value:{}},components:{writable:!0,value:{}},decorators:{writable:!0,value:{}},easing:{writable:!0,value:po},events:{writable:!0,value:{}},interpolators:{writable:!0,value:qo},partials:{writable:!0,value:{}},transitions:{writable:!0,value:{}}},Co(ng,ag),ng.prototype=a(Cg,so),ng.prototype.constructor=ng,ng.defaults=ng.prototype;var Rg="function";if(typeof Date.now!==Rg||typeof String.prototype.trim!==Rg||typeof Object.keys!==Rg||typeof Array.prototype.indexOf!==Rg||typeof Array.prototype.forEach!==Rg||typeof Array.prototype.map!==Rg||typeof Array.prototype.filter!==Rg||"undefined"!=typeof window&&typeof window.addEventListener!==Rg)throw Error("It looks like you're attempting to use Ractive.js in an older browser. You'll need to use one of the 'legacy builds' in order to continue - see http://docs.ractivejs.org/latest/legacy-builds for more information.");var Mg=ng;return Mg})},{}],342:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.observe("value",function(e,n,a){var r=t.get(),i=r.min,o=r.max,s=Math.clamp(i,o,e);t.animate("percentage",Math.round((s-i)/(o-i)*100))})}}}(r),r.exports.template={v:3,t:[" ",{p:[13,1,293],t:7,e:"div",a:{"class":"bar"},f:[{p:[14,3,313],t:7,e:"div",a:{"class":["barFill ",{t:2,r:"state",p:[14,23,333]}],style:["width: ",{t:2,r:"percentage",p:[14,48,358]},"%"]}}," ",{p:[15,3,384],t:7,e:"span",a:{"class":"barText"},f:[{t:16,p:[15,25,406]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],343:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(482),a=t(481);e.exports={computed:{clickable:function(){return!this.get("enabled")||this.get("state")&&"toggle"!=this.get("state")?!1:!0},enabled:function(){return this.get("config.status")===n.UI_INTERACTIVE?!0:!1},styles:function(){var t="";if(this.get("class")&&(t+=" "+this.get("class")),this.get("tooltip-side")&&(t=" tooltip-"+this.get("tooltip-side")),this.get("grid")&&(t+=" gridable"),this.get("enabled")){var e=this.get("state"),n=this.get("style");return e?"inactive "+e+" "+t:"active normal "+n+" "+t}return"inactive disabled "+t}},oninit:function(){var t=this;this.on("press",function(e){var n=t.get(),r=n.action,i=n.params;(0,a.act)(t.get("config.ref"),r,i),e.node.blur()})},data:{iconStackToHTML:function(t){var e="",n=t.split(",");if(n.length){e+='';for(var a=n,r=Array.isArray(a),i=0,a=r?a:a[Symbol.iterator]();;){var o;if(r){if(i>=a.length)break;o=a[i++]}else{if(i=a.next(),i.done)break;o=i.value}var s=o,p=/([\w\-]+)\s*(\dx)/g,u=p.exec(s),c=u[1],l=u[2];e+=' '}}return e&&(e+=" "),e}}}}(r),r.exports.template={v:3,t:[" ",{p:[70,1,1950],t:7,e:"span",a:{"class":["button ",{t:2,r:"styles",p:[70,21,1970]}],unselectable:"on","data-tooltip":[{t:2,r:"tooltip",p:[73,17,2052]}]},m:[{t:4,f:["tabindex='0'"],r:"clickable",p:[72,3,2004]}],v:{"mouseover-mousemove":"hover",mouseleave:"unhover","click-enter":{n:[{t:4,f:["press"],r:"clickable",p:[76,19,2142]}],d:[]}},f:[{t:4,f:[{p:[78,5,2188],t:7,e:"i",a:{"class":["fa fa-",{t:2,r:"icon",p:[78,21,2204]}]}}],n:50,r:"icon",p:[77,3,2171]}," ",{t:4,f:[{t:3,x:{r:["iconStackToHTML","icon_stack"],s:"_0(_1)"},p:[81,6,2255]}],n:50,r:"icon_stack",p:[80,3,2231]}," ",{t:16,p:[83,3,2301]}]}]},e.exports=a.extend(r.exports)},{341:341,481:481,482:482}],344:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"display"},f:[{t:4,f:[{p:[3,5,42],t:7,e:"header",f:[{p:[4,7,57],t:7,e:"h3",f:[{t:2,r:"title",p:[4,11,61]}]}," ",{t:4,f:[{p:[6,9,105],t:7,e:"div",a:{"class":"buttonRight"},f:[{t:16,n:"button",p:[6,34,130]}]}],n:50,r:"button",p:[5,7,82]}]}],n:50,r:"title",p:[2,3,24]}," ",{p:[10,3,193],t:7,e:"article",f:[{t:16,p:[11,5,207]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],345:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.on("clear",function(){t.set("value",""),t.find("input").focus()})}}}(r),r.exports.template={v:3,t:[" ",{p:[12,1,159],t:7,e:"input",a:{type:"text",value:[{t:2,r:"value",p:[12,27,185]}],placeholder:[{t:2,r:"placeholder",p:[12,51,209]}]}}," ",{p:[13,1,228],t:7,e:"ui-button",a:{icon:"refresh"},v:{press:"clear"}}]},e.exports=a.extend(r.exports)},{341:341}],346:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";e.exports={data:{graph:t(338),xaccessor:function(t){return t.x},yaccessor:function(t){return t.y}},computed:{size:function(){var t=this.get("points");return t[0].length},scale:function(){var t=this.get("points");return Math.max.apply(Math,Array.map(t,function(t){return Math.max.apply(Math,Array.map(t,function(t){return t.y}))}))},xaxis:function(){var t=this.get("xinc"),e=this.get("size");return Array.from(Array(e).keys()).filter(function(e){return e&&e%t==0})},yaxis:function(){var t=this.get("yinc"),e=this.get("scale");return Array.from(Array(t).keys()).map(function(t){return Math.round(e*(++t/100)*10)})}},oninit:function(){var t=this;this.on({enter:function(t){this.set("selected",t.index.count)},exit:function(t){this.set("selected")}}),window.addEventListener("resize",function(e){t.set("width",t.el.clientWidth)})},onrender:function(){this.set("width",this.el.clientWidth)}}}(r),r.exports.template={v:3,t:[" ",{p:[47,1,1223],t:7,e:"svg",a:{"class":"linegraph",width:"100%",height:[{t:2,x:{r:["height"],s:"_0+10"},p:[47,45,1267]}]},f:[{p:[48,3,1287],t:7,e:"g",a:{transform:"translate(0, 5)"},f:[{t:4,f:[{t:4,f:[{p:[51,9,1454],t:7,e:"line",a:{x1:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,19,1464]}],x2:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,38,1483]}],y1:"0",y2:[{t:2,r:"height",p:[51,64,1509]}],stroke:"darkgray"}}," ",{t:4,f:[{p:[53,11,1583],t:7,e:"text",a:{x:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[53,20,1592]}],y:[{t:2,x:{r:["height"],s:"_0-5"},p:[53,38,1610]}],"text-anchor":"middle",fill:"white"},f:[{t:2,x:{r:["size",".","xfactor"],s:"(_0-_1)*_2"},p:[53,88,1660]}," ",{t:2,r:"xunit",p:[53,113,1685]}]}],n:50,x:{r:["@index"],s:"_0%2==0"},p:[52,9,1549]}],n:52,r:"xaxis",p:[50,7,1430]}," ",{t:4,f:[{p:[57,9,1764],t:7,e:"line",a:{x1:"0",x2:[{t:2,r:"width",p:[57,26,1781]}],y1:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,41,1796]}],y2:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,60,1815]}],stroke:"darkgray"}}," ",{p:[58,9,1858],t:7,e:"text",a:{x:"0",y:[{t:2,x:{r:["yscale","."],s:"_0(_1)-5"},p:[58,24,1873]}],"text-anchor":"begin",fill:"white"},f:[{t:2,x:{r:[".","yfactor"],s:"_0*_1"},p:[58,76,1925]}," ",{t:2,r:"yunit",p:[58,92,1941]}]}],n:52,r:"yaxis",p:[56,7,1740]}," ",{t:4,f:[{p:[61,9,2011],t:7,e:"path",a:{d:[{t:2,x:{r:["area.path"],s:"_0.print()"},p:[61,18,2020]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[61,47,2049]}],opacity:"0.1"}}],n:52,i:"curve",r:"curves",p:[60,7,1980]}," ",{t:4,f:[{p:[64,9,2137],t:7,e:"path",a:{d:[{t:2,x:{r:["line.path"],s:"_0.print()"},p:[64,18,2146]}],stroke:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[64,49,2177]}],fill:"none"}}],n:52,
-i:"curve",r:"curves",p:[63,7,2106]}," ",{t:4,f:[{t:4,f:[{p:[68,11,2308],t:7,e:"circle",a:{transform:["translate(",{t:2,r:".",p:[68,40,2337]},")"],r:[{t:2,x:{r:["selected","count"],s:"_0==_1?10:4"},p:[68,51,2348]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[68,89,2386]}]},v:{mouseenter:"enter",mouseleave:"exit"}}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[67,9,2263]}],n:52,i:"curve",r:"curves",p:[66,7,2232]}," ",{t:4,f:[{t:4,f:[{t:4,f:[{p:[74,13,2605],t:7,e:"text",a:{transform:["translate(",{t:2,r:".",p:[74,40,2632]},") ",{t:2,x:{r:["count","size"],s:'_0<=_1/2?"translate(15, 4)":"translate(-15, 4)"'},p:[74,47,2639]}],"text-anchor":[{t:2,x:{r:["count","size"],s:'_0<=_1/2?"start":"end"'},p:[74,126,2718]}],fill:"white"},f:[{t:2,x:{r:["count","item","yfactor"],s:"_1[_0].y*_2"},p:[75,15,2787]}," ",{t:2,r:"yunit",p:[75,43,2815]}," @ ",{t:2,x:{r:["size","count","item","xfactor"],s:"(_0-_2[_1].x)*_3"},p:[75,55,2827]}," ",{t:2,r:"xunit",p:[75,92,2864]}]}],n:50,x:{r:["selected","count"],s:"_0==_1"},p:[73,11,2566]}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[72,9,2521]}],n:52,i:"curve",r:"curves",p:[71,7,2490]}," ",{t:4,f:[{p:[81,9,2983],t:7,e:"g",a:{transform:["translate(",{t:2,x:{r:["width","curves.length","@index"],s:"(_0/(_1+1))*(_2+1)"},p:[81,33,3007]},", 10)"]},f:[{p:[82,11,3073],t:7,e:"circle",a:{r:"4",fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[82,31,3093]}]}}," ",{p:[83,11,3124],t:7,e:"text",a:{x:"8",y:"4",fill:"white"},f:[{t:2,rx:{r:"legend",m:[{t:30,n:"curve"}]},p:[83,42,3155]}]}]}],n:52,i:"curve",r:"curves",p:[80,7,2952]}],x:{r:["graph","points","xaccessor","yaccessor","width","height"],s:"_0({data:_1,xaccessor:_2,yaccessor:_3,width:_4,height:_5})"},p:[49,5,1323]}]}]}]},e.exports=a.extend(r.exports)},{338:338,341:341}],347:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"notice"},f:[{t:16,p:[2,3,23]}]}]},e.exports=a.extend(r.exports)},{341:341}],348:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(481),a=t(483);e.exports={oninit:function(){var t=this,e=a.resize.bind(this),r=function(){return t.set({resize:!1,x:null,y:null})};this.observe("config.fancy",function(a,i,o){(0,n.winset)(t.get("config.window"),"can-resize",!a),a?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",r)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",r))}),this.on("resize",function(){return t.toggle("resize")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[28,3,739],t:7,e:"div",a:{"class":"resize"},v:{mousedown:"resize"}}],n:50,r:"config.fancy",p:[27,1,716]}]},e.exports=a.extend(r.exports)},{341:341,481:481,483:483}],349:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"section",a:{"class":[{t:4,f:["candystripe"],r:"candystripe",p:[1,17,16]}]},f:[{t:4,f:[{p:[3,5,82],t:7,e:"span",a:{"class":"label",style:[{t:4,f:["color:",{t:2,r:"labelcolor",p:[3,53,130]}],r:"labelcolor",p:[3,32,109]}]},f:[{t:2,r:"label",p:[3,84,161]},":"]}],n:50,r:"label",p:[2,3,64]}," ",{t:4,f:[{t:16,p:[6,5,210]}],n:50,r:"nowrap",p:[5,3,191]},{t:4,n:51,f:[{p:[8,5,235],t:7,e:"div",a:{"class":"content",style:[{t:4,f:["float:right;"],r:"right",p:[8,33,263]}]},f:[{t:16,p:[9,7,304]}]}],r:"nowrap"}]}]},e.exports=a.extend(r.exports)},{341:341}],350:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"subdisplay"},f:[{t:4,f:[{p:[3,5,45],t:7,e:"header",f:[{p:[4,7,60],t:7,e:"h4",f:[{t:2,r:"title",p:[4,11,64]}]}," ",{t:4,f:[{t:16,n:"button",p:[5,21,99]}],n:50,r:"button",p:[5,7,85]}]}],n:50,r:"title",p:[2,3,27]}," ",{p:[8,3,149],t:7,e:"article",f:[{t:16,p:[9,5,163]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],351:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.set("active",this.findComponent("tab").get("name")),this.on("switch",function(e){t.set("active",e.node.textContent.trim())}),this.observe("active",function(e,n,a){for(var r=t.findAllComponents("tab"),i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;p.set("shown",p.get("name")===e)}})}}}(r),r.exports.template={v:3,t:[" "," ",{p:[20,1,505],t:7,e:"header",f:[{t:4,f:[{p:[22,5,535],t:7,e:"ui-button",a:{pane:[{t:2,r:".",p:[22,22,552]}]},v:{press:"switch"},f:[{t:2,r:".",p:[22,47,577]}]}],n:52,r:"tabs",p:[21,3,516]}]}," ",{p:[25,1,617],t:7,e:"ui-display",f:[{t:8,r:"content",p:[26,3,632]}]}]},r.exports.components=r.exports.components||{};var i={tab:t(352)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,352:352}],352:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:16,p:[2,3,16]}],n:50,r:"shown",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],353:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(482),a=t(481),r=t(483);e.exports={computed:{visualStatus:function(){switch(this.get("config.status")){case n.UI_INTERACTIVE:return"good";case n.UI_UPDATE:return"average";case n.UI_DISABLED:return"bad";default:return"bad"}}},oninit:function(){var t=this,e=r.drag.bind(this),n=function(e){return t.set({drag:!1,x:null,y:null})};this.observe("config.fancy",function(r,i,o){(0,a.winset)(t.get("config.window"),"titlebar",!r&&t.get("config.titlebar")),r?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",n)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n))}),this.on({drag:function(){this.toggle("drag")},close:function(){(0,a.winset)(this.get("config.window"),"is-visible",!1),window.location.href=(0,a.href)({command:"uiclose "+this.get("config.ref")},"winset")},minimize:function(){(0,a.winset)(this.get("config.window"),"is-minimized",!0)}})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[50,3,1391],t:7,e:"header",a:{"class":"titlebar"},v:{mousedown:"drag"},f:[{p:[51,5,1441],t:7,e:"i",a:{"class":["statusicon fa fa-eye fa-2x ",{t:2,r:"visualStatus",p:[51,42,1478]}]}}," ",{p:[52,5,1505],t:7,e:"span",a:{"class":"title"},f:[{t:16,p:[52,25,1525]}]}," ",{t:4,f:[{p:[54,7,1573],t:7,e:"i",a:{"class":"minimize fa fa-minus fa-2x"},v:{click:"minimize"}}," ",{p:[55,7,1642],t:7,e:"i",a:{"class":"close fa fa-close fa-2x"},v:{click:"close"}}],n:50,r:"config.fancy",p:[53,5,1546]}]}],n:50,r:"config.titlebar",p:[49,1,1365]}]},e.exports=a.extend(r.exports)},{341:341,481:481,482:482,483:483}],354:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";var e=[11,10,9,8];t.exports={data:{userAgent:navigator.userAgent},computed:{ie:function(){if(document.documentMode)return document.documentMode;for(var t in e){var n=document.createElement("div");if(n.innerHTML="",n.getElementsByTagName("span").length)return t}}},oninit:function(){var t=this;this.on("debug",function(){return t.toggle("debug")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[27,3,636],t:7,e:"ui-notice",f:[{p:[28,5,652],t:7,e:"span",f:["You have an old (IE",{t:2,r:"ie",p:[28,30,677]},"), end-of-life (click 'EOL Info' for more information) version of Internet Explorer installed."]},{p:[28,137,784],t:7,e:"br"}," ",{p:[29,5,794],t:7,e:"span",f:["To upgrade, click 'Upgrade IE' to download IE11 from Microsoft."]},{p:[29,81,870],t:7,e:"br"}," ",{p:[30,5,880],t:7,e:"span",f:["If you are unable to upgrade directly, click 'IE VMs' to download a VM with IE11 or Edge from Microsoft."]},{p:[30,122,997],t:7,e:"br"}," ",{p:[31,5,1007],t:7,e:"span",f:["Otherwise, click 'No Frills' below to disable potentially incompatible features (and this message)."]}," ",{p:[32,5,1124],t:7,e:"hr"}," ",{p:[33,5,1134],t:7,e:"ui-button",a:{icon:"close",action:"tgui:nofrills"},f:["No Frills"]}," ",{p:[34,5,1207],t:7,e:"ui-button",a:{icon:"internet-explorer",action:"tgui:link",params:'{"url": "http://windows.microsoft.com/en-us/internet-explorer/download-ie"}'},f:["Upgrade IE"]}," ",{p:[36,5,1381],t:7,e:"ui-button",a:{icon:"edge",action:"tgui:link",params:'{"url": "https://dev.windows.com/en-us/microsoft-edge/tools/vms"}'},f:["IE VMs"]}," ",{p:[38,5,1528],t:7,e:"ui-button",a:{icon:"info",action:"tgui:link",params:'{"url": "https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer"}'},f:["EOL Info"]}," ",{p:[40,5,1699],t:7,e:"ui-button",a:{icon:"bug"},v:{press:"debug"},f:["Debug Info"]}," ",{t:4,f:[{p:[42,7,1785],t:7,e:"hr"}," ",{p:[43,7,1797],t:7,e:"span",f:["Detected: IE",{t:2,r:"ie",p:[43,25,1815]}]},{p:[43,38,1828],t:7,e:"br"}," ",{p:[44,7,1840],t:7,e:"span",f:["User Agent: ",{t:2,r:"userAgent",p:[44,25,1858]}]}],n:50,r:"debug",p:[41,5,1765]}]}],n:50,x:{r:["config.fancy","ie"],s:"_0&&_1&&_1<11"},p:[26,1,596]}]},e.exports=a.extend(r.exports)},{341:341}],355:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},shockState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[22,1,327],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[23,2,362],t:7,e:"ui-section",a:{label:"Main"},f:[{p:[24,3,390],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.power.main"],s:"_0(_1)"},p:[24,16,403]}]},f:[{t:2,x:{r:["data.power.main"],s:'_0?"Online":"Offline"'},p:[24,49,436]}]}," ",{t:4,f:["[ ",{p:[26,6,542],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.main_1","data.wires.main_2"],s:"!_0||!_1"},p:[25,3,488]},{t:4,n:51,f:[{t:4,f:["[ ",{t:2,r:"data.power.main_timeleft",p:[29,7,646]}," seconds left ]"],n:50,x:{r:["data.power.main_timeleft"],s:"_0>0"},p:[28,4,603]}],x:{r:["data.wires.main_1","data.wires.main_2"],s:"!_0||!_1"}}," ",{p:[32,3,713],t:7,e:"div",a:{style:"float:right"},f:[{p:[33,4,742],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"disrupt-main",state:[{t:2,x:{r:["data.power.main"],s:'_0?null:"disabled"'},p:[33,63,801]}]},f:["Disrupt"]}]}]}," ",{p:[36,2,887],t:7,e:"ui-section",a:{label:"Backup"},f:[{p:[37,3,917],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.power.backup"],s:"_0(_1)"},p:[37,16,930]}]},f:[{t:2,x:{r:["data.power.backup"],s:'_0?"Online":"Offline"'},p:[37,51,965]}]}," ",{t:4,f:["[ ",{p:[39,6,1077],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.backup_1","data.wires.backup_2"],s:"!_0||!_1"},p:[38,3,1019]},{t:4,n:51,f:[{t:4,f:["[ ",{t:2,r:"data.power.backup_timeleft",p:[42,7,1183]}," seconds left ]"],n:50,x:{r:["data.power.backup_timeleft"],s:"_0>0"},p:[41,4,1138]}],x:{r:["data.wires.backup_1","data.wires.backup_2"],s:"!_0||!_1"}}," ",{p:[45,3,1252],t:7,e:"div",a:{style:"float:right"},f:[{p:[46,4,1281],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"disrupt-backup",state:[{t:2,x:{r:["data.power.backup"],s:'_0?null:"disabled"'},p:[46,65,1342]}]},f:["Disrupt"]}]}]}," ",{p:[49,2,1430],t:7,e:"ui-section",a:{label:"Electrify"},f:[{p:[50,3,1463],t:7,e:"span",a:{"class":[{t:2,x:{r:["shockState","data.shock"],s:"_0(_1)"},p:[50,16,1476]}]},f:[{t:2,x:{r:["data.shock"],s:'_0==2?"Safe":"Electrified"'},p:[50,44,1504]}]}," ",{t:4,f:["[ ",{p:[52,6,1589],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.shock"],s:"!_0"},p:[51,3,1558]},{t:4,n:51,f:[{t:4,f:["[ ",{p:[55,7,1688],t:7,e:"span",a:{"class":"bad"},f:[{t:2,r:"data.shock_timeleft",p:[55,25,1706]}," seconds left"]}," ]"],n:50,x:{r:["data.shock_timeleft"],s:"_0>0"},p:[54,4,1650]}," ",{t:4,f:["[ ",{p:[58,7,1806],t:7,e:"span",a:{"class":"bad"},f:["Permanent"]}," ]"],n:50,x:{r:["data.shock_timeleft"],s:"_0==-1"},p:[57,4,1766]}],x:{r:["data.wires.shock"],s:"!_0"}}," ",{p:[61,3,1866],t:7,e:"div",a:{style:"float:right"},f:[{p:[62,4,1895],t:7,e:"ui-button",a:{icon:"wrench",action:"shock-restore",state:[{t:2,x:{r:["data.wires.shock","data.shock"],s:'_0&&_1==0?null:"disabled"'},p:[62,59,1950]}]},f:["Restore"]}," ",{p:[63,4,2032],t:7,e:"ui-button",a:{icon:"bolt",action:"shock-temp",state:[{t:2,x:{r:["data.wires.shock"],s:"!_0"},p:[63,54,2082]}]},f:["Set (Temporary)"]}," ",{p:[64,4,2136],t:7,e:"ui-button",a:{icon:"bolt",action:"shock-perm",state:[{t:2,x:{r:["data.wires.shock"],s:"!_0"},p:[64,53,2185]}]},f:["Set (Permanent)"]}]}]}]}," ",{p:[68,1,2274],t:7,e:"ui-display",a:{title:"Access & Door Control"},f:[{p:[69,2,2318],t:7,e:"ui-section",a:{label:"ID Scan"},f:[{t:4,f:["[ ",{p:[71,6,2385],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[70,3,2349]}," ",{p:[73,3,2444],t:7,e:"div",a:{style:"float:right"},f:[{p:[74,4,2473],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[74,22,2491]}],icon:"power-off",action:"idscan-on",style:[{t:2,x:{r:["data.id_scanner"],s:'_0?"selected":""'},p:[74,93,2562]}]},f:["Enabled"]}," ",{p:[75,4,2624],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[75,22,2642]}],icon:"close",action:"idscan-off",style:[{t:2,x:{r:["data.id_scanner"],s:'_0?"":"selected"'},p:[75,90,2710]}]},f:["Disabled"]}]}]}," ",{p:[78,2,2795],t:7,e:"ui-section",a:{label:"Emergency Access"},f:[{p:[79,3,2835],t:7,e:"div",a:{style:"float:right"},f:[{p:[80,4,2864],t:7,e:"ui-button",a:{icon:"power-off",action:"emergency-on",style:[{t:2,x:{r:["data.emergency"],s:'_0?"selected":""'},p:[80,61,2921]}]},f:["Enabled"]}," ",{p:[81,4,2982],t:7,e:"ui-button",a:{icon:"close",action:"emergency-off",style:[{t:2,x:{r:["data.emergency"],s:'_0?"":"selected"'},p:[81,58,3036]}]},f:["Disabled"]}]}]}," ",{p:[84,2,3120],t:7,e:"br"}," ",{p:[85,2,3128],t:7,e:"ui-section",a:{label:"Door bolts"},f:[{t:4,f:["[ ",{p:[87,6,3193],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.bolts"],s:"!_0"},p:[86,3,3162]}," ",{p:[89,3,3252],t:7,e:"div",a:{style:"float:right"},f:[{p:[90,4,3281],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.bolts"],s:"!_0"},p:[90,22,3299]}],icon:"unlock",action:"bolt-raise",style:[{t:2,x:{r:["data.locked"],s:'_0?"":"selected"'},p:[90,85,3362]}]},f:["Raised"]}," ",{p:[91,4,3419],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.bolts"],s:"!_0"},p:[91,22,3437]}],icon:"lock",action:"bolt-drop",style:[{t:2,x:{r:["data.locked"],s:'_0?"selected":""'},p:[91,82,3497]}]},f:["Dropped"]}]}]}," ",{p:[94,2,3577],t:7,e:"ui-section",a:{label:"Door bolt lights"},f:[{t:4,f:["[ ",{p:[96,6,3649],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.lights"],s:"!_0"},p:[95,3,3617]}," ",{p:[98,3,3708],t:7,e:"div",a:{style:"float:right"},f:[{p:[99,4,3737],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.lights"],s:"!_0"},p:[99,22,3755]}],icon:"power-off",action:"light-on",style:[{t:2,x:{r:["data.lights"],s:'_0?"selected":""'},p:[99,88,3821]}]},f:["Enabled"]}," ",{p:[100,4,3879],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.lights"],s:"!_0"},p:[100,22,3897]}],icon:"close",action:"light-off",style:[{t:2,x:{r:["data.lights"],s:'_0?"":"selected"'},p:[100,85,3960]}]},f:["Disabled"]}]}]}," ",{p:[103,2,4041],t:7,e:"ui-section",a:{label:"Door force sensors"},f:[{t:4,f:["[ ",{p:[105,6,4113],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.safe"],s:"!_0"},p:[104,3,4083]}," ",{p:[107,3,4172],t:7,e:"div",a:{style:"float:right"},f:[{p:[108,4,4201],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.safe"],s:"!_0"},p:[108,22,4219]}],icon:"power-off",action:"safe-on",style:[{t:2,x:{r:["data.safe"],s:'_0?"selected":""'},p:[108,85,4282]}]},f:["Enabled"]}," ",{p:[109,4,4338],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.safe"],s:"!_0"},p:[109,22,4356]}],icon:"close",action:"safe-off",style:[{t:2,x:{r:["data.safe"],s:'_0?"":"selected"'},p:[109,82,4416]}]},f:["Disabled"]}]}]}," ",{p:[112,2,4495],t:7,e:"ui-section",a:{label:"Door timing safety"},f:[{t:4,f:["[ ",{p:[114,6,4569],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.timing"],s:"!_0"},p:[113,3,4537]}," ",{p:[116,3,4628],t:7,e:"div",a:{style:"float:right"},f:[{p:[117,4,4657],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.timing"],s:"!_0"},p:[117,22,4675]}],icon:"power-off",action:"speed-on",style:[{t:2,x:{r:["data.speed"],s:'_0?"selected":""'},p:[117,88,4741]}]},f:["Enabled"]}," ",{p:[118,4,4798],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.timing"],s:"!_0"},p:[118,22,4816]}],icon:"close",action:"speed-off",style:[{t:2,x:{r:["data.speed"],s:'_0?"":"selected"'},p:[118,85,4879]}]},f:["Disabled"]}]}]}," ",{p:[121,2,4959],t:7,e:"br"}," ",{p:[122,2,4967],t:7,e:"ui-section",a:{label:"Door control"},f:[{t:4,f:["[ ",{p:[124,6,5043],t:7,e:"span",a:{"class":"bad"},f:["Door is ",{t:2,x:{r:["data.locked","data.welded"],s:'(_0?"bolted":"")+(_0&&_1?" and ":"")+(_1?"welded":"")'},p:[124,32,5069]}]}," ]"],n:50,x:{r:["data.locked","data.welded"],s:"_0||_1"},p:[123,3,5003]}," ",{p:[126,3,5202],t:7,e:"div",a:{style:"float:right"},f:[{p:[127,4,5231],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.locked","data.welded","data.opened"],s:'(_0||_1)||(_2&&"disabled")'},p:[127,22,5249]}],icon:"sign-out",action:"open-close"},f:["Open door"]}," ",{p:[128,4,5375],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.locked","data.welded","data.opened"],s:'(_0||_1)||(!_2&&"disabled")'},p:[128,22,5393]}],icon:"sign-in",action:"open-close"},f:["Close door"]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],356:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," "," "," ",{p:[7,1,261],t:7,e:"ui-notice",f:[{t:4,f:[{p:[9,5,304],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[10,7,346],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[10,24,363]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[10,75,414]}]}]}],n:50,r:"data.siliconUser",p:[8,3,275]},{t:4,n:51,f:[{p:[13,5,502],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,31,528]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[16,1,610],t:7,e:"status"}," ",{t:4,f:[{t:4,f:[{p:[19,7,701],t:7,e:"ui-display",a:{title:"Air Controls"},f:[{p:[20,9,743],t:7,e:"ui-section",f:[{p:[21,11,766],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"exclamation-triangle":"exclamation"'},p:[21,28,783]}],style:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"caution":null'},p:[21,98,853]}],action:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"reset":"alarm"'},p:[22,23,916]}]},f:["Area Atmosphere Alarm"]}]}," ",{p:[24,9,1022],t:7,e:"ui-section",f:[{p:[25,11,1045],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0==3?"exclamation-triangle":"exclamation"'},p:[25,28,1062]}],style:[{t:2,x:{r:["data.mode"],s:'_0==3?"danger":null'},p:[25,96,1130]}],action:"mode",params:['{"mode": ',{t:2,x:{r:["data.mode"],s:"_0==3?1:3"},p:[26,44,1211]},"}"]},f:["Panic Siphon"]}]}," ",{p:[28,9,1295],t:7,e:"br"}," ",{p:[29,9,1309],t:7,e:"ui-section",f:[{p:[30,11,1332],t:7,e:"ui-button",a:{icon:"sign-out",action:"tgui:view",params:'{"screen": "vents"}'},f:["Vent Controls"]}]}," ",{p:[32,9,1463],t:7,e:"ui-section",f:[{p:[33,11,1486],t:7,e:"ui-button",a:{icon:"filter",action:"tgui:view",params:'{"screen": "scrubbers"}'},f:["Scrubber Controls"]}]}," ",{p:[35,9,1623],t:7,e:"ui-section",f:[{p:[36,11,1646],t:7,e:"ui-button",a:{icon:"cog",action:"tgui:view",params:'{"screen": "modes"}'},f:["Operating Mode"]}]}," ",{p:[38,9,1773],t:7,e:"ui-section",f:[{p:[39,11,1796],t:7,e:"ui-button",a:{icon:"bar-chart",action:"tgui:view",params:'{"screen": "thresholds"}'},f:["Alarm Thresholds"]}]}]}],n:50,x:{r:["config.screen"],s:'_0=="home"'},p:[18,3,663]},{t:4,n:51,f:[{t:4,n:50,x:{r:["config.screen"],s:'_0=="vents"'},f:[{p:[43,5,1990],t:7,e:"vents"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&(_0=="scrubbers")'},f:[" ",{p:[45,5,2045],t:7,e:"scrubbers"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&(_0=="modes"))'},f:[" ",{p:[47,5,2100],t:7,e:"modes"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&((!(_0=="modes"))&&(_0=="thresholds")))'},f:[" ",{p:[49,5,2156],t:7,e:"thresholds"}]}],x:{r:["config.screen"],s:'_0=="home"'}}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[17,1,620]}]},r.exports.components=r.exports.components||{};var i={vents:t(362),modes:t(358),thresholds:t(361),status:t(360),scrubbers:t(359)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,358:358,359:359,360:360,361:361,362:362}],357:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-button",a:{icon:"arrow-left",action:"tgui:view",params:'{"screen": "home"}'},f:["Back"]}]},e.exports=a.extend(r.exports)},{341:341}],358:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,111],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Operating Modes",button:0},f:[" ",{t:4,f:[{p:[8,5,161],t:7,e:"ui-section",f:[{p:[9,7,180],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["selected"],s:'_0?"check-square-o":"square-o"'},p:[9,24,197]}],state:[{t:2,x:{r:["selected","danger"],s:'_0?_1?"danger":"selected":null'},p:[10,16,258]}],action:"mode",params:['{"mode": ',{t:2,r:"mode",p:[11,40,351]},"}"]},f:[{t:2,r:"name",p:[11,51,362]}]}]}],n:52,r:"data.modes",p:[7,3,136]}]}]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],359:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," ",{p:{button:[{p:[6,5,180],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Scrubber Controls",button:0},f:[" ",{t:4,f:[{p:[9,5,234],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[9,27,256]}]},f:[{p:[10,7,278],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,313],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[11,26,330]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[11,68,372]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[12,46,448]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[12,66,468]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[12,80,482]}]}]}," ",{p:[14,7,545],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[15,9,579],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["scrubbing"],s:'_0?"filter":"sign-in"'},p:[15,26,596]}],style:[{t:2,x:{r:["scrubbing"],s:'_0?null:"danger"'},p:[15,71,641]}],action:"scrubbing",params:['{"id_tag": "',{t:2,r:"id_tag",p:[16,50,723]},'", "val": ',{t:2,x:{r:["scrubbing"],s:"+!_0"},p:[16,70,743]},"}"]},f:[{t:2,x:{r:["scrubbing"],s:'_0?"Scrubbing":"Siphoning"'},p:[16,88,761]}]}]}," ",{p:[18,7,841],t:7,e:"ui-section",a:{label:"Range"},f:[{p:[19,9,876],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["widenet"],s:'_0?"expand":"compress"'},p:[19,26,893]}],style:[{t:2,x:{r:["widenet"],s:'_0?"selected":null'},p:[19,70,937]}],action:"widenet",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,1017]},'", "val": ',{t:2,x:{r:["widenet"],s:"+!_0"},p:[20,68,1037]},"}"]},f:[{t:2,x:{r:["widenet"],s:'_0?"Expanded":"Normal"'},p:[20,84,1053]}]}]}," ",{p:[22,7,1127],t:7,e:"ui-section",a:{label:"Filters"},f:[{p:[23,9,1164],t:7,e:"filters"}]}]}],n:52,r:"data.scrubbers",p:[8,3,205]},{t:4,n:51,f:[{p:[27,5,1231],t:7,e:"span",a:{"class":"bad"},f:["Error: No scrubbers connected."]}],r:"data.scrubbers"}]}]},r.exports.components=r.exports.components||{};var i={filters:t(457),back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357,457:457}],360:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Status"},f:[{t:4,f:[{t:4,f:[{p:[4,7,107],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[4,26,126]}]},f:[{p:[5,6,142],t:7,e:"span",a:{"class":[{t:2,x:{r:["danger_level"],s:'_0==2?"bad":_0==1?"average":"good"'},p:[5,19,155]}]},f:[{t:2,x:{r:["value"],s:"Math.fixed(_0,2)"},p:[6,5,232]},{t:2,r:"unit",p:[6,29,256]}]}]}],n:52,r:"adata.environment_data",p:[3,5,68]}," ",{p:[10,5,313],t:7,e:"ui-section",a:{label:"Local Status"},f:[{p:[11,7,353],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.danger_level"],s:'_0==2?"bad bold":_0==1?"average bold":"good"'},p:[11,20,366]}]},f:[{t:2,x:{r:["data.danger_level"],s:'_0==2?"Danger (Internals Required)":_0==1?"Caution":"Optimal"'},p:[12,6,464]}]}]}," ",{p:[15,5,605],t:7,e:"ui-section",a:{label:"Area Status"},f:[{p:[16,7,644],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.atmos_alarm","data.fire_alarm"],s:'_0||_1?"bad bold":"good"'},p:[16,20,657]}]},f:[{t:2,x:{r:["data.atmos_alarm","fire_alarm"],s:'_0?"Atmosphere Alarm":_1?"Fire Alarm":"Nominal"'},p:[17,8,728]}]}]}],n:50,r:"data.environment_data",p:[2,3,34]},{t:4,n:51,f:[{p:[21,5,856],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[22,7,891],t:7,e:"span",a:{"class":"bad bold"},f:["Cannot obtain air sample for analysis."]}]}],r:"data.environment_data"}," ",{t:4,f:[{p:[26,5,1015],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[27,7,1050],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[25,3,990]}]}]},e.exports=a.extend(r.exports)},{341:341}],361:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.css=" th, td {\n padding-right: 16px;\n text-align: left;\n }",r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,112],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Alarm Thresholds",button:0},f:[" ",{p:[7,3,137],t:7,e:"table",f:[{p:[8,5,149],t:7,e:"thead",f:[{p:[8,12,156],t:7,e:"tr",f:[{p:[9,7,167],t:7,e:"th"}," ",{p:[10,7,183],t:7,e:"th",f:[{p:[10,11,187],t:7,e:"span",a:{"class":"bad"},f:["min2"]}]}," ",{p:[11,7,228],t:7,e:"th",f:[{p:[11,11,232],t:7,e:"span",a:{"class":"average"},f:["min1"]}]}," ",{p:[12,7,277],t:7,e:"th",f:[{p:[12,11,281],t:7,e:"span",a:{"class":"average"},f:["max1"]}]}," ",{p:[13,7,326],t:7,e:"th",f:[{p:[13,11,330],t:7,e:"span",a:{"class":"bad"},f:["max2"]}]}]}]}," ",{p:[15,5,387],t:7,e:"tbody",f:[{t:4,f:[{p:[16,32,426],t:7,e:"tr",f:[{p:[17,9,439],t:7,e:"th",f:[{t:3,r:"name",p:[17,13,443]}]}," ",{t:4,f:[{p:[18,27,485],t:7,e:"td",f:[{p:[19,11,500],t:7,e:"ui-button",a:{action:"threshold",params:['{"env": "',{t:2,r:"env",p:[19,58,547]},'", "var": "',{t:2,r:"val",p:[19,76,565]},'"}']},f:[{t:2,x:{r:["selected"],s:"Math.fixed(_0,2)"},p:[19,87,576]}]}]}],n:52,r:"settings",p:[18,9,467]}]}],n:52,r:"data.thresholds",p:[16,7,401]}]}," ",{p:[23,3,675],t:7,e:"table",f:[]}]}]}," "]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],362:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,109],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Vent Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,159],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,181]}]},f:[{p:[9,7,203],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,238],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,255]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,297]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,373]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,393]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,407]}]}]}," ",{p:[13,7,470],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,504],t:7,e:"span",f:[{t:2,x:{r:["direction"],s:'_0=="release"?"Pressurizing":"Siphoning"'},p:[14,15,510]}]}]}," ",{p:[16,7,601],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[17,9,649],t:7,e:"ui-button",a:{icon:"sign-in",style:[{t:2,x:{r:["incheck"],s:'_0?"selected":null'},p:[17,42,682]}],action:"incheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[18,48,762]},'", "val": ',{t:2,r:"checks",p:[18,68,782]},"}"]},f:["Internal"]}," ",{p:[19,9,824],t:7,e:"ui-button",a:{icon:"sign-out",style:[{t:2,x:{r:["excheck"],s:'_0?"selected":null'},p:[19,43,858]}],action:"excheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,938]},'", "val": ',{t:2,r:"checks",p:[20,68,958]},"}"]},f:["External"]}]}," ",{t:4,f:[{p:[23,9,1042],t:7,e:"ui-section",a:{label:"Internal Target Pressure"},f:[{p:[24,11,1098],t:7,e:"ui-button",a:{icon:"pencil",action:"set_internal_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[25,33,1186]},'"}']},f:[{t:2,x:{r:["internal"],s:"Math.fixed(_0)"},p:[25,47,1200]}]}," ",{p:[26,11,1247],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["intdefault"],s:'_0?"disabled":null'},p:[26,44,1280]}],action:"reset_internal_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[27,33,1381]},'"}']},f:["Reset"]}]}],n:50,r:"incheck",p:[22,7,1018]}," ",{t:4,f:[{p:[31,11,1481],t:7,e:"ui-section",a:{label:"External Target Pressure"},f:[{p:[32,13,1539],t:7,e:"ui-button",a:{icon:"pencil",action:"set_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[33,35,1629]},'"}']},f:[{t:2,x:{r:["external"],s:"Math.fixed(_0)"},p:[33,49,1643]}]}," ",{p:[34,13,1692],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["extdefault"],s:'_0?"disabled":null'},p:[34,46,1725]}],action:"reset_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[35,35,1828]},'"}']},f:["Reset"]}]}],n:50,r:"excheck",p:[30,7,1455]}]}],n:52,r:"data.vents",p:[7,3,134]},{t:4,n:51,f:[{p:[40,5,1934],t:7,e:"span",a:{"class":"bad"},f:["Error: No vents connected."]}],r:"data.vents"}]}]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],363:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.css=" table {\n width: 100%;\n border-spacing: 2px;\n }\n th {\n text-align: left;\n }\n td {\n vertical-align: top;\n }\n td .button {\n margin-top: 4px\n }",r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",f:[{p:[3,5,32],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oneAccess"],s:'_0?"unlock":"lock"'},p:[3,22,49]}],action:"one_access"},f:[{t:2,x:{r:["data.oneAccess"],s:'_0?"One":"All"'},p:[3,82,109]}," Required"]}," ",{p:[4,5,169],t:7,e:"ui-button",a:{icon:"refresh",action:"clear"},f:["Clear"]}]}," ",{p:[6,3,246],t:7,e:"hr"}," ",{p:[7,3,254],t:7,e:"table",f:[{p:[8,3,264],t:7,e:"thead",f:[{p:[9,4,275],t:7,e:"tr",f:[{t:4,f:[{p:[10,5,306],t:7,e:"th",f:[{p:[10,9,310],t:7,e:"span",a:{"class":"highlight bold"},f:[{t:2,r:"name",p:[10,38,339]}]}]}],n:52,r:"data.regions",p:[9,8,279]}]}]}," ",{p:[13,3,391],t:7,e:"tbody",f:[{p:[14,4,402],t:7,e:"tr",f:[{t:4,f:[{p:[15,5,433],t:7,e:"td",f:[{t:4,f:[{p:[16,11,466],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["req"],s:'_0?"check-square-o":"square-o"'},p:[16,28,483]}],style:[{t:2,x:{r:["req"],s:'_0?"selected":null'},p:[16,76,531]}],action:"set",params:['{"access": "',{t:2,r:"id",p:[17,46,605]},'"}']},f:[{t:2,r:"name",p:[17,56,615]}]}," ",{p:[18,9,644],t:7,e:"br"}],n:52,r:"accesses",p:[15,9,437]}]}],n:52,r:"data.regions",p:[14,8,406]}]}]}]}," ",{p:[23,2,709],t:7,e:"hr"}," ",{p:[24,2,716],t:7,e:"span",a:{"class":"highlight bold"},f:["Unrestricted Access:"]}," ",{p:[25,2,774],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&1?"check-square-o":"square-o"'},p:[25,19,791]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&1?"selected":null'},p:[25,88,860]}],action:"direc_set",params:'{"unres_direction": "1"}'},f:["North"]}," ",{p:[26,2,982],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&4?"check-square-o":"square-o"'},p:[26,19,999]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&4?"selected":null'},p:[26,88,1068]}],action:"direc_set",params:'{"unres_direction": "4"}'},f:["East"]}," ",{p:[27,2,1189],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&2?"check-square-o":"square-o"'},p:[27,19,1206]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&2?"selected":null'
+return t.replace(/-([a-zA-Z])/g,function(t,e){return e.toUpperCase()})};Xi?(uf={},cf=co("div").style,pf=function(t){var e,n,a;if(t=mf(t),!uf[t])if(void 0!==cf[t])uf[t]=t;else for(a=t.charAt(0).toUpperCase()+t.substring(1),e=ro.length;e--;)if(n=ro[e],void 0!==cf[n+a]){uf[t]=n+a;break}return uf[t]}):pf=null;var gf,vf,bf=pf;Xi?(vf=window.getComputedStyle||Po.getComputedStyle,gf=function(t){var e,n,a,r,o;if(e=vf(this.node),"string"==typeof t)return o=e[bf(t)],"0px"===o&&(o=0),o;if(!i(t))throw Error("Transition$getStyle must be passed a string, or an array of strings representing CSS properties");for(n={},a=t.length;a--;)r=t[a],o=e[bf(r)],"0px"===o&&(o=0),n[r]=o;return n}):gf=null;var yf=gf,_f=function(t,e){var n;if("string"==typeof t)this.node.style[bf(t)]=e;else for(n in t)t.hasOwnProperty(n)&&(this.node.style[bf(n)]=t[n]);return this},xf=function(t){var e;this.duration=t.duration,this.step=t.step,this.complete=t.complete,"string"==typeof t.easing?(e=t.root.easing[t.easing],e||(g(Io(t.easing,"easing")),e=Ua)):e="function"==typeof t.easing?t.easing:Ua,this.easing=e,this.start=ns(),this.end=this.start+this.duration,this.running=!0,xs.add(this)};xf.prototype={tick:function(t){var e,n;return this.running?t>this.end?(this.step&&this.step(1),this.complete&&this.complete(1),!1):(e=t-this.start,n=this.easing(e/this.duration),this.step&&this.step(n),!0):!1},stop:function(){this.abort&&this.abort(),this.running=!1}};var wf,kf,Sf,Ef,Cf,Pf,Af,Of,Tf=xf,Rf=RegExp("^-(?:"+ro.join("|")+")-"),Mf=function(t){return t.replace(Rf,"")},Lf=RegExp("^(?:"+ro.join("|")+")([A-Z])"),jf=function(t){var e;return t?(Lf.test(t)&&(t="-"+t),e=t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})):""},Df={},Nf={};Xi?(kf=co("div").style,function(){void 0!==kf.transition?(Sf="transition",Ef="transitionend",Cf=!0):void 0!==kf.webkitTransition?(Sf="webkitTransition",Ef="webkitTransitionEnd",Cf=!0):Cf=!1}(),Sf&&(Pf=Sf+"Duration",Af=Sf+"Property",Of=Sf+"TimingFunction"),wf=function(t,e,n,a,r){setTimeout(function(){var i,o,s,p,u;p=function(){o&&s&&(t.root.fire(t.name+":end",t.node,t.isIntro),r())},i=(t.node.namespaceURI||"")+t.node.tagName,t.node.style[Af]=a.map(bf).map(jf).join(","),t.node.style[Of]=jf(n.easing||"linear"),t.node.style[Pf]=n.duration/1e3+"s",u=function(e){var n;n=a.indexOf(mf(Mf(e.propertyName))),-1!==n&&a.splice(n,1),a.length||(t.node.removeEventListener(Ef,u,!1),s=!0,p())},t.node.addEventListener(Ef,u,!1),setTimeout(function(){for(var r,c,l,d,f,h=a.length,g=[];h--;)d=a[h],r=i+d,Cf&&!Nf[r]&&(t.node.style[bf(d)]=e[d],Df[r]||(c=t.getStyle(d),Df[r]=t.getStyle(d)!=e[d],Nf[r]=!Df[r],Nf[r]&&(t.node.style[bf(d)]=c))),(!Cf||Nf[r])&&(void 0===c&&(c=t.getStyle(d)),l=a.indexOf(d),-1===l?m("Something very strange happened with transitions. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!",{node:t.node}):a.splice(l,1),f=/[^\d]*$/.exec(e[d])[0],g.push({name:bf(d),interpolator:Uo(parseFloat(c),parseFloat(e[d])),suffix:f}));g.length?new Tf({root:t.root,duration:n.duration,easing:mf(n.easing||""),step:function(e){var n,a;for(a=g.length;a--;)n=g[a],t.node.style[n.name]=n.interpolator(e)+n.suffix},complete:function(){o=!0,p()}}):o=!0,a.length||(t.node.removeEventListener(Ef,u,!1),s=!0,p())},0)},n.delay||0)}):wf=null;var Ff,If,Bf,Uf,Vf,qf=wf;if("undefined"!=typeof document){if(Ff="hidden",Vf={},Ff in document)Bf="";else for(Uf=ro.length;Uf--;)If=ro[Uf],Ff=If+"Hidden",Ff in document&&(Bf=If);void 0!==Bf?(document.addEventListener(Bf+"visibilitychange",Va),Va()):("onfocusout"in document?(document.addEventListener("focusout",qa),document.addEventListener("focusin",Ga)):(window.addEventListener("pagehide",qa),window.addEventListener("blur",qa),window.addEventListener("pageshow",Ga),window.addEventListener("focus",Ga)),Vf.hidden=!1)}var Gf,zf,Wf,Hf=Vf;Xi?(zf=window.getComputedStyle||Po.getComputedStyle,Gf=function(t,e,n){var a,r=this;if(4===arguments.length)throw Error("t.animateStyle() returns a promise - use .then() instead of passing a callback");if(Hf.hidden)return this.setStyle(t,e),Wf||(Wf=us.resolve());"string"==typeof t?(a={},a[t]=e):(a=t,n=e),n||(g('The "%s" transition does not supply an options object to `t.animateStyle()`. This will break in a future version of Ractive. For more info see https://github.com/RactiveJS/Ractive/issues/340',this.name),n=this);var i=new us(function(t){var e,i,o,s,p,u,c;if(!n.duration)return r.setStyle(a),void t();for(e=Object.keys(a),i=[],o=zf(r.node),p={},u=e.length;u--;)c=e[u],s=o[bf(c)],"0px"===s&&(s=0),s!=a[c]&&(i.push(c),r.node.style[bf(c)]=s);return i.length?void qf(r,a,n,i,t):void t()});return i}):Gf=null;var Kf=Gf,Qf=function(t,e){return"number"==typeof t?t={duration:t}:"string"==typeof t?t="slow"===t?{duration:600}:"fast"===t?{duration:200}:{duration:400}:t||(t={}),r({},t,e)},Yf=za,$f=function(t,e,n){this.init(t,e,n)};$f.prototype={init:hf,start:Yf,getStyle:yf,setStyle:_f,animateStyle:Kf,processParams:Qf};var Jf,Xf,Zf=$f,th=Ha;Jf=function(){var t=this.node,e=this.fragment.toString(!1);if(window&&window.appearsToBeIELessEqual8&&(t.type="text/css"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}},Xf=function(){this.node.type&&"text/javascript"!==this.node.type||m("Script tag was updated. This does not cause the code to be re-evaluated!",{ractive:this.root}),this.node.text=this.fragment.toString(!1)};var eh=function(){var t,e;return this.template.y?"":(t="<"+this.template.e,t+=this.attributes.map(Xa).join("")+this.conditionalAttributes.map(Xa).join(""),"option"===this.name&&$a(this)&&(t+=" selected"),"input"===this.name&&Ja(this)&&(t+=" checked"),t+=">","textarea"===this.name&&void 0!==this.getAttribute("value")?t+=Se(this.getAttribute("value")):void 0!==this.getAttribute("contenteditable")&&(t+=this.getAttribute("value")||""),this.fragment&&(e="script"!==this.name&&"style"!==this.name,t+=this.fragment.toString(e)),ic.test(this.template.e)||(t+=""+this.template.e+">"),t)},nh=Za,ah=tr,rh=function(t){this.init(t)};rh.prototype={bubble:Tl,detach:Rl,find:Ml,findAll:Ll,findAllComponents:jl,findComponent:Dl,findNextNode:Nl,firstNode:Fl,getAttribute:Il,init:df,rebind:ff,render:th,toString:eh,unbind:nh,unrender:ah};var ih=rh,oh=/^\s*$/,sh=/^\s*/,ph=function(t){var e,n,a,r;return e=t.split("\n"),n=e[0],void 0!==n&&oh.test(n)&&e.shift(),a=D(e),void 0!==a&&oh.test(a)&&e.pop(),r=e.reduce(nr,null),r&&(t=e.map(function(t){return t.replace(r,"")}).join("\n")),t},uh=ar,ch=function(t,e){var n;return e?n=t.split("\n").map(function(t,n){return n?e+t:t}).join("\n"):t},lh='Could not find template for partial "%s"',dh=function(t){var e,n;e=this.parentFragment=t.parentFragment,this.root=e.root,this.type=Au,this.index=t.index,this.name=t.template.r,this.rendered=!1,this.fragment=this.fragmentToRender=this.fragmentToUnrender=null,Gc.init(this,t),this.keypath||((n=uh(this.root,this.name,e))?(_c.call(this),this.isNamed=!0,this.setTemplate(n)):g(lh,this.name))};dh.prototype={bubble:function(){this.parentFragment.bubble()},detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},firstNode:function(){return this.fragment.firstNode()},findNextNode:function(){return this.parentFragment.findNextNode(this)},getPartialName:function(){return this.isNamed&&this.name?this.name:void 0===this.value?this.name:this.value},getValue:function(){return this.fragment.getValue()},rebind:function(t,e){this.isNamed||qc.call(this,t,e),this.fragment&&this.fragment.rebind(t,e)},render:function(){return this.docFrag=document.createDocumentFragment(),this.update(),this.rendered=!0,this.docFrag},resolve:Gc.resolve,setValue:function(t){var e;(void 0===t||t!==this.value)&&(void 0!==t&&(e=uh(this.root,""+t,this.parentFragment)),!e&&this.name&&(e=uh(this.root,this.name,this.parentFragment))&&(_c.call(this),this.isNamed=!0),e||g(lh,this.name,{ractive:this.root}),this.value=t,this.setTemplate(e||[]),this.bubble(),this.rendered&&bs.addView(this))},setTemplate:function(t){this.fragment&&(this.fragment.unbind(),this.rendered&&(this.fragmentToUnrender=this.fragment)),this.fragment=new rg({template:t,root:this.root,owner:this,pElement:this.parentFragment.pElement}),this.fragmentToRender=this.fragment},toString:function(t){var e,n,a,r;return e=this.fragment.toString(t),n=this.parentFragment.items[this.index-1],n&&n.type===ku?(a=n.text.split("\n").pop(),(r=/^\s+$/.exec(a))?ch(e,r[0]):e):e},unbind:function(){this.isNamed||_c.call(this),this.fragment&&this.fragment.unbind()},unrender:function(t){this.rendered&&(this.fragment&&this.fragment.unrender(t),this.rendered=!1)},update:function(){var t,e;this.fragmentToUnrender&&(this.fragmentToUnrender.unrender(!0),this.fragmentToUnrender=null),this.fragmentToRender&&(this.docFrag.appendChild(this.fragmentToRender.render()),this.fragmentToRender=null),this.rendered&&(t=this.parentFragment.getNode(),e=this.parentFragment.findNextNode(this),t.insertBefore(this.docFrag,e))}};var fh,hh,mh,gh=dh,vh=pr,bh=ur,yh=new is("detach"),_h=cr,xh=lr,wh=dr,kh=fr,Sh=hr,Eh=mr,Ch=function(t,e,n,a){var r=t.root,i=t.keypath;a?r.viewmodel.smartUpdate(i,e,a):r.viewmodel.mark(i)},Ph=[],Ah=["pop","push","reverse","shift","sort","splice","unshift"];Ah.forEach(function(t){var e=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var r,i,o,s;for(r=bp(this,t,n),i=Array.prototype[t].apply(this,arguments),bs.start(),this._ractive.setting=!0,s=this._ractive.wrappers.length;s--;)o=this._ractive.wrappers[s],bs.addRactive(o.root),Ch(o,this,t,r);return bs.end(),this._ractive.setting=!1,i};Eo(Ph,t,{value:e})}),fh={},fh.__proto__?(hh=function(t){t.__proto__=Ph},mh=function(t){t.__proto__=Array.prototype}):(hh=function(t){var e,n;for(e=Ah.length;e--;)n=Ah[e],Eo(t,n,{value:Ph[n],configurable:!0})},mh=function(t){var e;for(e=Ah.length;e--;)delete t[Ah[e]]}),hh.unpatch=mh;var Oh,Th,Rh,Mh=hh;Oh={filter:function(t){return i(t)&&(!t._ractive||!t._ractive.setting)},wrap:function(t,e,n){return new Th(t,e,n)}},Th=function(t,e,n){this.root=t,this.value=e,this.keypath=S(n),e._ractive||(Eo(e,"_ractive",{value:{wrappers:[],instances:[],setting:!1},configurable:!0}),Mh(e)),e._ractive.instances[t._guid]||(e._ractive.instances[t._guid]=0,e._ractive.instances.push(t)),e._ractive.instances[t._guid]+=1,e._ractive.wrappers.push(this)},Th.prototype={get:function(){return this.value},teardown:function(){var t,e,n,a,r;if(t=this.value,e=t._ractive,n=e.wrappers,a=e.instances,e.setting)return!1;if(r=n.indexOf(this),-1===r)throw Error(Rh);if(n.splice(r,1),n.length){if(a[this.root._guid]-=1,!a[this.root._guid]){if(r=a.indexOf(this.root),-1===r)throw Error(Rh);a.splice(r,1)}}else delete t._ractive,Mh.unpatch(this.value)}},Rh="Something went wrong in a rather interesting way";var Lh,jh,Dh=Oh,Nh=/^\s*[0-9]+\s*$/,Fh=function(t){return Nh.test(t)?[]:{}};try{Object.defineProperty({},"test",{value:0}),Lh={filter:function(t,e,n){var a,r;return e?(e=S(e),(a=n.viewmodel.wrapped[e.parent.str])&&!a.magic?!1:(r=n.viewmodel.get(e.parent),i(r)&&/^[0-9]+$/.test(e.lastKey)?!1:r&&("object"==typeof r||"function"==typeof r))):!1},wrap:function(t,e,n){return new jh(t,e,n)}},jh=function(t,e,n){var a,r,i;return n=S(n),this.magic=!0,this.ractive=t,this.keypath=n,this.value=e,this.prop=n.lastKey,a=n.parent,this.obj=a.isRoot?t.viewmodel.data:t.viewmodel.get(a),r=this.originalDescriptor=Object.getOwnPropertyDescriptor(this.obj,this.prop),r&&r.set&&(i=r.set._ractiveWrappers)?void(-1===i.indexOf(this)&&i.push(this)):void gr(this,e,r)},jh.prototype={get:function(){return this.value},reset:function(t){return this.updating?void 0:(this.updating=!0,this.obj[this.prop]=t,bs.addRactive(this.ractive),this.ractive.viewmodel.mark(this.keypath,{keepExistingWrapper:!0}),this.updating=!1,!0)},set:function(t,e){this.updating||(this.obj[this.prop]||(this.updating=!0,this.obj[this.prop]=Fh(t),this.updating=!1),this.obj[this.prop][t]=e)},teardown:function(){var t,e,n,a,r;return this.updating?!1:(t=Object.getOwnPropertyDescriptor(this.obj,this.prop),e=t&&t.set,void(e&&(a=e._ractiveWrappers,r=a.indexOf(this),-1!==r&&a.splice(r,1),a.length||(n=this.obj[this.prop],Object.defineProperty(this.obj,this.prop,this.originalDescriptor||{writable:!0,enumerable:!0,configurable:!0}),this.obj[this.prop]=n))))}}}catch(Ao){Lh=!1}var Ih,Bh,Uh=Lh;Uh&&(Ih={filter:function(t,e,n){return Uh.filter(t,e,n)&&Dh.filter(t)},wrap:function(t,e,n){return new Bh(t,e,n)}},Bh=function(t,e,n){this.value=e,this.magic=!0,this.magicWrapper=Uh.wrap(t,e,n),this.arrayWrapper=Dh.wrap(t,e,n)},Bh.prototype={get:function(){return this.value},teardown:function(){this.arrayWrapper.teardown(),this.magicWrapper.teardown()},reset:function(t){return this.magicWrapper.reset(t)}});var Vh=Ih,qh=vr,Gh={},zh=_r,Wh=xr,Hh=Sr,Kh=Or,Qh=Tr,Yh=function(t,e){this.computation=t,this.viewmodel=t.viewmodel,this.ref=e,this.root=this.viewmodel.ractive,this.parentFragment=this.root.component&&this.root.component.parentFragment};Yh.prototype={resolve:function(t){this.computation.softDeps.push(t),this.computation.unresolvedDeps[t.str]=null,this.viewmodel.register(t,this.computation,"computed")}};var $h=Yh,Jh=function(t,e){this.key=t,this.getter=e.getter,this.setter=e.setter,this.hardDeps=e.deps||[],this.softDeps=[],this.unresolvedDeps={},this.depValues={},this._dirty=this._firstRun=!0};Jh.prototype={constructor:Jh,init:function(t){var e,n=this;this.viewmodel=t,this.bypass=!0,e=t.get(this.key),t.clearCache(this.key.str),this.bypass=!1,this.setter&&void 0!==e&&this.set(e),this.hardDeps&&this.hardDeps.forEach(function(e){return t.register(e,n,"computed")})},invalidate:function(){this._dirty=!0},get:function(){var t,e,n=this,a=!1;if(this.getting){var r="The "+this.key.str+" computation indirectly called itself. This probably indicates a bug in the computation. It is commonly caused by `array.sort(...)` - if that's the case, clone the array first with `array.slice().sort(...)`";return h(r),this.value}if(this.getting=!0,this._dirty){if(this._firstRun||!this.hardDeps.length&&!this.softDeps.length?a=!0:[this.hardDeps,this.softDeps].forEach(function(t){var e,r,i;if(!a)for(i=t.length;i--;)if(e=t[i],r=n.viewmodel.get(e),!s(r,n.depValues[e.str]))return n.depValues[e.str]=r,void(a=!0)}),a){this.viewmodel.capture();try{this.value=this.getter()}catch(i){m('Failed to compute "%s"',this.key.str),d(i.stack||i),this.value=void 0}t=this.viewmodel.release(),e=this.updateDependencies(t),e&&[this.hardDeps,this.softDeps].forEach(function(t){t.forEach(function(t){n.depValues[t.str]=n.viewmodel.get(t)})})}this._dirty=!1}return this.getting=this._firstRun=!1,this.value},set:function(t){if(this.setting)return void(this.value=t);if(!this.setter)throw Error("Computed properties without setters are read-only. (This may change in a future version of Ractive!)");this.setter(t)},updateDependencies:function(t){var e,n,a,r,i;for(n=this.softDeps,e=n.length;e--;)a=n[e],-1===t.indexOf(a)&&(r=!0,this.viewmodel.unregister(a,this,"computed"));for(e=t.length;e--;)a=t[e],-1!==n.indexOf(a)||this.hardDeps&&-1!==this.hardDeps.indexOf(a)||(r=!0,Rr(this.viewmodel,a)&&!this.unresolvedDeps[a.str]?(i=new $h(this,a.str),t.splice(e,1),this.unresolvedDeps[a.str]=i,bs.addUnresolved(i)):this.viewmodel.register(a,this,"computed"));return r&&(this.softDeps=t.slice()),r}};var Xh=Jh,Zh=Mr,tm={FAILED_LOOKUP:!0},em=Lr,nm={},am=Dr,rm=Nr,im=function(t,e){this.localKey=t,this.keypath=e.keypath,this.origin=e.origin,this.deps=[],this.unresolved=[],this.resolved=!1};im.prototype={forceResolution:function(){this.keypath=this.localKey,this.setup()},get:function(t,e){return this.resolved?this.origin.get(this.map(t),e):void 0},getValue:function(){return this.keypath?this.origin.get(this.keypath):void 0},initViewmodel:function(t){this.local=t,this.setup()},map:function(t){return void 0===typeof this.keypath?this.localKey:t.replace(this.localKey,this.keypath)},register:function(t,e,n){this.deps.push({keypath:t,dep:e,group:n}),this.resolved&&this.origin.register(this.map(t),e,n)},resolve:function(t){void 0!==this.keypath&&this.unbind(!0),this.keypath=t,this.setup()},set:function(t,e){this.resolved||this.forceResolution(),this.origin.set(this.map(t),e)},setup:function(){var t=this;void 0!==this.keypath&&(this.resolved=!0,this.deps.length&&(this.deps.forEach(function(e){var n=t.map(e.keypath);if(t.origin.register(n,e.dep,e.group),e.dep.setValue)e.dep.setValue(t.origin.get(n));else{if(!e.dep.invalidate)throw Error("An unexpected error occurred. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");e.dep.invalidate()}}),this.origin.mark(this.keypath)))},setValue:function(t){if(!this.keypath)throw Error("Mapping does not have keypath, cannot set value. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");this.origin.set(this.keypath,t)},unbind:function(t){var e=this;t||delete this.local.mappings[this.localKey],this.resolved&&(this.deps.forEach(function(t){e.origin.unregister(e.map(t.keypath),t.dep,t.group)}),this.tracker&&this.origin.unregister(this.keypath,this.tracker))},unregister:function(t,e,n){var a,r;if(this.resolved){for(a=this.deps,r=a.length;r--;)if(a[r].dep===e){a.splice(r,1);break}this.origin.unregister(this.map(t),e,n)}}};var om=Fr,sm=function(t,e){var n,a,r,i;return n={},a=0,r=t.map(function(t,r){var o,s,p;s=a,p=e.length;do{if(o=e.indexOf(t,s),-1===o)return i=!0,-1;s=o+1}while(n[o]&&p>s);return o===a&&(a+=1),o!==r&&(i=!0),n[o]=!0,o})},pm=Ir,um={},cm=Vr,lm=Gr,dm=zr,fm=Wr,hm=Kr,mm={implicit:!0},gm={noCascade:!0},vm=Yr,bm=$r,ym=function(t){var e,n,a=t.adapt,r=t.data,i=t.ractive,o=t.computed,s=t.mappings;this.ractive=i,this.adaptors=a,this.onchange=t.onchange,this.cache={},this.cacheMap=So(null),this.deps={computed:So(null),"default":So(null)},this.depsMap={computed:So(null),"default":So(null)},this.patternObservers=[],this.specials=So(null),this.wrapped=So(null),this.computations=So(null),this.captureGroups=[],this.unresolvedImplicitDependencies=[],this.changes=[],this.implicitChanges={},this.noCascade={},this.data=r,this.mappings=So(null);for(e in s)this.map(S(e),s[e]);if(r)for(e in r)(n=this.mappings[e])&&void 0===n.getValue()&&n.setValue(r[e]);for(e in o)s&&e in s&&l("Cannot map to a computed property ('%s')",e),this.compute(S(e),o[e]);this.ready=!0};ym.prototype={adapt:qh,applyChanges:Hh,capture:Kh,clearCache:Qh,compute:Zh,get:em,init:am,map:rm,mark:om,merge:pm,register:cm,release:lm,reset:dm,set:fm,smartUpdate:hm,teardown:vm,unregister:bm};var _m=ym;Xr.prototype={constructor:Xr,begin:function(t){this.inProcess[t._guid]=!0},end:function(t){var e=t.parent;e&&this.inProcess[e._guid]?Zr(this.queue,e).push(t):ti(this,t),delete this.inProcess[t._guid]}};var xm=Xr,wm=ei,km=/\$\{([^\}]+)\}/g,Sm=new is("construct"),Em=new is("config"),Cm=new xm("init"),Pm=0,Am=["adaptors","components","decorators","easing","events","interpolators","partials","transitions"],Om=ii,Tm=ci;ci.prototype={bubble:function(){this.dirty||(this.dirty=!0,bs.addView(this))},update:function(){this.callback(this.fragment.getValue()),this.dirty=!1},rebind:function(t,e){this.fragment.rebind(t,e)},unbind:function(){this.fragment.unbind()}};var Rm=function(t,e,n,r,o){var s,p,u,c,l,d,f={},h={},g={},v=[];for(p=t.parentFragment,u=t.root,o=o||{},a(f,o),o.content=r||[],f[""]=o.content,e.defaults.el&&m("The <%s/> component has a default `el` property; it has been disregarded",t.name),c=p;c;){if(c.owner.type===Mu){l=c.owner.container;break}c=c.parent}return n&&Object.keys(n).forEach(function(e){var a,r,o=n[e];if("string"==typeof o)a=dc(o),h[e]=a?a.value:o;else if(0===o)h[e]=!0;else{if(!i(o))throw Error("erm wut");di(o)?(g[e]={origin:t.root.viewmodel,keypath:void 0},r=li(t,o[0],function(t){t.isSpecial?d?s.set(e,t.value):(h[e]=t.value,delete g[e]):d?s.viewmodel.mappings[e].resolve(t):g[e].keypath=t})):r=new Tm(t,o,function(t){d?s.set(e,t):h[e]=t}),v.push(r)}}),s=So(e.prototype),Om(s,{el:null,append:!0,data:h,partials:o,magic:u.magic||e.defaults.magic,modifyArrays:u.modifyArrays,adapt:u.adapt},{parent:u,component:t,container:l,mappings:g,inlinePartials:f,cssIds:p.cssIds}),d=!0,t.resolvers=v,s},Mm=fi,Lm=function(t){var e,n;for(e=t.root;e;)(n=e._liveComponentQueries["_"+t.name])&&n.push(t.instance),e=e.parent},jm=mi,Dm=gi,Nm=vi,Fm=bi,Im=yi,Bm=new is("teardown"),Um=xi,Vm=function(t,e){this.init(t,e)};Vm.prototype={detach:bh,find:_h,findAll:xh,findAllComponents:wh,findComponent:kh,findNextNode:Sh,firstNode:Eh,init:jm,rebind:Dm,render:Nm,toString:Fm,unbind:Im,unrender:Um};var qm=Vm,Gm=function(t){this.type=Ou,this.value=t.template.c};Gm.prototype={detach:vc,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createComment(this.value)),this.node},toString:function(){return""},unrender:function(t){t&&this.node.parentNode.removeChild(this.node)}};var zm=Gm,Wm=function(t){var e,n;this.type=Mu,this.container=e=t.parentFragment.root,this.component=n=e.component,this.container=e,this.containerFragment=t.parentFragment,this.parentFragment=n.parentFragment;var a=this.name=t.template.n||"",r=e._inlinePartials[a];r||(m('Could not find template for partial "'+a+'"',{ractive:t.root}),r=[]),this.fragment=new rg({owner:this,root:e.parent,template:r,pElement:this.containerFragment.pElement}),i(n.yielders[a])?n.yielders[a].push(this):n.yielders[a]=[this],bs.scheduleTask(function(){if(n.yielders[a].length>1)throw Error("A component template can only have one {{yield"+(a?" "+a:"")+"}} declaration at a time")})};Wm.prototype={detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},findNextNode:function(){return this.containerFragment.findNextNode(this)},firstNode:function(){return this.fragment.firstNode()},getValue:function(t){return this.fragment.getValue(t)},render:function(){return this.fragment.render()},unbind:function(){this.fragment.unbind()},unrender:function(t){this.fragment.unrender(t),N(this.component.yielders[this.name],this)},rebind:function(t,e){this.fragment.rebind(t,e)},toString:function(){return""+this.fragment}};var Hm=Wm,Km=function(t){this.declaration=t.template.a};Km.prototype={init:ko,render:ko,unrender:ko,teardown:ko,toString:function(){return""}};var Qm=Km,Ym=wi,$m=Si,Jm=Ei,Xm=Ci,Zm=Oi,tg=Ri,eg=function(t){this.init(t)};eg.prototype={bubble:cu,detach:lu,find:du,findAll:fu,findAllComponents:hu,findComponent:mu,findNextNode:gu,firstNode:vu,getArgsList:hc,getNode:mc,getValue:gc,init:Ym,rebind:$m,registerIndexRef:function(t){var e=this.registeredIndexRefs;-1===e.indexOf(t)&&e.push(t)},render:Jm,toString:Xm,unbind:Zm,unregisterIndexRef:function(t){var e=this.registeredIndexRefs;e.splice(e.indexOf(t),1)},unrender:tg};var ng,ag,rg=eg,ig=Mi,og=["template","partials","components","decorators","events"],sg=new is("reset"),pg=function(t,e){function n(e,a,r){r&&r.partials[t]||e.forEach(function(e){e.type===Au&&e.getPartialName()===t&&a.push(e),e.fragment&&n(e.fragment.items,a,r),i(e.fragments)?n(e.fragments,a,r):i(e.items)?n(e.items,a,r):e.type===Ru&&e.instance&&n(e.instance.fragment.items,a,e.instance),e.type===Pu&&(i(e.attributes)&&n(e.attributes,a,r),i(e.conditionalAttributes)&&n(e.conditionalAttributes,a,r))})}var a,r=[];return n(this.fragment.items,r),this.partials[t]=e,a=bs.start(this,!0),r.forEach(function(e){e.value=void 0,e.setValue(t)}),bs.end(),a},ug=Li,cg=_p("reverse"),lg=ji,dg=_p("shift"),fg=_p("sort"),hg=_p("splice"),mg=Ni,gg=Fi,vg=new is("teardown"),bg=Bi,yg=Ui,_g=Vi,xg=new is("unrender"),wg=_p("unshift"),kg=qi,Sg=new is("update"),Eg=Gi,Cg={add:Zo,animate:Ss,detach:Cs,find:As,findAll:Fs,findAllComponents:Is,findComponent:Bs,findContainer:Us,findParent:Vs,fire:Ws,get:Hs,insert:Qs,merge:$s,observe:lp,observeOnce:dp,off:mp,on:gp,once:vp,pop:xp,push:wp,render:Tp,reset:ig,resetPartial:pg,resetTemplate:ug,reverse:cg,set:lg,shift:dg,sort:fg,splice:hg,subtract:mg,teardown:gg,toggle:bg,toHTML:yg,toHtml:yg,unrender:_g,unshift:wg,update:kg,updateModel:Eg},Pg=function(t,e,n){return n||Wi(t,e)?function(){var n,a="_super"in this,r=this._super;return this._super=e,n=t.apply(this,arguments),a&&(this._super=r),n}:t},Ag=Hi,Og=$i,Tg=function(t){var e,n,a={};return t&&(e=t._ractive)?(a.ractive=e.root,a.keypath=e.keypath.str,a.index={},(n=Oc(e.proxy.parentFragment))&&(a.index=Oc.resolve(n)),a):a};ng=function(t){return this instanceof ng?void Om(this,t):new ng(t)},ag={DEBUG:{writable:!0,value:!0},DEBUG_PROMISES:{writable:!0,value:!0},extend:{value:Og},getNodeInfo:{value:Tg},parse:{value:Hp},Promise:{value:us},svg:{value:ao},magic:{value:eo},VERSION:{value:"0.7.3"},adaptors:{writable:!0,value:{}},components:{writable:!0,value:{}},decorators:{writable:!0,value:{}},easing:{writable:!0,value:po},events:{writable:!0,value:{}},interpolators:{writable:!0,value:qo},partials:{writable:!0,value:{}},transitions:{writable:!0,value:{}}},Co(ng,ag),ng.prototype=a(Cg,so),ng.prototype.constructor=ng,ng.defaults=ng.prototype;var Rg="function";if(typeof Date.now!==Rg||typeof String.prototype.trim!==Rg||typeof Object.keys!==Rg||typeof Array.prototype.indexOf!==Rg||typeof Array.prototype.forEach!==Rg||typeof Array.prototype.map!==Rg||typeof Array.prototype.filter!==Rg||"undefined"!=typeof window&&typeof window.addEventListener!==Rg)throw Error("It looks like you're attempting to use Ractive.js in an older browser. You'll need to use one of the 'legacy builds' in order to continue - see http://docs.ractivejs.org/latest/legacy-builds for more information.");var Mg=ng;return Mg})},{}],342:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.observe("value",function(e,n,a){var r=t.get(),i=r.min,o=r.max,s=Math.clamp(i,o,e);t.animate("percentage",Math.round((s-i)/(o-i)*100))})}}}(r),r.exports.template={v:3,t:[" ",{p:[13,1,293],t:7,e:"div",a:{"class":"bar"},f:[{p:[14,3,313],t:7,e:"div",a:{"class":["barFill ",{t:2,r:"state",p:[14,23,333]}],style:["width: ",{t:2,r:"percentage",p:[14,48,358]},"%"]}}," ",{p:[15,3,384],t:7,e:"span",a:{"class":"barText"},f:[{t:16,p:[15,25,406]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],343:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(481),a=t(480);e.exports={computed:{clickable:function(){return!this.get("enabled")||this.get("state")&&"toggle"!=this.get("state")?!1:!0},enabled:function(){return this.get("config.status")===n.UI_INTERACTIVE?!0:!1},styles:function(){var t="";if(this.get("class")&&(t+=" "+this.get("class")),this.get("tooltip-side")&&(t=" tooltip-"+this.get("tooltip-side")),this.get("grid")&&(t+=" gridable"),this.get("enabled")){var e=this.get("state"),n=this.get("style");return e?"inactive "+e+" "+t:"active normal "+n+" "+t}return"inactive disabled "+t}},oninit:function(){var t=this;this.on("press",function(e){var n=t.get(),r=n.action,i=n.params;(0,a.act)(t.get("config.ref"),r,i),e.node.blur()})},data:{iconStackToHTML:function(t){var e="",n=t.split(",");if(n.length){e+='';for(var a=n,r=Array.isArray(a),i=0,a=r?a:a[Symbol.iterator]();;){var o;if(r){if(i>=a.length)break;o=a[i++]}else{if(i=a.next(),i.done)break;o=i.value}var s=o,p=/([\w\-]+)\s*(\dx)/g,u=p.exec(s),c=u[1],l=u[2];e+=' '}}return e&&(e+=" "),e}}}}(r),r.exports.template={v:3,t:[" ",{p:[70,1,1950],t:7,e:"span",a:{"class":["button ",{t:2,r:"styles",p:[70,21,1970]}],unselectable:"on","data-tooltip":[{t:2,r:"tooltip",p:[73,17,2052]}]},m:[{t:4,f:["tabindex='0'"],r:"clickable",p:[72,3,2004]}],v:{"mouseover-mousemove":"hover",mouseleave:"unhover","click-enter":{n:[{t:4,f:["press"],r:"clickable",p:[76,19,2142]}],d:[]}},f:[{t:4,f:[{p:[78,5,2188],t:7,e:"i",a:{"class":["fa fa-",{t:2,r:"icon",p:[78,21,2204]}]}}],n:50,r:"icon",p:[77,3,2171]}," ",{t:4,f:[{t:3,x:{r:["iconStackToHTML","icon_stack"],s:"_0(_1)"},p:[81,6,2255]}],n:50,r:"icon_stack",p:[80,3,2231]}," ",{t:16,p:[83,3,2301]}]}]},e.exports=a.extend(r.exports)},{341:341,480:480,481:481}],344:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"display"},f:[{t:4,f:[{p:[3,5,42],t:7,e:"header",f:[{p:[4,7,57],t:7,e:"h3",f:[{t:2,r:"title",p:[4,11,61]}]}," ",{t:4,f:[{p:[6,9,105],t:7,e:"div",a:{"class":"buttonRight"},f:[{t:16,n:"button",p:[6,34,130]}]}],n:50,r:"button",p:[5,7,82]}]}],n:50,r:"title",p:[2,3,24]}," ",{p:[10,3,193],t:7,e:"article",f:[{t:16,p:[11,5,207]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],345:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.on("clear",function(){t.set("value",""),t.find("input").focus()})}}}(r),r.exports.template={v:3,t:[" ",{p:[12,1,159],t:7,e:"input",a:{type:"text",value:[{t:2,r:"value",p:[12,27,185]}],placeholder:[{t:2,r:"placeholder",p:[12,51,209]}]}}," ",{p:[13,1,228],t:7,e:"ui-button",a:{icon:"refresh"},v:{press:"clear"}}]},e.exports=a.extend(r.exports)},{341:341}],346:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";e.exports={data:{graph:t(338),xaccessor:function(t){return t.x},yaccessor:function(t){return t.y}},computed:{size:function(){var t=this.get("points");return t[0].length},scale:function(){var t=this.get("points");return Math.max.apply(Math,Array.map(t,function(t){return Math.max.apply(Math,Array.map(t,function(t){return t.y}))}))},xaxis:function(){var t=this.get("xinc"),e=this.get("size");return Array.from(Array(e).keys()).filter(function(e){return e&&e%t==0})},yaxis:function(){var t=this.get("yinc"),e=this.get("scale");return Array.from(Array(t).keys()).map(function(t){return Math.round(e*(++t/100)*10)})}},oninit:function(){var t=this;this.on({enter:function(t){this.set("selected",t.index.count)},exit:function(t){this.set("selected")}}),window.addEventListener("resize",function(e){t.set("width",t.el.clientWidth)})},onrender:function(){this.set("width",this.el.clientWidth)}}}(r),r.exports.template={v:3,t:[" ",{p:[47,1,1223],t:7,e:"svg",a:{"class":"linegraph",width:"100%",height:[{t:2,x:{r:["height"],s:"_0+10"},p:[47,45,1267]}]},f:[{p:[48,3,1287],t:7,e:"g",a:{transform:"translate(0, 5)"},f:[{t:4,f:[{t:4,f:[{p:[51,9,1454],t:7,e:"line",a:{x1:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,19,1464]}],x2:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,38,1483]}],y1:"0",y2:[{t:2,r:"height",p:[51,64,1509]}],stroke:"darkgray"}}," ",{t:4,f:[{p:[53,11,1583],t:7,e:"text",a:{x:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[53,20,1592]}],y:[{t:2,x:{r:["height"],s:"_0-5"},p:[53,38,1610]}],"text-anchor":"middle",fill:"white"},f:[{t:2,x:{r:["size",".","xfactor"],s:"(_0-_1)*_2"},p:[53,88,1660]}," ",{t:2,r:"xunit",p:[53,113,1685]}]}],n:50,x:{r:["@index"],s:"_0%2==0"},p:[52,9,1549]}],n:52,r:"xaxis",p:[50,7,1430]}," ",{t:4,f:[{p:[57,9,1764],t:7,e:"line",a:{x1:"0",x2:[{t:2,r:"width",p:[57,26,1781]}],y1:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,41,1796]}],y2:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,60,1815]}],stroke:"darkgray"}}," ",{p:[58,9,1858],t:7,e:"text",a:{x:"0",y:[{t:2,x:{r:["yscale","."],s:"_0(_1)-5"},p:[58,24,1873]}],"text-anchor":"begin",fill:"white"},f:[{t:2,x:{r:[".","yfactor"],s:"_0*_1"},p:[58,76,1925]}," ",{t:2,r:"yunit",p:[58,92,1941]}]}],n:52,r:"yaxis",p:[56,7,1740]}," ",{t:4,f:[{p:[61,9,2011],t:7,e:"path",a:{d:[{t:2,x:{r:["area.path"],s:"_0.print()"},p:[61,18,2020]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[61,47,2049]}],opacity:"0.1"}}],n:52,i:"curve",r:"curves",p:[60,7,1980]}," ",{t:4,f:[{p:[64,9,2137],t:7,e:"path",a:{d:[{t:2,x:{r:["line.path"],s:"_0.print()"},p:[64,18,2146]}],stroke:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[64,49,2177]}],fill:"none"}}],n:52,
+i:"curve",r:"curves",p:[63,7,2106]}," ",{t:4,f:[{t:4,f:[{p:[68,11,2308],t:7,e:"circle",a:{transform:["translate(",{t:2,r:".",p:[68,40,2337]},")"],r:[{t:2,x:{r:["selected","count"],s:"_0==_1?10:4"},p:[68,51,2348]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[68,89,2386]}]},v:{mouseenter:"enter",mouseleave:"exit"}}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[67,9,2263]}],n:52,i:"curve",r:"curves",p:[66,7,2232]}," ",{t:4,f:[{t:4,f:[{t:4,f:[{p:[74,13,2605],t:7,e:"text",a:{transform:["translate(",{t:2,r:".",p:[74,40,2632]},") ",{t:2,x:{r:["count","size"],s:'_0<=_1/2?"translate(15, 4)":"translate(-15, 4)"'},p:[74,47,2639]}],"text-anchor":[{t:2,x:{r:["count","size"],s:'_0<=_1/2?"start":"end"'},p:[74,126,2718]}],fill:"white"},f:[{t:2,x:{r:["count","item","yfactor"],s:"_1[_0].y*_2"},p:[75,15,2787]}," ",{t:2,r:"yunit",p:[75,43,2815]}," @ ",{t:2,x:{r:["size","count","item","xfactor"],s:"(_0-_2[_1].x)*_3"},p:[75,55,2827]}," ",{t:2,r:"xunit",p:[75,92,2864]}]}],n:50,x:{r:["selected","count"],s:"_0==_1"},p:[73,11,2566]}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[72,9,2521]}],n:52,i:"curve",r:"curves",p:[71,7,2490]}," ",{t:4,f:[{p:[81,9,2983],t:7,e:"g",a:{transform:["translate(",{t:2,x:{r:["width","curves.length","@index"],s:"(_0/(_1+1))*(_2+1)"},p:[81,33,3007]},", 10)"]},f:[{p:[82,11,3073],t:7,e:"circle",a:{r:"4",fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[82,31,3093]}]}}," ",{p:[83,11,3124],t:7,e:"text",a:{x:"8",y:"4",fill:"white"},f:[{t:2,rx:{r:"legend",m:[{t:30,n:"curve"}]},p:[83,42,3155]}]}]}],n:52,i:"curve",r:"curves",p:[80,7,2952]}],x:{r:["graph","points","xaccessor","yaccessor","width","height"],s:"_0({data:_1,xaccessor:_2,yaccessor:_3,width:_4,height:_5})"},p:[49,5,1323]}]}]}]},e.exports=a.extend(r.exports)},{338:338,341:341}],347:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"notice"},f:[{t:16,p:[2,3,23]}]}]},e.exports=a.extend(r.exports)},{341:341}],348:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(480),a=t(482);e.exports={oninit:function(){var t=this,e=a.resize.bind(this),r=function(){return t.set({resize:!1,x:null,y:null})};this.observe("config.fancy",function(a,i,o){(0,n.winset)(t.get("config.window"),"can-resize",!a),a?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",r)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",r))}),this.on("resize",function(){return t.toggle("resize")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[28,3,739],t:7,e:"div",a:{"class":"resize"},v:{mousedown:"resize"}}],n:50,r:"config.fancy",p:[27,1,716]}]},e.exports=a.extend(r.exports)},{341:341,480:480,482:482}],349:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"section",a:{"class":[{t:4,f:["candystripe"],r:"candystripe",p:[1,17,16]}]},f:[{t:4,f:[{p:[3,5,82],t:7,e:"span",a:{"class":"label",style:[{t:4,f:["color:",{t:2,r:"labelcolor",p:[3,53,130]}],r:"labelcolor",p:[3,32,109]}]},f:[{t:2,r:"label",p:[3,84,161]},":"]}],n:50,r:"label",p:[2,3,64]}," ",{t:4,f:[{t:16,p:[6,5,210]}],n:50,r:"nowrap",p:[5,3,191]},{t:4,n:51,f:[{p:[8,5,235],t:7,e:"div",a:{"class":"content",style:[{t:4,f:["float:right;"],r:"right",p:[8,33,263]}]},f:[{t:16,p:[9,7,304]}]}],r:"nowrap"}]}]},e.exports=a.extend(r.exports)},{341:341}],350:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"subdisplay"},f:[{t:4,f:[{p:[3,5,45],t:7,e:"header",f:[{p:[4,7,60],t:7,e:"h4",f:[{t:2,r:"title",p:[4,11,64]}]}," ",{t:4,f:[{t:16,n:"button",p:[5,21,99]}],n:50,r:"button",p:[5,7,85]}]}],n:50,r:"title",p:[2,3,27]}," ",{p:[8,3,149],t:7,e:"article",f:[{t:16,p:[9,5,163]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],351:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.set("active",this.findComponent("tab").get("name")),this.on("switch",function(e){t.set("active",e.node.textContent.trim())}),this.observe("active",function(e,n,a){for(var r=t.findAllComponents("tab"),i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;p.set("shown",p.get("name")===e)}})}}}(r),r.exports.template={v:3,t:[" "," ",{p:[20,1,505],t:7,e:"header",f:[{t:4,f:[{p:[22,5,535],t:7,e:"ui-button",a:{pane:[{t:2,r:".",p:[22,22,552]}]},v:{press:"switch"},f:[{t:2,r:".",p:[22,47,577]}]}],n:52,r:"tabs",p:[21,3,516]}]}," ",{p:[25,1,617],t:7,e:"ui-display",f:[{t:8,r:"content",p:[26,3,632]}]}]},r.exports.components=r.exports.components||{};var i={tab:t(352)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,352:352}],352:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:16,p:[2,3,16]}],n:50,r:"shown",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],353:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(481),a=t(480),r=t(482);e.exports={computed:{visualStatus:function(){switch(this.get("config.status")){case n.UI_INTERACTIVE:return"good";case n.UI_UPDATE:return"average";case n.UI_DISABLED:return"bad";default:return"bad"}}},oninit:function(){var t=this,e=r.drag.bind(this),n=function(e){return t.set({drag:!1,x:null,y:null})};this.observe("config.fancy",function(r,i,o){(0,a.winset)(t.get("config.window"),"titlebar",!r&&t.get("config.titlebar")),r?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",n)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n))}),this.on({drag:function(){this.toggle("drag")},close:function(){(0,a.winset)(this.get("config.window"),"is-visible",!1),window.location.href=(0,a.href)({command:"uiclose "+this.get("config.ref")},"winset")},minimize:function(){(0,a.winset)(this.get("config.window"),"is-minimized",!0)}})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[50,3,1391],t:7,e:"header",a:{"class":"titlebar"},v:{mousedown:"drag"},f:[{p:[51,5,1441],t:7,e:"i",a:{"class":["statusicon fa fa-eye fa-2x ",{t:2,r:"visualStatus",p:[51,42,1478]}]}}," ",{p:[52,5,1505],t:7,e:"span",a:{"class":"title"},f:[{t:16,p:[52,25,1525]}]}," ",{t:4,f:[{p:[54,7,1573],t:7,e:"i",a:{"class":"minimize fa fa-minus fa-2x"},v:{click:"minimize"}}," ",{p:[55,7,1642],t:7,e:"i",a:{"class":"close fa fa-close fa-2x"},v:{click:"close"}}],n:50,r:"config.fancy",p:[53,5,1546]}]}],n:50,r:"config.titlebar",p:[49,1,1365]}]},e.exports=a.extend(r.exports)},{341:341,480:480,481:481,482:482}],354:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";var e=[11,10,9,8];t.exports={data:{userAgent:navigator.userAgent},computed:{ie:function(){if(document.documentMode)return document.documentMode;for(var t in e){var n=document.createElement("div");if(n.innerHTML="",n.getElementsByTagName("span").length)return t}}},oninit:function(){var t=this;this.on("debug",function(){return t.toggle("debug")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[27,3,636],t:7,e:"ui-notice",f:[{p:[28,5,652],t:7,e:"span",f:["You have an old (IE",{t:2,r:"ie",p:[28,30,677]},"), end-of-life (click 'EOL Info' for more information) version of Internet Explorer installed."]},{p:[28,137,784],t:7,e:"br"}," ",{p:[29,5,794],t:7,e:"span",f:["To upgrade, click 'Upgrade IE' to download IE11 from Microsoft."]},{p:[29,81,870],t:7,e:"br"}," ",{p:[30,5,880],t:7,e:"span",f:["If you are unable to upgrade directly, click 'IE VMs' to download a VM with IE11 or Edge from Microsoft."]},{p:[30,122,997],t:7,e:"br"}," ",{p:[31,5,1007],t:7,e:"span",f:["Otherwise, click 'No Frills' below to disable potentially incompatible features (and this message)."]}," ",{p:[32,5,1124],t:7,e:"hr"}," ",{p:[33,5,1134],t:7,e:"ui-button",a:{icon:"close",action:"tgui:nofrills"},f:["No Frills"]}," ",{p:[34,5,1207],t:7,e:"ui-button",a:{icon:"internet-explorer",action:"tgui:link",params:'{"url": "http://windows.microsoft.com/en-us/internet-explorer/download-ie"}'},f:["Upgrade IE"]}," ",{p:[36,5,1381],t:7,e:"ui-button",a:{icon:"edge",action:"tgui:link",params:'{"url": "https://dev.windows.com/en-us/microsoft-edge/tools/vms"}'},f:["IE VMs"]}," ",{p:[38,5,1528],t:7,e:"ui-button",a:{icon:"info",action:"tgui:link",params:'{"url": "https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer"}'},f:["EOL Info"]}," ",{p:[40,5,1699],t:7,e:"ui-button",a:{icon:"bug"},v:{press:"debug"},f:["Debug Info"]}," ",{t:4,f:[{p:[42,7,1785],t:7,e:"hr"}," ",{p:[43,7,1797],t:7,e:"span",f:["Detected: IE",{t:2,r:"ie",p:[43,25,1815]}]},{p:[43,38,1828],t:7,e:"br"}," ",{p:[44,7,1840],t:7,e:"span",f:["User Agent: ",{t:2,r:"userAgent",p:[44,25,1858]}]}],n:50,r:"debug",p:[41,5,1765]}]}],n:50,x:{r:["config.fancy","ie"],s:"_0&&_1&&_1<11"},p:[26,1,596]}]},e.exports=a.extend(r.exports)},{341:341}],355:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},shockState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[22,1,327],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[23,2,362],t:7,e:"ui-section",a:{label:"Main"},f:[{p:[24,3,390],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.power.main"],s:"_0(_1)"},p:[24,16,403]}]},f:[{t:2,x:{r:["data.power.main"],s:'_0?"Online":"Offline"'},p:[24,49,436]}]}," ",{t:4,f:["[ ",{p:[26,6,542],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.main_1","data.wires.main_2"],s:"!_0||!_1"},p:[25,3,488]},{t:4,n:51,f:[{t:4,f:["[ ",{t:2,r:"data.power.main_timeleft",p:[29,7,646]}," seconds left ]"],n:50,x:{r:["data.power.main_timeleft"],s:"_0>0"},p:[28,4,603]}],x:{r:["data.wires.main_1","data.wires.main_2"],s:"!_0||!_1"}}," ",{p:[32,3,713],t:7,e:"div",a:{style:"float:right"},f:[{p:[33,4,742],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"disrupt-main",state:[{t:2,x:{r:["data.power.main"],s:'_0?null:"disabled"'},p:[33,63,801]}]},f:["Disrupt"]}]}]}," ",{p:[36,2,887],t:7,e:"ui-section",a:{label:"Backup"},f:[{p:[37,3,917],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.power.backup"],s:"_0(_1)"},p:[37,16,930]}]},f:[{t:2,x:{r:["data.power.backup"],s:'_0?"Online":"Offline"'},p:[37,51,965]}]}," ",{t:4,f:["[ ",{p:[39,6,1077],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.backup_1","data.wires.backup_2"],s:"!_0||!_1"},p:[38,3,1019]},{t:4,n:51,f:[{t:4,f:["[ ",{t:2,r:"data.power.backup_timeleft",p:[42,7,1183]}," seconds left ]"],n:50,x:{r:["data.power.backup_timeleft"],s:"_0>0"},p:[41,4,1138]}],x:{r:["data.wires.backup_1","data.wires.backup_2"],s:"!_0||!_1"}}," ",{p:[45,3,1252],t:7,e:"div",a:{style:"float:right"},f:[{p:[46,4,1281],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"disrupt-backup",state:[{t:2,x:{r:["data.power.backup"],s:'_0?null:"disabled"'},p:[46,65,1342]}]},f:["Disrupt"]}]}]}," ",{p:[49,2,1430],t:7,e:"ui-section",a:{label:"Electrify"},f:[{p:[50,3,1463],t:7,e:"span",a:{"class":[{t:2,x:{r:["shockState","data.shock"],s:"_0(_1)"},p:[50,16,1476]}]},f:[{t:2,x:{r:["data.shock"],s:'_0==2?"Safe":"Electrified"'},p:[50,44,1504]}]}," ",{t:4,f:["[ ",{p:[52,6,1589],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.shock"],s:"!_0"},p:[51,3,1558]},{t:4,n:51,f:[{t:4,f:["[ ",{p:[55,7,1688],t:7,e:"span",a:{"class":"bad"},f:[{t:2,r:"data.shock_timeleft",p:[55,25,1706]}," seconds left"]}," ]"],n:50,x:{r:["data.shock_timeleft"],s:"_0>0"},p:[54,4,1650]}," ",{t:4,f:["[ ",{p:[58,7,1806],t:7,e:"span",a:{"class":"bad"},f:["Permanent"]}," ]"],n:50,x:{r:["data.shock_timeleft"],s:"_0==-1"},p:[57,4,1766]}],x:{r:["data.wires.shock"],s:"!_0"}}," ",{p:[61,3,1866],t:7,e:"div",a:{style:"float:right"},f:[{p:[62,4,1895],t:7,e:"ui-button",a:{icon:"wrench",action:"shock-restore",state:[{t:2,x:{r:["data.wires.shock","data.shock"],s:'_0&&_1==0?null:"disabled"'},p:[62,59,1950]}]},f:["Restore"]}," ",{p:[63,4,2032],t:7,e:"ui-button",a:{icon:"bolt",action:"shock-temp",state:[{t:2,x:{r:["data.wires.shock"],s:"!_0"},p:[63,54,2082]}]},f:["Set (Temporary)"]}," ",{p:[64,4,2136],t:7,e:"ui-button",a:{icon:"bolt",action:"shock-perm",state:[{t:2,x:{r:["data.wires.shock"],s:"!_0"},p:[64,53,2185]}]},f:["Set (Permanent)"]}]}]}]}," ",{p:[68,1,2274],t:7,e:"ui-display",a:{title:"Access & Door Control"},f:[{p:[69,2,2318],t:7,e:"ui-section",a:{label:"ID Scan"},f:[{t:4,f:["[ ",{p:[71,6,2385],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[70,3,2349]}," ",{p:[73,3,2444],t:7,e:"div",a:{style:"float:right"},f:[{p:[74,4,2473],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[74,22,2491]}],icon:"power-off",action:"idscan-on",style:[{t:2,x:{r:["data.id_scanner"],s:'_0?"selected":""'},p:[74,93,2562]}]},f:["Enabled"]}," ",{p:[75,4,2624],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.id_scanner"],s:"!_0"},p:[75,22,2642]}],icon:"close",action:"idscan-off",style:[{t:2,x:{r:["data.id_scanner"],s:'_0?"":"selected"'},p:[75,90,2710]}]},f:["Disabled"]}]}]}," ",{p:[78,2,2795],t:7,e:"ui-section",a:{label:"Emergency Access"},f:[{p:[79,3,2835],t:7,e:"div",a:{style:"float:right"},f:[{p:[80,4,2864],t:7,e:"ui-button",a:{icon:"power-off",action:"emergency-on",style:[{t:2,x:{r:["data.emergency"],s:'_0?"selected":""'},p:[80,61,2921]}]},f:["Enabled"]}," ",{p:[81,4,2982],t:7,e:"ui-button",a:{icon:"close",action:"emergency-off",style:[{t:2,x:{r:["data.emergency"],s:'_0?"":"selected"'},p:[81,58,3036]}]},f:["Disabled"]}]}]}," ",{p:[84,2,3120],t:7,e:"br"}," ",{p:[85,2,3128],t:7,e:"ui-section",a:{label:"Door bolts"},f:[{t:4,f:["[ ",{p:[87,6,3193],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.bolts"],s:"!_0"},p:[86,3,3162]}," ",{p:[89,3,3252],t:7,e:"div",a:{style:"float:right"},f:[{p:[90,4,3281],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.bolts"],s:"!_0"},p:[90,22,3299]}],icon:"unlock",action:"bolt-raise",style:[{t:2,x:{r:["data.locked"],s:'_0?"":"selected"'},p:[90,85,3362]}]},f:["Raised"]}," ",{p:[91,4,3419],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.bolts"],s:"!_0"},p:[91,22,3437]}],icon:"lock",action:"bolt-drop",style:[{t:2,x:{r:["data.locked"],s:'_0?"selected":""'},p:[91,82,3497]}]},f:["Dropped"]}]}]}," ",{p:[94,2,3577],t:7,e:"ui-section",a:{label:"Door bolt lights"},f:[{t:4,f:["[ ",{p:[96,6,3649],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.lights"],s:"!_0"},p:[95,3,3617]}," ",{p:[98,3,3708],t:7,e:"div",a:{style:"float:right"},f:[{p:[99,4,3737],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.lights"],s:"!_0"},p:[99,22,3755]}],icon:"power-off",action:"light-on",style:[{t:2,x:{r:["data.lights"],s:'_0?"selected":""'},p:[99,88,3821]}]},f:["Enabled"]}," ",{p:[100,4,3879],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.lights"],s:"!_0"},p:[100,22,3897]}],icon:"close",action:"light-off",style:[{t:2,x:{r:["data.lights"],s:'_0?"":"selected"'},p:[100,85,3960]}]},f:["Disabled"]}]}]}," ",{p:[103,2,4041],t:7,e:"ui-section",a:{label:"Door force sensors"},f:[{t:4,f:["[ ",{p:[105,6,4113],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.safe"],s:"!_0"},p:[104,3,4083]}," ",{p:[107,3,4172],t:7,e:"div",a:{style:"float:right"},f:[{p:[108,4,4201],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.safe"],s:"!_0"},p:[108,22,4219]}],icon:"power-off",action:"safe-on",style:[{t:2,x:{r:["data.safe"],s:'_0?"selected":""'},p:[108,85,4282]}]},f:["Enabled"]}," ",{p:[109,4,4338],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.safe"],s:"!_0"},p:[109,22,4356]}],icon:"close",action:"safe-off",style:[{t:2,x:{r:["data.safe"],s:'_0?"":"selected"'},p:[109,82,4416]}]},f:["Disabled"]}]}]}," ",{p:[112,2,4495],t:7,e:"ui-section",a:{label:"Door timing safety"},f:[{t:4,f:["[ ",{p:[114,6,4569],t:7,e:"span",a:{"class":"bad"},f:["Wires have been cut"]}," ]"],n:50,x:{r:["data.wires.timing"],s:"!_0"},p:[113,3,4537]}," ",{p:[116,3,4628],t:7,e:"div",a:{style:"float:right"},f:[{p:[117,4,4657],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.timing"],s:"!_0"},p:[117,22,4675]}],icon:"power-off",action:"speed-on",style:[{t:2,x:{r:["data.speed"],s:'_0?"selected":""'},p:[117,88,4741]}]},f:["Enabled"]}," ",{p:[118,4,4798],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.wires.timing"],s:"!_0"},p:[118,22,4816]}],icon:"close",action:"speed-off",style:[{t:2,x:{r:["data.speed"],s:'_0?"":"selected"'},p:[118,85,4879]}]},f:["Disabled"]}]}]}," ",{p:[121,2,4959],t:7,e:"br"}," ",{p:[122,2,4967],t:7,e:"ui-section",a:{label:"Door control"},f:[{t:4,f:["[ ",{p:[124,6,5043],t:7,e:"span",a:{"class":"bad"},f:["Door is ",{t:2,x:{r:["data.locked","data.welded"],s:'(_0?"bolted":"")+(_0&&_1?" and ":"")+(_1?"welded":"")'},p:[124,32,5069]}]}," ]"],n:50,x:{r:["data.locked","data.welded"],s:"_0||_1"},p:[123,3,5003]}," ",{p:[126,3,5202],t:7,e:"div",a:{style:"float:right"},f:[{p:[127,4,5231],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.locked","data.welded","data.opened"],s:'(_0||_1)||(_2&&"disabled")'},p:[127,22,5249]}],icon:"sign-out",action:"open-close"},f:["Open door"]}," ",{p:[128,4,5375],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.locked","data.welded","data.opened"],s:'(_0||_1)||(!_2&&"disabled")'},p:[128,22,5393]}],icon:"sign-in",action:"open-close"},f:["Close door"]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],356:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," "," "," ",{p:[7,1,261],t:7,e:"ui-notice",f:[{t:4,f:[{p:[9,5,304],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[10,7,346],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[10,24,363]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[10,75,414]}]}]}],n:50,r:"data.siliconUser",p:[8,3,275]},{t:4,n:51,f:[{p:[13,5,502],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,31,528]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[16,1,610],t:7,e:"status"}," ",{t:4,f:[{t:4,f:[{p:[19,7,701],t:7,e:"ui-display",a:{title:"Air Controls"},f:[{p:[20,9,743],t:7,e:"ui-section",f:[{p:[21,11,766],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"exclamation-triangle":"exclamation"'},p:[21,28,783]}],style:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"caution":null'},p:[21,98,853]}],action:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"reset":"alarm"'},p:[22,23,916]}]},f:["Area Atmosphere Alarm"]}]}," ",{p:[24,9,1022],t:7,e:"ui-section",f:[{p:[25,11,1045],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0==3?"exclamation-triangle":"exclamation"'},p:[25,28,1062]}],style:[{t:2,x:{r:["data.mode"],s:'_0==3?"danger":null'},p:[25,96,1130]}],action:"mode",params:['{"mode": ',{t:2,x:{r:["data.mode"],s:"_0==3?1:3"},p:[26,44,1211]},"}"]},f:["Panic Siphon"]}]}," ",{p:[28,9,1295],t:7,e:"br"}," ",{p:[29,9,1309],t:7,e:"ui-section",f:[{p:[30,11,1332],t:7,e:"ui-button",a:{icon:"sign-out",action:"tgui:view",params:'{"screen": "vents"}'},f:["Vent Controls"]}]}," ",{p:[32,9,1463],t:7,e:"ui-section",f:[{p:[33,11,1486],t:7,e:"ui-button",a:{icon:"filter",action:"tgui:view",params:'{"screen": "scrubbers"}'},f:["Scrubber Controls"]}]}," ",{p:[35,9,1623],t:7,e:"ui-section",f:[{p:[36,11,1646],t:7,e:"ui-button",a:{icon:"cog",action:"tgui:view",params:'{"screen": "modes"}'},f:["Operating Mode"]}]}," ",{p:[38,9,1773],t:7,e:"ui-section",f:[{p:[39,11,1796],t:7,e:"ui-button",a:{icon:"bar-chart",action:"tgui:view",params:'{"screen": "thresholds"}'},f:["Alarm Thresholds"]}]}]}],n:50,x:{r:["config.screen"],s:'_0=="home"'},p:[18,3,663]},{t:4,n:51,f:[{t:4,n:50,x:{r:["config.screen"],s:'_0=="vents"'},f:[{p:[43,5,1990],t:7,e:"vents"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&(_0=="scrubbers")'},f:[" ",{p:[45,5,2045],t:7,e:"scrubbers"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&(_0=="modes"))'},f:[" ",{p:[47,5,2100],t:7,e:"modes"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&((!(_0=="modes"))&&(_0=="thresholds")))'},f:[" ",{p:[49,5,2156],t:7,e:"thresholds"}]}],x:{r:["config.screen"],s:'_0=="home"'}}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[17,1,620]}]},r.exports.components=r.exports.components||{};var i={vents:t(362),modes:t(358),thresholds:t(361),status:t(360),scrubbers:t(359)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,358:358,359:359,360:360,361:361,362:362}],357:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-button",a:{icon:"arrow-left",action:"tgui:view",params:'{"screen": "home"}'},f:["Back"]}]},e.exports=a.extend(r.exports)},{341:341}],358:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,111],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Operating Modes",button:0},f:[" ",{t:4,f:[{p:[8,5,161],t:7,e:"ui-section",f:[{p:[9,7,180],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["selected"],s:'_0?"check-square-o":"square-o"'},p:[9,24,197]}],state:[{t:2,x:{r:["selected","danger"],s:'_0?_1?"danger":"selected":null'},p:[10,16,258]}],action:"mode",params:['{"mode": ',{t:2,r:"mode",p:[11,40,351]},"}"]},f:[{t:2,r:"name",p:[11,51,362]}]}]}],n:52,r:"data.modes",p:[7,3,136]}]}]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],359:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," ",{p:{button:[{p:[6,5,180],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Scrubber Controls",button:0},f:[" ",{t:4,f:[{p:[9,5,234],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[9,27,256]}]},f:[{p:[10,7,278],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,313],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[11,26,330]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[11,68,372]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[12,46,448]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[12,66,468]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[12,80,482]}]}]}," ",{p:[14,7,545],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[15,9,579],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["scrubbing"],s:'_0?"filter":"sign-in"'},p:[15,26,596]}],style:[{t:2,x:{r:["scrubbing"],s:'_0?null:"danger"'},p:[15,71,641]}],action:"scrubbing",params:['{"id_tag": "',{t:2,r:"id_tag",p:[16,50,723]},'", "val": ',{t:2,x:{r:["scrubbing"],s:"+!_0"},p:[16,70,743]},"}"]},f:[{t:2,x:{r:["scrubbing"],s:'_0?"Scrubbing":"Siphoning"'},p:[16,88,761]}]}]}," ",{p:[18,7,841],t:7,e:"ui-section",a:{label:"Range"},f:[{p:[19,9,876],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["widenet"],s:'_0?"expand":"compress"'},p:[19,26,893]}],style:[{t:2,x:{r:["widenet"],s:'_0?"selected":null'},p:[19,70,937]}],action:"widenet",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,1017]},'", "val": ',{t:2,x:{r:["widenet"],s:"+!_0"},p:[20,68,1037]},"}"]},f:[{t:2,x:{r:["widenet"],s:'_0?"Expanded":"Normal"'},p:[20,84,1053]}]}]}," ",{p:[22,7,1127],t:7,e:"ui-section",a:{label:"Filters"},f:[{p:[23,9,1164],t:7,e:"filters"}]}]}],n:52,r:"data.scrubbers",p:[8,3,205]},{t:4,n:51,f:[{p:[27,5,1231],t:7,e:"span",a:{"class":"bad"},f:["Error: No scrubbers connected."]}],r:"data.scrubbers"}]}]},r.exports.components=r.exports.components||{};var i={filters:t(456),back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357,456:456}],360:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Status"},f:[{t:4,f:[{t:4,f:[{p:[4,7,107],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[4,26,126]}]},f:[{p:[5,6,142],t:7,e:"span",a:{"class":[{t:2,x:{r:["danger_level"],s:'_0==2?"bad":_0==1?"average":"good"'},p:[5,19,155]}]},f:[{t:2,x:{r:["value"],s:"Math.fixed(_0,2)"},p:[6,5,232]},{t:2,r:"unit",p:[6,29,256]}]}]}],n:52,r:"adata.environment_data",p:[3,5,68]}," ",{p:[10,5,313],t:7,e:"ui-section",a:{label:"Local Status"},f:[{p:[11,7,353],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.danger_level"],s:'_0==2?"bad bold":_0==1?"average bold":"good"'},p:[11,20,366]}]},f:[{t:2,x:{r:["data.danger_level"],s:'_0==2?"Danger (Internals Required)":_0==1?"Caution":"Optimal"'},p:[12,6,464]}]}]}," ",{p:[15,5,605],t:7,e:"ui-section",a:{label:"Area Status"},f:[{p:[16,7,644],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.atmos_alarm","data.fire_alarm"],s:'_0||_1?"bad bold":"good"'},p:[16,20,657]}]},f:[{t:2,x:{r:["data.atmos_alarm","fire_alarm"],s:'_0?"Atmosphere Alarm":_1?"Fire Alarm":"Nominal"'},p:[17,8,728]}]}]}],n:50,r:"data.environment_data",p:[2,3,34]},{t:4,n:51,f:[{p:[21,5,856],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[22,7,891],t:7,e:"span",a:{"class":"bad bold"},f:["Cannot obtain air sample for analysis."]}]}],r:"data.environment_data"}," ",{t:4,f:[{p:[26,5,1015],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[27,7,1050],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[25,3,990]}]}]},e.exports=a.extend(r.exports)},{341:341}],361:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.css=" th, td {\n padding-right: 16px;\n text-align: left;\n }",r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,112],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Alarm Thresholds",button:0},f:[" ",{p:[7,3,137],t:7,e:"table",f:[{p:[8,5,149],t:7,e:"thead",f:[{p:[8,12,156],t:7,e:"tr",f:[{p:[9,7,167],t:7,e:"th"}," ",{p:[10,7,183],t:7,e:"th",f:[{p:[10,11,187],t:7,e:"span",a:{"class":"bad"},f:["min2"]}]}," ",{p:[11,7,228],t:7,e:"th",f:[{p:[11,11,232],t:7,e:"span",a:{"class":"average"},f:["min1"]}]}," ",{p:[12,7,277],t:7,e:"th",f:[{p:[12,11,281],t:7,e:"span",a:{"class":"average"},f:["max1"]}]}," ",{p:[13,7,326],t:7,e:"th",f:[{p:[13,11,330],t:7,e:"span",a:{"class":"bad"},f:["max2"]}]}]}]}," ",{p:[15,5,387],t:7,e:"tbody",f:[{t:4,f:[{p:[16,32,426],t:7,e:"tr",f:[{p:[17,9,439],t:7,e:"th",f:[{t:3,r:"name",p:[17,13,443]}]}," ",{t:4,f:[{p:[18,27,485],t:7,e:"td",f:[{p:[19,11,500],t:7,e:"ui-button",a:{action:"threshold",params:['{"env": "',{t:2,r:"env",p:[19,58,547]},'", "var": "',{t:2,r:"val",p:[19,76,565]},'"}']},f:[{t:2,x:{r:["selected"],s:"Math.fixed(_0,2)"},p:[19,87,576]}]}]}],n:52,r:"settings",p:[18,9,467]}]}],n:52,r:"data.thresholds",p:[16,7,401]}]}," ",{p:[23,3,675],t:7,e:"table",f:[]}]}]}," "]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],362:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,109],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Vent Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,159],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,181]}]},f:[{p:[9,7,203],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,238],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,255]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,297]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,373]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,393]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,407]}]}]}," ",{p:[13,7,470],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,504],t:7,e:"span",f:[{t:2,x:{r:["direction"],s:'_0=="release"?"Pressurizing":"Siphoning"'},p:[14,15,510]}]}]}," ",{p:[16,7,601],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[17,9,649],t:7,e:"ui-button",a:{icon:"sign-in",style:[{t:2,x:{r:["incheck"],s:'_0?"selected":null'},p:[17,42,682]}],action:"incheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[18,48,762]},'", "val": ',{t:2,r:"checks",p:[18,68,782]},"}"]},f:["Internal"]}," ",{p:[19,9,824],t:7,e:"ui-button",a:{icon:"sign-out",style:[{t:2,x:{r:["excheck"],s:'_0?"selected":null'},p:[19,43,858]}],action:"excheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,938]},'", "val": ',{t:2,r:"checks",p:[20,68,958]},"}"]},f:["External"]}]}," ",{t:4,f:[{p:[23,9,1042],t:7,e:"ui-section",a:{label:"Internal Target Pressure"},f:[{p:[24,11,1098],t:7,e:"ui-button",a:{icon:"pencil",action:"set_internal_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[25,33,1186]},'"}']},f:[{t:2,x:{r:["internal"],s:"Math.fixed(_0)"},p:[25,47,1200]}]}," ",{p:[26,11,1247],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["intdefault"],s:'_0?"disabled":null'},p:[26,44,1280]}],action:"reset_internal_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[27,33,1381]},'"}']},f:["Reset"]}]}],n:50,r:"incheck",p:[22,7,1018]}," ",{t:4,f:[{p:[31,11,1481],t:7,e:"ui-section",a:{label:"External Target Pressure"},f:[{p:[32,13,1539],t:7,e:"ui-button",a:{icon:"pencil",action:"set_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[33,35,1629]},'"}']},f:[{t:2,x:{r:["external"],s:"Math.fixed(_0)"},p:[33,49,1643]}]}," ",{p:[34,13,1692],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["extdefault"],s:'_0?"disabled":null'},p:[34,46,1725]}],action:"reset_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[35,35,1828]},'"}']},f:["Reset"]}]}],n:50,r:"excheck",p:[30,7,1455]}]}],n:52,r:"data.vents",p:[7,3,134]},{t:4,n:51,f:[{p:[40,5,1934],t:7,e:"span",a:{"class":"bad"},f:["Error: No vents connected."]}],r:"data.vents"}]}]},r.exports.components=r.exports.components||{};var i={back:t(357)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,357:357}],363:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.css=" table {\n width: 100%;\n border-spacing: 2px;\n }\n th {\n text-align: left;\n }\n td {\n vertical-align: top;\n }\n td .button {\n margin-top: 4px\n }",r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",f:[{p:[3,5,32],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oneAccess"],s:'_0?"unlock":"lock"'},p:[3,22,49]}],action:"one_access"},f:[{t:2,x:{r:["data.oneAccess"],s:'_0?"One":"All"'},p:[3,82,109]}," Required"]}," ",{p:[4,5,169],t:7,e:"ui-button",a:{icon:"refresh",action:"clear"},f:["Clear"]}]}," ",{p:[6,3,246],t:7,e:"hr"}," ",{p:[7,3,254],t:7,e:"table",f:[{p:[8,3,264],t:7,e:"thead",f:[{p:[9,4,275],t:7,e:"tr",f:[{t:4,f:[{p:[10,5,306],t:7,e:"th",f:[{p:[10,9,310],t:7,e:"span",a:{"class":"highlight bold"},f:[{t:2,r:"name",p:[10,38,339]}]}]}],n:52,r:"data.regions",p:[9,8,279]}]}]}," ",{p:[13,3,391],t:7,e:"tbody",f:[{p:[14,4,402],t:7,e:"tr",f:[{t:4,f:[{p:[15,5,433],t:7,e:"td",f:[{t:4,f:[{p:[16,11,466],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["req"],s:'_0?"check-square-o":"square-o"'},p:[16,28,483]}],style:[{t:2,x:{r:["req"],s:'_0?"selected":null'},p:[16,76,531]}],action:"set",params:['{"access": "',{t:2,r:"id",p:[17,46,605]},'"}']},f:[{t:2,r:"name",p:[17,56,615]}]}," ",{p:[18,9,644],t:7,e:"br"}],n:52,r:"accesses",p:[15,9,437]}]}],n:52,r:"data.regions",p:[14,8,406]}]}]}]}," ",{p:[23,2,709],t:7,e:"hr"}," ",{p:[24,2,716],t:7,e:"span",a:{"class":"highlight bold"},f:["Unrestricted Access:"]}," ",{p:[25,2,774],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&1?"check-square-o":"square-o"'},p:[25,19,791]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&1?"selected":null'},p:[25,88,860]}],action:"direc_set",params:'{"unres_direction": "1"}'},f:["North"]}," ",{p:[26,2,982],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&4?"check-square-o":"square-o"'},p:[26,19,999]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&4?"selected":null'},p:[26,88,1068]}],action:"direc_set",params:'{"unres_direction": "4"}'},f:["East"]}," ",{p:[27,2,1189],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&2?"check-square-o":"square-o"'},p:[27,19,1206]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&2?"selected":null'
},p:[27,88,1275]}],action:"direc_set",params:'{"unres_direction": "2"}'},f:["South"]}," ",{p:[28,2,1397],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.unres_direction"],s:'_0&8?"check-square-o":"square-o"'},p:[28,19,1414]}],style:[{t:2,x:{r:["data.unres_direction"],s:'_0&8?"selected":null'},p:[28,88,1483]}],action:"direc_set",params:'{"unres_direction": "8"}'},f:["West"]}]}," "]},e.exports=a.extend(r.exports)},{341:341}],364:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}},computed:{malfAction:function(){switch(this.get("data.malfStatus")){case 1:return"hack";case 2:return"occupy";case 3:return"deoccupy"}},malfButton:function(){switch(this.get("data.malfStatus")){case 1:return"Override Programming";case 2:case 4:return"Shunt Core Process";case 3:return"Return to Main Core"}},malfIcon:function(){switch(this.get("data.malfStatus")){case 1:return"terminal";case 2:case 4:return"caret-square-o-down";case 3:return"caret-square-o-left"}},powerCellStatusState:function(){var t=this.get("data.powerCellStatus");return t>50?"good":t>25?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[46,2,1161],t:7,e:"ui-notice",f:[{p:[47,3,1175],t:7,e:"b",f:[{p:[47,6,1178],t:7,e:"h3",f:["SYSTEM FAILURE"]}]}," ",{p:[48,3,1208],t:7,e:"i",f:["I/O regulators malfunction detected! Waiting for system reboot..."]},{p:[48,75,1280],t:7,e:"br"}," Automatic reboot in ",{t:2,r:"data.failTime",p:[49,23,1307]}," seconds... ",{p:[50,3,1338],t:7,e:"ui-button",a:{icon:"refresh",action:"reboot"},f:["Reboot Now"]},{p:[50,67,1402],t:7,e:"br"},{p:[50,71,1406],t:7,e:"br"},{p:[50,75,1410],t:7,e:"br"}]}],n:50,r:"data.failTime",p:[45,1,1138]},{t:4,n:51,f:[{p:[53,2,1439],t:7,e:"ui-notice",f:[{t:4,f:[{p:[55,3,1481],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[56,5,1521],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[56,22,1538]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[56,73,1589]}]}]}],n:50,r:"data.siliconUser",p:[54,4,1454]},{t:4,n:51,f:[{p:[59,3,1674],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[59,29,1700]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[62,2,1785],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[63,4,1822],t:7,e:"ui-section",a:{label:"Main Breaker"},f:[{t:4,f:[{p:[65,5,1903],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isOperating"],s:'_0?"good":"bad"'},p:[65,18,1916]}]},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[65,57,1955]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[64,3,1858]},{t:4,n:51,f:[{p:[67,5,2013],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[67,22,2030]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[67,75,2083]}],action:"breaker"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[68,21,2145]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}," ",{p:[71,4,2223],t:7,e:"ui-section",a:{label:"External Power"},f:[{p:[72,3,2261],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.externalPower"],s:"_0(_1)"},p:[72,16,2274]}]},f:[{t:2,x:{r:["data.externalPower"],s:'_0==2?"Good":_0==1?"Low":"None"'},p:[72,52,2310]}]}]}," ",{p:[74,4,2417],t:7,e:"ui-section",a:{label:"Power Cell"},f:[{t:4,f:[{p:[76,5,2492],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerCellStatus",p:[76,38,2525]}],state:[{t:2,r:"powerCellStatusState",p:[76,71,2558]}]},f:[{t:2,x:{r:["adata.powerCellStatus"],s:"Math.fixed(_0)"},p:[76,97,2584]},"%"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[75,3,2451]},{t:4,n:51,f:[{p:[78,5,2647],t:7,e:"span",a:{"class":"bad"},f:["Removed"]}],x:{r:["data.powerCellStatus"],s:"_0!=null"}}]}," ",{t:4,f:[{p:[82,3,2749],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{t:4,f:[{p:[84,4,2830],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.chargeMode"],s:'_0?"good":"bad"'},p:[84,17,2843]}]},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[84,55,2881]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[83,5,2786]},{t:4,n:51,f:[{p:[86,4,2941],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.chargeMode"],s:'_0?"refresh":"close"'},p:[86,21,2958]}],style:[{t:2,x:{r:["data.chargeMode"],s:'_0?"selected":null'},p:[86,71,3008]}],action:"charge"},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[87,22,3070]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}," [",{p:[90,6,3147],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.chargingStatus"],s:"_0(_1)"},p:[90,19,3160]}]},f:[{t:2,x:{r:["data.chargingStatus"],s:'_0==2?"Fully Charged":_0==1?"Charging":"Not Charging"'},p:[90,56,3197]}]},"]"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[81,4,2710]}]}," ",{p:[94,2,3352],t:7,e:"ui-display",a:{title:"Power Channels"},f:[{t:4,f:[{p:[96,3,3422],t:7,e:"ui-section",a:{label:[{t:2,r:"title",p:[96,22,3441]}],nowrap:0},f:[{p:[97,5,3464],t:7,e:"div",a:{"class":"content"},f:[{t:2,rx:{r:"adata.powerChannels",m:[{t:30,n:"@index"},"powerLoad"]},p:[97,26,3485]}]}," ",{p:[98,5,3537],t:7,e:"div",a:{"class":"content"},f:[{p:[98,26,3558],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0>=2?"good":"bad"'},p:[98,39,3571]}]},f:[{t:2,x:{r:["status"],s:'_0>=2?"On":"Off"'},p:[98,73,3605]}]}]}," ",{p:[99,5,3653],t:7,e:"div",a:{"class":"content"},f:["[",{p:[99,27,3675],t:7,e:"span",f:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"Auto":"Manual"'},p:[99,33,3681]}]},"]"]}," ",{p:[100,5,3750],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{t:4,f:[{p:[102,6,3841],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"selected":null'},p:[102,39,3874]}],action:"channel",params:[{t:2,r:"topicParams.auto",p:[103,30,3955]}]},f:["Auto"]}," ",{p:[104,6,3999],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["status"],s:'_0==2?"selected":null'},p:[104,41,4034]}],action:"channel",params:[{t:2,r:"topicParams.on",p:[105,13,4100]}]},f:["On"]}," ",{p:[106,6,4140],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["status"],s:'_0==0?"selected":null'},p:[106,37,4171]}],action:"channel",params:[{t:2,r:"topicParams.off",p:[107,13,4237]}]},f:["Off"]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[101,4,3795]}]}]}],n:52,r:"data.powerChannels",p:[95,4,3391]}," ",{p:[112,4,4328],t:7,e:"ui-section",a:{label:"Total Load"},f:[{p:[113,3,4362],t:7,e:"span",a:{"class":"bold"},f:[{t:2,r:"adata.totalLoad",p:[113,22,4381]}]}]}]}," ",{t:4,f:[{p:[117,4,4469],t:7,e:"ui-display",a:{title:"System Overrides"},f:[{p:[118,3,4509],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"overload"},f:["Overload"]}," ",{t:4,f:[{p:[120,5,4608],t:7,e:"ui-button",a:{icon:[{t:2,r:"malfIcon",p:[120,22,4625]}],state:[{t:2,x:{r:["data.malfStatus"],s:'_0==4?"disabled":null'},p:[120,43,4646]}],action:[{t:2,r:"malfAction",p:[120,97,4700]}]},f:[{t:2,r:"malfButton",p:[120,113,4716]}]}],n:50,r:"data.malfStatus",p:[119,3,4580]}]}],n:50,r:"data.siliconUser",p:[116,2,4441]}," ",{p:[124,2,4780],t:7,e:"ui-notice",f:[{p:[125,4,4795],t:7,e:"ui-section",a:{label:"Emergency Light Fallback"},f:[{t:4,f:[{p:[127,8,4894],t:7,e:"span",f:[{t:2,x:{r:["data.emergencyLights"],s:'_0?"Enabled":"Disabled"'},p:[127,14,4900]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[126,6,4846]},{t:4,n:51,f:[{p:[129,8,4978],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"emergency_lighting"},f:[{t:2,x:{r:["data.emergencyLights"],s:'_0?"Enabled":"Disabled"'},p:[129,66,5036]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}," ",{p:[133,2,5143],t:7,e:"ui-notice",f:[{p:[134,4,5158],t:7,e:"ui-section",a:{label:"Night Shift Lighting"},f:[{t:4,f:[{p:[136,8,5253],t:7,e:"span",f:[{t:2,x:{r:["data.nightshiftLights"],s:'_0?"Enabled":"Disabled"'},p:[136,14,5259]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[135,6,5205]},{t:4,n:51,f:[{p:[138,8,5338],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"toggle_nightshift"},f:[{t:2,x:{r:["data.nightshiftLights"],s:'_0?"Enabled":"Disabled"'},p:[138,65,5395]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}," ",{p:[142,2,5503],t:7,e:"ui-notice",f:[{p:[143,4,5518],t:7,e:"ui-section",a:{label:"Cover Lock"},f:[{t:4,f:[{p:[145,5,5597],t:7,e:"span",f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[145,11,5603]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[144,3,5552]},{t:4,n:51,f:[{p:[147,5,5673],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.coverLocked"],s:'_0?"lock":"unlock"'},p:[147,22,5690]}],action:"cover"},f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[147,79,5747]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}],r:"data.failTime"}]},e.exports=a.extend(r.exports)},{341:341}],365:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Alarms"},f:[{p:[2,3,30],t:7,e:"ul",f:[{t:4,f:[{p:[4,7,69],t:7,e:"li",f:[{p:[4,11,73],t:7,e:"ui-button",a:{icon:"close",style:"danger",action:"clear",params:['{"zone": "',{t:2,r:".",p:[4,83,145]},'"}']},f:[{t:2,r:".",p:[4,92,154]}]}]}],n:52,r:"data.priority",p:[3,5,39]},{t:4,n:51,f:[{p:[6,7,196],t:7,e:"li",f:[{p:[6,11,200],t:7,e:"span",a:{"class":"good"},f:["No Priority Alerts"]}]}],r:"data.priority"}," ",{t:4,f:[{p:[9,7,295],t:7,e:"li",f:[{p:[9,11,299],t:7,e:"ui-button",a:{icon:"close",style:"caution",action:"clear",params:['{"zone": "',{t:2,r:".",p:[9,84,372]},'"}']},f:[{t:2,r:".",p:[9,93,381]}]}]}],n:52,r:"data.minor",p:[8,5,268]},{t:4,n:51,f:[{p:[11,7,423],t:7,e:"li",f:[{p:[11,11,427],t:7,e:"span",a:{"class":"good"},f:["No Minor Alerts"]}]}],r:"data.minor"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],366:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.tank","data.sensors.0.long_name"],s:"_0?_1:null"},p:[1,20,19]}]},f:[{t:4,f:[{p:[3,5,100],t:7,e:"ui-subdisplay",a:{title:[{t:2,x:{r:["data.tank","long_name"],s:"!_0?_1:null"},p:[3,27,122]}]},f:[{p:[4,7,164],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[5,3,196],t:7,e:"span",f:[{t:2,x:{r:["pressure"],s:"Math.fixed(_0,2)"},p:[5,9,202]}," kPa"]}]}," ",{t:4,f:[{p:[8,9,295],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[9,11,338],t:7,e:"span",f:[{t:2,x:{r:["temperature"],s:"Math.fixed(_0,2)"},p:[9,17,344]}," K"]}]}],n:50,r:"temperature",p:[7,7,267]}," ",{t:4,f:[{p:[13,9,450],t:7,e:"ui-section",a:{label:[{t:2,r:"id",p:[13,28,469]}]},f:[{p:[14,5,482],t:7,e:"span",f:[{t:2,x:{r:["."],s:"Math.fixed(_0,2)"},p:[14,11,488]},"%"]}]}],n:52,i:"id",r:"gases",p:[12,4,423]}]}],n:52,r:"adata.sensors",p:[2,3,72]}]}," ",{t:4,f:[{p:{button:[{p:[23,5,682],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[25,5,768],t:7,e:"ui-section",a:{label:"Input Injector"},f:[{p:[26,7,810],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputting"],s:'_0?"power-off":"close"'},p:[26,24,827]}],style:[{t:2,x:{r:["data.inputting"],s:'_0?"selected":null'},p:[26,75,878]}],action:"input"},f:[{t:2,x:{r:["data.inputting"],s:'_0?"Injecting":"Off"'},p:[27,9,942]}]}]}," ",{p:[29,5,1016],t:7,e:"ui-section",a:{label:"Input Rate"},f:[{p:[30,7,1054],t:7,e:"span",f:[{t:2,x:{r:["adata.inputRate"],s:"Math.fixed(_0)"},p:[30,13,1060]}," L/s"]}]}," ",{p:[32,5,1125],t:7,e:"ui-section",a:{label:"Output Regulator"},f:[{p:[33,7,1169],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputting"],s:'_0?"power-off":"close"'},p:[33,24,1186]}],style:[{t:2,x:{r:["data.outputting"],s:'_0?"selected":null'},p:[33,76,1238]}],action:"output"},f:[{t:2,x:{r:["data.outputting"],s:'_0?"Open":"Closed"'},p:[34,9,1304]}]}]}," ",{p:[36,5,1377],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[37,7,1420],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure"},f:[{t:2,x:{r:["adata.outputPressure"],s:"Math.round(_0)"},p:[37,50,1463]}," kPa"]}]}]}],n:50,r:"data.tank",p:[20,1,599]}]},e.exports=a.extend(r.exports)},{341:341}],367:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,48],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,65]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,109]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,164]}]}]}," ",{p:[6,3,223],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{p:[7,5,263],t:7,e:"ui-button",a:{icon:"pencil",action:"rate",params:'{"rate": "input"}'},f:["Set"]}," ",{p:[8,5,350],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.rate","data.max_rate"],s:'_0==_1?"disabled":null'},p:[8,35,380]}],action:"rate",params:'{"rate": "max"}'},f:["Max"]}," ",{p:[9,5,492],t:7,e:"span",f:[{t:2,x:{r:["adata.rate"],s:"Math.round(_0)"},p:[9,11,498]}," L/s"]}]}," ",{p:[11,3,556],t:7,e:"ui-section",a:{label:"Filter"},f:[{t:4,f:[{p:[13,7,624],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[13,25,642]}],action:"filter",params:['{"mode": ',{t:2,r:"id",p:[14,42,718]},"}"]},f:[{t:2,r:"name",p:[14,51,727]}]}],n:52,r:"data.filter_types",p:[12,5,589]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],368:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{p:[6,3,218],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,259],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[8,5,353],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,383]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,514],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,520]}," kPa"]}]}," ",{p:[11,3,584],t:7,e:"ui-section",a:{label:"Node 1"},f:[{p:[12,5,616],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[12,44,655]}],action:"node1",params:'{"concentration": -0.1}'}}," ",{p:[14,5,770],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[14,39,804]}],action:"node1",params:'{"concentration": -0.01}'}}," ",{p:[16,5,920],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[16,38,953]}],action:"node1",params:'{"concentration": 0.01}'}}," ",{p:[18,5,1070],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[18,43,1108]}],action:"node1",params:'{"concentration": 0.1}'}}," ",{p:[20,5,1224],t:7,e:"span",f:[{t:2,x:{r:["adata.node1_concentration"],s:"Math.round(_0)"},p:[20,11,1230]},"%"]}]}," ",{p:[22,3,1298],t:7,e:"ui-section",a:{label:"Node 2"},f:[{p:[23,5,1330],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[23,44,1369]}],action:"node2",params:'{"concentration": -0.1}'}}," ",{p:[25,5,1484],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[25,39,1518]}],action:"node2",params:'{"concentration": -0.01}'}}," ",{p:[27,5,1634],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[27,38,1667]}],action:"node2",params:'{"concentration": 0.01}'}}," ",{p:[29,5,1784],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[29,43,1822]}],action:"node2",params:'{"concentration": 0.1}'}}," ",{p:[31,5,1938],t:7,e:"span",f:[{t:2,x:{r:["adata.node2_concentration"],s:"Math.round(_0)"},p:[31,11,1944]},"%"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],369:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,46],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,63]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,107]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,161]}]}]}," ",{t:4,f:[{p:[7,5,244],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{p:[8,7,285],t:7,e:"ui-button",a:{icon:"pencil",action:"rate",params:'{"rate": "input"}'},f:["Set"]}," ",{p:[9,7,373],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.rate","data.max_rate"],s:'_0==_1?"disabled":null'},p:[9,37,403]}],action:"rate",params:'{"rate": "max"}'},f:["Max"]}," ",{p:[10,7,516],t:7,e:"span",f:[{t:2,x:{r:["adata.rate"],s:"Math.round(_0)"},p:[10,13,522]}," L/s"]}]}],n:50,r:"data.max_rate",p:[6,3,218]},{t:4,n:51,f:[{p:[13,5,593],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[14,7,636],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[15,7,732],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[15,37,762]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[16,7,891],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[16,13,897]}," kPa"]}]}],r:"data.max_rate"}]}]},e.exports=a.extend(r.exports)},{341:341}],370:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,3,70],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:["Rename"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"data.borg.name",p:[1,20,19]}],button:0},f:[" ",{p:[5,2,145],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[6,4,176],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.borg.emagged"],s:'_0?"check-square-o":"square-o"'},p:[6,21,193]}],style:[{t:2,x:{r:["data.borg.emagged"],s:'_0?"selected":null'},p:[6,83,255]}],action:"toggle_emagged"},f:["Emagged"]}," ",{p:[7,4,345],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.borg.lockdown"],s:'_0?"check-square-o":"square-o"'},p:[7,21,362]}],style:[{t:2,x:{r:["data.borg.lockdown"],s:'_0?"selected":null'},p:[7,84,425]}],action:"toggle_lockdown"},f:["Locked down"]}," ",{p:[8,4,521],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.borg.scrambledcodes"],s:'_0?"check-square-o":"square-o"'},p:[8,21,538]}],style:[{t:2,x:{r:["data.borg.scrambledcodes"],s:'_0?"selected":null'},p:[8,90,607]}],action:"toggle_scrambledcodes"},f:["Scrambled codes"]}]}," ",{p:[10,2,732],t:7,e:"ui-section",a:{label:"Charge"},f:[{t:4,f:[{p:[12,4,792],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.cell.maxcharge",p:[12,25,813]}],value:[{t:2,r:"data.cell.charge",p:[12,57,845]}]},f:[{t:2,x:{r:["data.cell.charge"],s:"Math.round(_0)"},p:[12,79,867]}," / ",{t:2,x:{r:["data.cell.maxcharge"],s:"Math.round(_0)"},p:[12,114,902]}]}],n:50,x:{r:["data.cell.missing"],s:"!_0"},p:[11,3,762]},{t:4,n:51,f:[{p:[14,4,961],t:7,e:"span",a:{"class":"warning"},f:["Cell missing"]},{p:[14,45,1002],t:7,e:"br"}],x:{r:["data.cell.missing"],s:"!_0"}}," ",{p:[16,3,1020],t:7,e:"ui-button",a:{icon:"pencil",action:"set_charge"},f:["Set"]},{p:[16,63,1080],t:7,e:"ui-button",a:{icon:"eject",action:"change_cell"},f:["Change"]},{p:[16,126,1143],t:7,e:"ui-button",a:{icon:"trash","class":"bad",action:"remove_cell"},f:["Remove"]}]}," ",{p:[18,2,1235],t:7,e:"ui-section",a:{label:"Radio channels"},f:[{t:4,f:[{p:[20,4,1300],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["installed"],s:'_0?"check-square-o":"square-o"'},p:[20,21,1317]}],style:[{t:2,x:{r:["installed"],s:'_0?"selected":null'},p:[20,75,1371]}],action:"toggle_radio",params:['{"channel": "',{t:2,r:"name",p:[20,154,1450]},'"}']},f:[{t:2,r:"name",p:[20,166,1462]}]}],n:52,r:"data.channels",p:[19,3,1273]}]}," ",{p:[23,2,1511],t:7,e:"ui-section",a:{label:"Module"},f:[{t:4,f:[{p:[25,4,1567],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.borg.active_module","type"],s:'_0==_1?"check-square-o":"square-o"'},p:[25,21,1584]}],style:[{t:2,x:{r:["data.borg.active_module","type"],s:'_0==_1?"selected":null'},p:[25,97,1660]}],action:"setmodule",params:['{"module": "',{t:2,r:"type",p:[25,193,1756]},'"}']},f:[{t:2,r:"name",p:[25,205,1768]}]}],n:52,r:"data.modules",p:[24,3,1541]}]}," ",{p:[28,2,1817],t:7,e:"ui-section",a:{label:"Upgrades"},f:[{t:4,f:[{p:[30,4,1876],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["installed"],s:'_0?"check-square-o":"square-o"'},p:[30,21,1893]}],style:[{t:2,x:{r:["installed"],s:'_0?"selected":null'},p:[30,75,1947]}],action:"toggle_upgrade",params:['{"upgrade": "',{t:2,r:"type",p:[30,155,2027]},'"}']},f:[{t:2,r:"name",p:[30,167,2039]}]}],n:52,r:"data.upgrades",p:[29,3,1849]}]}," ",{p:[33,2,2088],t:7,e:"ui-section",a:{label:"Master AI"},f:[{t:4,f:[{p:[35,4,2143],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["connected"],s:'_0?"check-square-o":"square-o"'},p:[35,21,2160]}],style:[{t:2,x:{r:["connected"],s:'_0?"selected":null'},p:[35,75,2214]}],action:"slavetoai",params:['{"slavetoai": "',{t:2,r:"ref",p:[35,152,2291]},'"}']},f:[{t:2,r:"name",p:[35,163,2302]}]}],n:52,r:"data.ais",p:[34,3,2121]}]}]}," ",{p:{button:[{p:[41,3,2420],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.borg.lawupdate"],s:'_0?"check-square-o":"square-o"'},p:[41,20,2437]}],style:[{t:2,x:{r:["data.borg.lawupdate"],s:'_0?"selected":null'},p:[41,84,2501]}],action:"toggle_lawupdate"},f:["Lawsync"]}]},t:7,e:"ui-display",a:{title:"Laws",button:0},f:[" ",{t:4,f:[{p:[44,3,2629],t:7,e:"p",f:[{t:2,r:".",p:[44,6,2632]}]}],n:52,r:"data.laws",p:[43,2,2607]}]}]},e.exports=a.extend(r.exports)},{341:341}],371:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,5,65],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"selected":null'},p:[3,38,98]}],action:[{t:2,x:{r:["data.timing"],s:'_0?"stop":"start"'},p:[3,83,143]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"Stop":"Start"'},p:[3,119,179]}]}," ",{p:[4,5,230],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"flash",style:[{t:2,x:{r:["data.flash_charging"],s:'_0?"disabled":null'},p:[4,57,282]}]},f:[{t:2,x:{r:["data.flash_charging"],s:'_0?"Recharging":"Flash"'},p:[4,102,327]}]}]},t:7,e:"ui-display",a:{title:"Cell Timer",button:0},f:[" ",{p:[6,3,405],t:7,e:"ui-section",f:[{p:[7,5,422],t:7,e:"ui-button",a:{icon:"fast-backward",action:"time",params:'{"adjust": -600}'}}," ",{p:[8,5,511],t:7,e:"ui-button",a:{icon:"backward",action:"time",params:'{"adjust": -100}'}}," ",{p:[9,5,595],t:7,e:"span",f:[{t:2,x:{r:["text","data.minutes"],s:"_0.zeroPad(_1,2)"},p:[9,11,601]},":",{t:2,x:{r:["text","data.seconds"],s:"_0.zeroPad(_1,2)"},p:[9,45,635]}]}," ",{p:[10,5,680],t:7,e:"ui-button",a:{icon:"forward",action:"time",params:'{"adjust": 100}'}}," ",{p:[11,5,762],t:7,e:"ui-button",a:{icon:"fast-forward",action:"time",params:'{"adjust": 600}'}}]}," ",{p:[13,3,863],t:7,e:"ui-section",f:[{p:[14,7,882],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "short"}'},f:["Short"]}," ",{p:[15,7,985],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "medium"}'},f:["Medium"]}," ",{p:[16,7,1090],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "long"}'},f:["Long"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],372:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,22],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,38]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,77],t:7,e:"ui-display",a:{title:"Bluespace Artillery Control",button:0},f:[{t:4,f:[{p:[8,3,160],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,5,192],t:7,e:"ui-button",a:{icon:"crosshairs",action:"recalibrate"},f:[{t:2,r:"data.target",p:[9,55,242]}]}]}," ",{p:[11,3,288],t:7,e:"ui-section",a:{label:"Controls"},f:[{t:4,f:[{p:[13,3,344],t:7,e:"ui-notice",f:[{p:[14,4,359],t:7,e:"span",f:["Bluespace Artillery firing protocols must be globally unlocked from two keycard authentication devices first!"]}]}],n:50,x:{r:["data.unlocked"],s:"!_0"},p:[12,2,319]},{t:4,n:51,f:[{p:[17,3,509],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.ready"],s:'_0?null:"disabled"'},p:[17,36,542]}],action:"fire"},f:["FIRE!"]}],x:{r:["data.unlocked"],s:"!_0"}}]}],n:50,r:"data.connected",p:[7,3,135]}," ",{t:4,f:[{p:[22,3,673],t:7,e:"ui-section",a:{label:"Maintenance"},f:[{p:[23,7,712],t:7,e:"ui-button",a:{icon:"wrench",action:"build"},f:["Complete Deployment."]}]}],n:50,x:{r:["data.connected"],s:"!_0"},p:[21,3,647]}]}]},e.exports=a.extend(r.exports)},{341:341}],373:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[2,23,34]}," connected to a tank."]}]}," ",{p:{button:[{p:[6,5,180],t:7,e:"ui-button",a:{icon:"pencil",action:"relabel"},f:["Relabel"]}]},t:7,e:"ui-display",a:{title:"Canister",button:0},f:[" ",{p:[8,3,259],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[9,5,293],t:7,e:"span",f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[9,11,299]}," kPa"]}]}," ",{p:[11,3,363],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[12,5,393],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.portConnected"],s:'_0?"good":"average"'},p:[12,18,406]}]},f:[{t:2,x:{r:["data.portConnected"],s:'_0?"Connected":"Not Connected"'},p:[12,63,451]}]}]}," ",{t:4,f:[{p:[15,3,559],t:7,e:"ui-section",a:{label:"Access"},f:[{p:[16,7,593],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.restricted"],s:'_0?"lock":"unlock"'},p:[16,24,610]}],style:[{t:2,x:{r:[],s:'"caution"'},p:[17,14,664]}],action:"restricted"},f:[{t:2,x:{r:["data.restricted"],s:'_0?"Restricted to Engineering":"Public"'},p:[18,27,705]}]}]}],n:50,r:"data.isPrototype",p:[14,3,531]}]}," ",{p:[22,1,818],t:7,e:"ui-display",a:{title:"Valve"},f:[{p:[23,3,847],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[24,5,889],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[24,18,902]}],max:[{t:2,r:"data.maxReleasePressure",p:[24,52,936]}],value:[{t:2,r:"data.releasePressure",p:[25,14,978]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[25,40,1004]}," kPa"]}]}," ",{p:[27,3,1073],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[28,5,1117],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[28,38,1150]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[30,5,1304],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[30,36,1335]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[32,5,1480],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[33,5,1574],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[33,35,1604]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[36,3,1763],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[37,5,1794],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[37,22,1811]}],style:[{t:2,x:{r:["data.valveOpen","data.hasHoldingTank"],s:'_0?_1?"caution":"danger":null'},p:[38,14,1864]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[39,22,1957]}]}]}]}," ",{t:4,f:[{p:[42,1,2049],t:7,e:"ui-display",a:{title:"Valve Toggle Timer"},f:[{t:4,f:[{p:[44,5,2112],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[45,7,2152],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.timer_is_not_default"],s:'_0?null:"disabled"'},p:[45,40,2185]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[47,7,2312],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.timer_is_not_min"],s:'_0?null:"disabled"'},p:[47,38,2343]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[49,7,2472],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:[],s:'"disabled"'},p:[49,39,2504]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[51,7,2587],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.timer_is_not_max"],s:'_0?null:"disabled"'},p:[51,37,2617]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[43,3,2091]}," ",{p:[55,3,2779],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[56,6,2811],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[56,39,2844]}],action:"toggle_timer"},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[57,30,2913]}]}," ",{p:[59,2,2959],t:7,e:"ui-section",a:{label:"Time until Valve Toggle"},f:[{p:[60,2,3005],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[60,8,3011]}]}]}]}]}],n:50,r:"data.isPrototype",p:[41,1,2022]},{p:{button:[{t:4,f:[{p:[69,7,3209],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.valveOpen"],s:'_0?"danger":null'},p:[69,38,3240]}],action:"eject"},f:["Eject"]}],n:50,r:"data.hasHoldingTank",p:[68,5,3175]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[73,3,3370],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holdingTank.name",p:[74,4,3400]}]}," ",{p:[76,3,3444],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holdingTank.tankPressure"],s:"Math.round(_0)"},p:[77,4,3477]}," kPa"]}],n:50,r:"data.hasHoldingTank",p:[72,3,3340]},{t:4,n:51,f:[{p:[80,3,3556],t:7,e:"ui-section",f:[{p:[81,4,3572],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.hasHoldingTank"}]}]},e.exports=a.extend(r.exports)},{341:341}],374:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{tabs:function(){return Object.keys(this.get("data.supplies"))}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,158],t:7,e:"ui-display",a:{title:"Cargo"},f:[{p:[12,3,188],t:7,e:"ui-section",a:{label:"Shuttle"},f:[{t:4,f:[{p:[14,7,270],t:7,e:"ui-button",a:{action:"send"},f:[{t:2,r:"data.location",p:[14,32,295]}]}],n:50,x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"},p:[13,5,222]},{t:4,n:51,f:[{p:[16,7,346],t:7,e:"span",f:[{t:2,r:"data.location",p:[16,13,352]}]}],x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"}}]}," ",{p:[19,3,410],t:7,e:"ui-section",a:{label:"Credits"},f:[{p:[20,5,444],t:7,e:"span",f:[{t:2,x:{r:["adata.points"],s:"Math.floor(_0)"},p:[20,11,450]}]}]}," ",{p:[22,3,506],t:7,e:"ui-section",a:{label:"CentCom Message"},f:[{p:[23,7,550],t:7,e:"span",f:[{t:2,r:"data.message",p:[23,13,556]}]}]}," ",{t:4,f:[{p:[26,5,644],t:7,e:"ui-section",a:{label:"Loan"},f:[{t:4,f:[{p:[28,9,716],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.away","data.docked"],s:'_0&&_1?null:"disabled"'},p:[29,17,744]}],action:"loan"},f:["Loan Shuttle"]}],n:50,x:{r:["data.loan_dispatched"],s:"!_0"},p:[27,7,677]},{t:4,n:51,f:[{p:[32,9,868],t:7,e:"span",a:{"class":"bad"},f:["Loaned to CentCom"]}],x:{r:["data.loan_dispatched"],s:"!_0"}}]}],n:50,x:{r:["data.loan","data.requestonly"],s:"_0&&!_1"},p:[25,3,600]}]}," ",{t:4,f:[{p:{button:[{p:[40,7,1066],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.cart.length"],s:'_0?null:"disabled"'},p:[40,38,1097]}],action:"clear"},f:["Clear"]}]},t:7,e:"ui-display",a:{title:"Cart",button:0},f:[" ",{t:4,f:[{p:[43,7,1222],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[44,9,1263],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[44,31,1285]}]}," ",{p:[45,9,1307],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[45,30,1328]}]}," ",{p:[46,9,1354],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[46,30,1375]}," Credits"]}," ",{p:[47,9,1407],t:7,e:"div",a:{"class":"content"},f:[{p:[48,11,1440],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"id": "',{t:2,r:"id",p:[48,67,1496]},'"}']}}]}]
}],n:52,r:"data.cart",p:[42,5,1195]},{t:4,n:51,f:[{p:[52,7,1566],t:7,e:"span",f:["Nothing in Cart"]}],r:"data.cart"}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[37,1,972]},{p:{button:[{t:4,f:[{p:[59,7,1735],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.requests.length"],s:'_0?null:"disabled"'},p:[59,38,1766]}],action:"denyall"},f:["Clear"]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[58,5,1702]}]},t:7,e:"ui-display",a:{title:"Requests",button:0},f:[" ",{t:4,f:[{p:[63,5,1908],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[64,7,1947],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[64,29,1969]}]}," ",{p:[65,7,1989],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[65,28,2010]}]}," ",{p:[66,7,2034],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[66,28,2055]}," Credits"]}," ",{p:[67,7,2085],t:7,e:"div",a:{"class":"content"},f:["By ",{t:2,r:"orderer",p:[67,31,2109]}]}," ",{p:[68,7,2134],t:7,e:"div",a:{"class":"content"},f:["Comment: ",{t:2,r:"reason",p:[68,37,2164]}]}," ",{t:4,f:[{p:[70,9,2223],t:7,e:"div",a:{"class":"content"},f:[{p:[71,11,2256],t:7,e:"ui-button",a:{icon:"check",action:"approve",params:['{"id": "',{t:2,r:"id",p:[71,68,2313]},'"}']}}," ",{p:[72,11,2336],t:7,e:"ui-button",a:{icon:"close",action:"deny",params:['{"id": "',{t:2,r:"id",p:[72,65,2390]},'"}']}}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[69,7,2188]}]}],n:52,r:"data.requests",p:[62,3,1879]},{t:4,n:51,f:[{p:[77,7,2473],t:7,e:"span",f:["No Requests"]}],r:"data.requests"}]}," ",{p:[80,1,2529],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"tabs",p:[80,16,2544]}]},f:[{t:4,f:[{p:[82,5,2587],t:7,e:"tab",a:{name:[{t:2,r:"name",p:[82,16,2598]}]},f:[{t:4,f:[{p:[84,9,2641],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[84,28,2660]}],candystripe:0,right:0},f:[{p:[85,11,2700],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"desc",p:[85,31,2720]}],"tooltip-side":"left",action:"add",params:['{"id": "',{t:2,r:"id",p:[85,90,2779]},'"}']},f:[{t:2,r:"cost",p:[85,100,2789]}," Credits"]}]}],n:52,r:"packs",p:[83,7,2616]}]}],n:52,r:"data.supplies",p:[81,3,2558]}]}]},e.exports=a.extend(r.exports)},{341:341}],375:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{tabs:function(){return Object.keys(this.get("data.supplies"))}}}}(r),r.exports.template={v:3,t:[" ",{p:[12,1,163],t:7,e:"ui-notice",f:[{t:4,f:[{p:[14,5,207],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[15,7,249],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[15,24,266]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[15,75,317]}]}]}],n:50,r:"data.siliconUser",p:[13,3,177]},{t:4,n:51,f:[{p:[18,5,405],t:7,e:"span",f:["Swipe a QM-Level ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[18,39,439]}," this interface."]}],r:"data.siliconUser"}]}," ",{t:4,f:[{p:[23,3,546],t:7,e:"ui-display",a:{title:"Express Cargo Console"},f:[{p:[25,5,594],t:7,e:"ui-section",a:{label:"Landing Location"},f:[{p:[26,7,638],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.usingBeacon"],s:'_0?null:"selected"'},p:[26,25,656]}],action:"LZCargo"},f:["Cargo Bay"]}," ",{p:[27,7,744],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.hasBeacon","data.usingBeacon"],s:'_0?_1?"selected":null:"disabled"'},p:[27,25,762]}],action:"LZBeacon"},f:[{t:2,r:"data.beaconzone",p:[27,116,853]}," (",{t:2,r:"data.beaconName",p:[27,137,874]},")"]}," ",{p:[28,7,913],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.canBuyBeacon"],s:'_0?null:"disabled"'},p:[28,25,931]}],action:"printBeacon"},f:[{t:2,r:"data.printMsg",p:[28,90,996]}]}]}," ",{p:[31,5,1049],t:7,e:"ui-section",a:{label:"Credits"},f:[{p:[32,7,1084],t:7,e:"span",f:[{t:2,x:{r:["adata.points"],s:"Math.floor(_0)"},p:[32,13,1090]}]}]}," ",{p:[35,5,1149],t:7,e:"ui-section",a:{label:"Notice"},f:[{p:[36,7,1183],t:7,e:"span",f:[{t:2,r:"data.message",p:[36,13,1189]}]}]}]}," ",{p:[39,3,1249],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"tabs",p:[39,18,1264]}]},f:[{t:4,f:[{p:[41,7,1309],t:7,e:"tab",a:{name:[{t:2,r:"name",p:[41,18,1320]}]},f:[{t:4,f:[{p:[43,11,1365],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[43,30,1384]}],candystripe:0,right:0},f:[{p:[44,13,1425],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.canBeacon"],s:'_0?null:"disabled"'},p:[44,31,1443]}],tooltip:[{t:2,r:"desc",p:[44,80,1492]}],"tooltip-side":"left",action:"add",params:['{"id": "',{t:2,r:"id",p:[44,139,1551]},'"}']},f:[{t:2,r:"cost",p:[44,149,1561]}," Credits ",{t:2,r:"data.beaconError",p:[44,166,1578]}]}]}],n:52,r:"packs",p:[42,9,1339]}]}],n:52,r:"data.supplies",p:[40,5,1279]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[22,1,522]}]},e.exports=a.extend(r.exports)},{341:341}],376:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Cellular Emporium",button:0},f:[{p:[2,3,48],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.can_readapt"],s:'_0?null:"disabled"'},p:[2,36,81]}],action:"readapt"},f:["Readapt"]}," ",{p:[4,3,166],t:7,e:"ui-section",a:{label:"Genetic Points Remaining",right:0},f:[{t:2,r:"data.genetic_points_remaining",p:[5,5,222]}]}]}," ",{p:[8,1,286],t:7,e:"ui-display",f:[{t:4,f:[{p:[10,3,326],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[10,22,345]}],candystripe:0,right:0},f:[{p:[11,5,378],t:7,e:"span",f:[{t:2,r:"desc",p:[11,11,384]}]}," ",{p:[12,5,404],t:7,e:"span",f:[{t:2,r:"helptext",p:[12,11,410]}]}," ",{p:[13,5,434],t:7,e:"span",f:["Cost: ",{t:2,r:"dna_cost",p:[13,17,446]}]}," ",{p:[14,5,470],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["owned","can_purchase"],s:'_0?"selected":_1?null:"disabled"'},p:[15,14,494]}],action:"evolve",params:['{"name": "',{t:2,r:"name",p:[17,25,599]},'"}']},f:[{t:2,x:{r:["owned"],s:'_0?"Evolved":"Evolve"'},p:[18,7,618]}]}]}],n:52,r:"data.abilities",p:[9,1,299]},{t:4,f:[{p:[23,3,716],t:7,e:"span",a:{"class":"warning"},f:["No abilities available."]}],n:51,r:"data.abilities",p:[22,1,694]}]}]},e.exports=a.extend(r.exports)},{341:341}],377:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,5,17],t:7,e:"span",f:["To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."]}]}," ",{p:[5,1,304],t:7,e:"ui-display",a:{title:"Centcom Pod Customization (to be used against helen weinstein)"},f:[{p:[8,5,397],t:7,e:"ui-section",a:{label:"Which supplypod bay will you use?"},f:[{p:[9,6,458],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.bayNumber"],s:'_0==1?"selected":null'},p:[9,24,476]}],action:"bay1"},f:["Bay #1"]}," ",{p:[10,6,561],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.bayNumber"],s:'_0==2?"selected":null'},p:[10,24,579]}],action:"bay2"},f:["Bay #2"]}," ",{p:[11,6,664],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.bayNumber"],s:'_0==3?"selected":null'},p:[11,24,682]}],action:"bay3"},f:["Bay #3"]}," ",{p:[12,6,766],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.bayNumber"],s:'_0==4?"selected":null'},p:[12,24,784]}],action:"bay4"},f:["Bay #4"]}," ",{p:[13,6,868],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.bayNumber"],s:'_0==5?"selected":null'},p:[13,24,886]}],action:"bay5","tooltip-side":"left",tooltip:"This bay is located on the western edge of CentCom. Its the glass room directly west of where ERT spawn, and south of the CentCom ferry. Useful for launching ERT/Deathsquads/etc. onto the station via drop pods."},f:["ERT Bay"]}]}," ",{p:[18,5,1236],t:7,e:"ui-section",a:{label:"Teleport to:"},f:[{p:[19,9,1279],t:7,e:"ui-button",a:{action:"teleportCentcom"},f:[{t:2,r:"data.bay",p:[19,45,1315]}]}," ",{p:[20,9,1349],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.oldArea"],s:'_0?null:"disabled"'},p:[20,27,1367]}],action:"teleportBack"},f:[{t:2,x:{r:["data.oldArea"],s:'_0?_0:"where you were"'},p:[20,86,1426]}]}]}," ",{p:[25,5,1519],t:7,e:"ui-section",a:{label:"Launch the real atoms?"},f:[{p:[26,6,1570],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.launchClone"],s:'_0?"selected":null'},p:[26,24,1588]}],action:"launchClone","tooltip-side":"left",tooltip:"Choosing this will create a duplicate of the item to be launched in Centcom, allowing you to send one type of item multiple times. Either way, the atoms are forceMoved into the supplypod after it lands (but before it opens)."},f:["Launch Clones"]}]}," ",{p:[29,5,1958],t:7,e:"ui-section",a:{label:"Launch all at once?"},f:[{p:[30,9,2008],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.launchChoice"],s:'_0==1?"selected":null'},p:[30,27,2026]}],action:"launchOrdered","tooltip-side":"left",tooltip:'Instead of launching everything in the bay at once, this will "scan" things (one turf-full at a time) in order, left to right and top to bottom. Refreshing will reset the "scanner" to the top-leftmost position.'},f:["Ordered"]}," ",{p:[32,9,2376],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.launchChoice"],s:'_0==2?"selected":null'},p:[32,27,2394]}],action:"launchRandom","tooltip-side":"left",tooltip:"Instead of launching everything in the bay at once, this will launch one random turf of items at a time."},f:["Random"]}]}," ",{p:[38,5,2656],t:7,e:"ui-section",a:{label:"Add an explosion?"},f:[{p:[39,5,2700],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.explosionChoice"],s:'_0==1?"selected":null'},p:[39,23,2718]}],action:"explosionCustom","tooltip-side":"left",tooltip:"This will cause an explosion of whatever size you like (including flame range) to occur as soon as the supplypod lands. Dont worry, supply-pods are explosion-proof!"},f:["Custom Size"]}," ",{p:[41,5,3023],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.explosionChoice"],s:'_0==2?"selected":null'},p:[41,23,3041]}],action:"explosionBus","tooltip-side":"left",tooltip:"This will cause a maxcap explosion (dependent on server config) to occur as soon as the supplypod lands. Dont worry, supply-pods are explosion-proof!"},f:["Adminbus"]}]}," ",{p:[46,5,3344],t:7,e:"ui-section",a:{label:"Extra damage?","(default":"None)"},f:[{p:[47,5,3401],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.damageChoice"],s:'_0==1?"selected":null'},p:[47,23,3419]}],action:"damageCustom","tooltip-side":"left",tooltip:"Anyone caught under the pod when it lands will be dealt this amount of brute damage. Sucks to be them!"},f:["Custom Damage"]}," ",{p:[49,5,3659],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.damageChoice"],s:'_0==2?"selected":null'},p:[49,23,3677]}],action:"damageGib","tooltip-side":"left",tooltip:"This will attempt to gib any mob caught under the pod when it lands, as well as dealing a nice 5000 brute damage. Ya know, just to be sure!"},f:["Gib"]}]}," ",{p:[54,5,3960],t:7,e:"ui-section",a:{label:"Damaging effects?"},f:[{p:[55,5,4004],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectStun"],s:'_0?"selected":null'},p:[55,23,4022]}],action:"effectStun","tooltip-side":"left",tooltip:"Anyone who is on the turf when the supplypod is launched will be stunned until the supplypod lands. They cant get away that easy!"},f:["Stun"]}," ",{p:[57,5,4271],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectLimb"],s:'_0?"selected":null'},p:[57,23,4289]}],action:"effectLimb","tooltip-side":"left",tooltip:"This will cause anyone caught under the pod to lose a limb, excluding their head."},f:["Delimb"]}," ",{p:[59,5,4492],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectOrgans"],s:'_0?"selected":null'},p:[59,23,4510]}],action:"effectOrgans","tooltip-side":"left",tooltip:"This will cause anyone caught under the pod to lose all their limbs and organs in a spectacular fashion."},f:["Yeet Organs"]}]}," ",{p:[64,5,4764],t:7,e:"ui-section",a:{label:"Movement effects?"},f:[{p:[65,5,4808],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectBluespace"],s:'_0?"selected":null'},p:[65,23,4826]}],action:"effectBluespace","tooltip-side":"left",tooltip:"Gives the supplypod an advanced Bluespace Recyling Device. After opening, the supplypod will be warped directly to the surface of a nearby NT-designated trash planet (/r/ss13)."},f:["Bluespace"]}," ",{p:[67,5,5137],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectStealth"],s:'_0?"selected":null'},p:[67,23,5155]}],action:"effectStealth","tooltip-side":"left",tooltip:'This hides the red target icon from appearing when you launch the supplypod. Combos well with the "Invisible" style. Sneak attack, go!'},f:["Stealth"]}," ",{p:[69,5,5418],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectQuiet"],s:'_0?"selected":null'},p:[69,23,5436]}],action:"effectQuiet","tooltip-side":"left",tooltip:"This will keep the supplypod from making any sounds, except for those specifically set by admins in the Sound section."},f:["Quiet Landing"]}," ",{p:[71,5,5685],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectReverse"],s:'_0?"selected":null'},p:[71,23,5703]}],action:"effectReverse","tooltip-side":"left",tooltip:"This pod will not send any items. Instead, after landing, the supplypod will close (similar to a normal closet closing), and then launch back to the right centcom bay to drop off any new contents."},f:["Reverse Mode"]}," ",{p:[73,5,6033],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectMissile"],s:'_0?"selected":null'},p:[73,23,6051]}],action:"effectMissile","tooltip-side":"left",tooltip:"This pod will not send any items. Instead, it will immediatley delete after landing (Similar visually to setting openDelay & departDelay to 0, but this looks nicer). Useful if you just wanna fuck some shit up. Combos well with the Missile style."},f:["Missile Mode"]}," ",{p:[75,5,6430],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectCircle"],s:'_0?"selected":null'},p:[75,23,6448]}],action:"effectCircle","tooltip-side":"left",tooltip:"This will make the supplypod come in from any angle. Im not sure why this feature exists, but here it is."},f:["Any Descent Angle"]}," ",{p:[77,5,6690],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectBurst"],s:'_0?"selected":null'},p:[77,23,6708]}],action:"effectBurst","tooltip-side":"left",tooltip:"This will make each click launch 5 supplypods inaccuratly around the target turf (a 3x3 area). Combos well with the Missle Mode if you dont want shit lying everywhere after."},f:["Machine Gun Mode"]}," ",{p:[79,5,7015],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectTarget"],s:'_0?"selected":null'},p:[79,23,7033]}],action:"effectTarget","tooltip-side":"left",tooltip:"This will make the supplypod target a specific atom, instead of the mouses position. Smiting does this automatically!"},f:["Specific Target"]}]}," ",{p:[84,5,7304],t:7,e:"ui-section",a:{label:"Change Name/Desc?"},f:[{p:[85,5,7348],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectName"],s:'_0?"selected":null'},p:[85,23,7366]}],action:"effectName","tooltip-side":"left",tooltip:"Allows you to add a custom name and description."},f:["Custom Name/Desc"]}," ",{p:[87,5,7546],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.effectAnnounce"],s:'_0?"selected":null'},p:[87,23,7564]}],action:"effectAnnounce","tooltip-side":"left",tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb shit is aboutta come outta the pod."},f:["Alert Ghosts"]}]}," ",{p:[92,5,7812],t:7,e:"ui-section",a:{label:"Sound?"},f:[{p:[93,5,7845],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.fallingSound"],s:'_0?"selected":null'},p:[93,23,7863]}],action:"fallingSound","tooltip-side":"left",tooltip:"Choose a sound to play as the pod falls. Note that for this to work right you should know the exact length of the sound, in seconds."},f:["Custom Falling Sound"]}," ",{p:[95,5,8135],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.landingSound"],s:'_0?"selected":null'},p:[95,23,8153]}],action:"landingSound","tooltip-side":"left",tooltip:"Choose a sound to play when the pod lands."},f:["Custom Landing Sound"]}," ",{p:[97,5,8335],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.openingSound"],s:'_0?"selected":null'},p:[97,23,8353]}],action:"openingSound","tooltip-side":"left",tooltip:"Choose a sound to play when the pod opens."},f:["Custom Opening Sound"]}," ",{p:[99,5,8535],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.leavingSound"],s:'_0?"selected":null'},p:[99,23,8553]}],action:"leavingSound","tooltip-side":"left",tooltip:"Choose a sound to play when the pod departs (whether that be delection in the case of a bluespace pod, or leaving for centcom for a reversing pod)."},f:["Custom Leaving Sound"]}," ",{p:[101,5,8840],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.soundVolume"],s:'_0?"selected":null'},p:[101,23,8858]}],action:"soundVolume","tooltip-side":"left",tooltip:"Choose the volume for the sound to play at. Default values are between 1 and 100, but hey, do whatever. Im a tooltip, not a cop."},f:["Admin Sound Volume"]}]}," ",{p:[106,5,9141],t:7,e:"ui-section",a:{label:"Delay timers?"},f:[{p:[107,5,9181],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.fallDuration"],s:'_0!=4?"selected":null'},p:[107,23,9199]}],action:"fallDuration","tooltip-side":"left",tooltip:"Set how long the animation for the pod falling lasts. Create dramatic, slow falling pods!"},f:["Custom Falling Duration"]}," ",{p:[109,5,9436],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.landingDelay"],s:'_0!=20?"selected":null'},p:[109,23,9454]}],action:"landingDelay","tooltip-side":"left",tooltip:"Choose the amount of time it takes for the supplypod to hit the station. By default this value is 0.5 seconds."},f:["Custom Landing Time"]}," ",{p:[111,9,9713],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.openingDelay"],s:'_0!=30?"selected":null'},p:[111,27,9731]}],action:"openingDelay","tooltip-side":"left",tooltip:"Choose the amount of time it takes for the supplypod to open after landing. Useful for giving whatevers inside the pod a nice dramatic entrance! By default this value is 3 seconds."},f:["Custom Opening Time"]}," ",{p:[113,5,10056],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.departureDelay"],s:'_0!=30?"selected":null'},p:[113,23,10074]}],action:"departureDelay","tooltip-side":"left",tooltip:"Choose the amount of time it takes for the supplypod to leave after landing. By default this value is 3 seconds."},f:["Custom Leaving Time"]}]}," ",{p:[118,5,10354],t:7,e:"ui-section",a:{label:"Style?"},f:[{p:[119,5,10387],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==1?"selected":null'},p:[119,23,10405]}],action:"styleStandard","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom color scheme to your standard Nanotrasen black and orange. Same color scheme as the normal station-used supplypods."},f:["Standard"]}," ",{p:[121,5,10701],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==2?"selected":null'},p:[121,23,10719]}],action:"styleBluespace","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom color scheme to the same as the stations upgraded blue-and-white Bluespace Supplypods."},f:["Advanced"]}," ",{p:[123,5,10987],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==4?"selected":null'},p:[123,23,11005]}],action:"styleSyndie","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom color scheme to a menacing black and blood-red. Great for sending meme-ops in style!"},f:["Syndicate"]}," ",{p:[125,5,11269],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==5?"selected":null'},p:[125,23,11287]}],action:"styleBlue","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom color scheme to a menacing black and dark blue. Great for sending deathsquads in style!"},f:["Deathsquad"]}," ",{p:[127,5,11553],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==6?"selected":null'},p:[127,23,11571]}],action:"styleCult","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom style to a blood and rune covered cult pod!"},f:["Cult Pod"]}," ",{p:[129,5,11791],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==7?"selected":null'},p:[129,23,11809]}],action:"styleMissile","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom style to a large missile. Combos well with a missile mode, so the missile doesnt stick around after landing."},f:["Missile"]}," ",{p:[131,5,12096],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==8?"selected":null'},p:[131,23,12114]}],action:"styleSMissile","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom style to a large blood-red missile. Combos well with missile mode, so the missile doesnt stick around after landing."},f:["Syndicate Missile"]}," ",{p:[133,5,12420],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==9?"selected":null'},p:[133,23,12438]}],action:"styleBox","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom style to a large, dark-green military supply crate."},f:["Supply Crate"]}," ",{p:[135,5,12669],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==10?"selected":null'},p:[135,23,12687]}],action:"styleHONK","tooltip-side":"left",tooltip:"Changes the pods style from the default Centcom color scheme to a colorful, clown inspired look."},f:["HONK"]}," ",{p:[137,5,12909],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==11?"selected":null'},p:[137,23,12927]}],action:"styleFruit","tooltip-side":"left",tooltip:"for when an orange is angry"},f:["Fruit~"]}," ",{p:[139,5,13083],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==12?"selected":null'},p:[139,23,13101]}],action:"styleInvisible","tooltip-side":"left",tooltip:'Makes the supplypod invisible! Useful for when you want to use this feature with a gateway or something. Combos well with the "Stealth" and "Quiet Landing" effects.'},f:["Invisible"]}," ",{p:[141,5,13400],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==13?"selected":null'},p:[141,23,13418]}],action:"styleGondola","tooltip-side":"left",tooltip:"this gondola can control when he wants to deliver his supplies if he has a smart enough mind, so offer up his body to ghosts for maximum enjoyment. (Make sure to turn off bluespace and set a arbitrarily high open-time if you do!)"},f:["Gondola (alive)"]}," ",{p:[143,5,13787],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.styleChoice"],s:'_0==14?"selected":null'},p:[143,23,13805]}],action:"styleSeeThrough","tooltip-side":"left",tooltip:"By selecting this, the pod will instead look like whatevers inside it (as if it were the contents falling by themselves, without a pod). Useful for launching mechs at the station and standing tall as they soar in from the heavens."},f:["Show Contents (See-Through Pod)!"]}]}]}," ",{p:[148,1,14223],t:7,e:"ui-display",f:[{p:[149,5,14241],t:7,e:"ui-section",a:{label:[{t:2,r:"data.numObjects",p:[149,24,14260]}," turfs in ",{t:2,r:"data.bay",p:[149,53,14289]}],candystripe:0,right:0},f:[{p:[150,9,14331],t:7,e:"ui-button",a:{action:"refresh","tooltip-side":"left",tooltip:"Manually refreshes the possible things to launch in the pod bay."},f:["Refresh Pod Bay"]}," ",{p:[152,9,14500],t:7,e:"ui-button",a:{style:[{t:2,x:{r:["data.giveLauncher"],s:'_0?"selected":null'},p:[152,27,14518]}],action:"giveLauncher","tooltip-side":"left",tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN"},f:["Enter Launch Mode"]}," ",{p:[154,9,14712],t:7,e:"ui-button",a:{style:"danger",action:"clearBay","tooltip-side":"left",tooltip:"This will delete all objs and mobs from the selected bay."},f:["Clear Selected Bay"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],378:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,31],t:7,e:"ui-section",a:{label:"Energy"},f:[{p:[3,5,64],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.maxEnergy",p:[3,26,85]}],value:[{t:2,r:"data.energy",p:[3,53,112]}]},f:[{t:2,x:{r:["adata.energy"],s:"Math.fixed(_0)"},p:[3,70,129]}," Units"]}]}]}," ",{p:[6,1,206],t:7,e:"ui-display",a:{title:"Saved Recipes",button:0},f:[{p:[7,3,251],t:7,e:"ui-section",f:[{p:[8,5,269],t:7,e:"ui-button",a:{icon:"plus",action:"add_recipe"},f:["Add Recipe"]}," ",{p:[9,2,337],t:7,e:"ui-button",a:{icon:"minus",action:"clear_recipes"},f:["Clear Recipes"]}," ",{t:4,f:[{p:[11,7,445],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense_recipe",params:['{"recipe": "',{t:2,r:"contents",p:[11,80,518]},'"}']},f:[{t:2,r:"recipe_name",p:[11,96,534]}]}],n:52,r:"data.recipes",p:[10,5,415]}]}]}," ",{p:{button:[{t:4,f:[{p:[18,7,719],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.amount","."],s:'_0==_1?"selected":null'},p:[18,37,749]}],action:"amount",params:['{"target": ',{t:2,r:".",p:[18,114,826]},"}"]},f:[{t:2,r:".",p:[18,122,834]}]}],n:52,r:"data.beakerTransferAmounts",p:[17,5,675]}]},t:7,e:"ui-display",a:{title:"Dispense",button:0},f:[" ",{p:[21,3,886],t:7,e:"ui-section",f:[{t:4,f:[{p:[23,7,936],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense",params:['{"reagent": "',{t:2,r:"id",p:[23,74,1003]},'"}']},f:[{t:2,r:"title",p:[23,84,1013]}]}],n:52,r:"data.chemicals",p:[22,5,904]}]}]}," ",{p:{button:[{t:4,f:[{p:[30,7,1190],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"amount": ',{t:2,r:".",p:[30,66,1249]},"}"]},f:[{t:2,r:".",p:[30,74,1257]}]}],n:52,r:"data.beakerTransferAmounts",p:[29,5,1146]}," ",{p:[32,5,1295],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[32,36,1326]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[34,3,1423],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[36,7,1493],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[36,13,1499]},"/",{t:2,r:"data.beakerMaxVolume",p:[36,55,1541]}," Units"]}," ",{p:[37,4,1583],t:7,e:"span",f:["pH: ",{t:2,x:{r:["adata.beakerCurrentpH","adata.partRating"],s:"Math.round(_0*_1)/_1"},p:[37,14,1593]}]}," ",{p:[38,7,1679],t:7,e:"br"}," ",{t:4,f:[{p:[40,9,1732],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[40,52,1775]}," units of ",{t:2,r:"name",p:[40,87,1810]}]},{p:[40,102,1825],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[39,7,1692]},{t:4,n:51,f:[{p:[42,9,1856],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[35,5,1458]},{t:4,n:51,f:[{p:[45,7,1932],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],379:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[2,3,35],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,67],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isActive"],s:'_0?"power-off":"close"'},p:[3,22,84]}],style:[{t:2,x:{r:["data.isActive"],s:'_0?"selected":null'},p:[4,10,137]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,10,186]}],action:"power"},f:[{t:2,x:{r:["data.isActive"],s:'_0?"On":"Off"'},p:[6,18,249]}]}]}," ",{p:[8,3,314],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,4,346],t:7,e:"ui-button",a:{icon:"pencil",action:"temperature",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[9,79,421]}," K"]}]}]}," ",{p:{button:[{p:[14,5,564],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[14,36,595]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[16,3,692],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[18,7,762],t:7,e:"span",f:["Temperature: ",{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[18,26,781]}," K"]}," ",{p:[19,4,828],t:7,e:"br"}," ",{p:[20,7,842],t:7,e:"span",f:["pH: ",{t:2,x:{r:["adata.currentpH","adata.partRating"],s:"Math.round(_0*_1)/_1"},p:[20,17,852]}]}," ",{p:[21,7,932],t:7,e:"br"}," ",{t:4,f:[{p:[23,3,980],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[23,46,1023]}," units of ",{t:2,r:"name",p:[23,81,1058]}]},{p:[23,96,1073],t:7,e:"br"}," ",{t:4,f:[{p:[25,4,1111],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:["Purity: ",{t:2,x:{r:["purity"],s:"Math.fixed(_0,2)"},p:[25,55,1162]}]},{p:[25,87,1194],t:7,e:"br"}],n:50,r:"data.showPurity",p:[24,3,1083]}],n:52,r:"adata.beakerContents",p:[22,7,946]},{t:4,n:51,f:[{p:[28,9,1237],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[17,5,727]},{t:4,n:51,f:[{p:[31,7,1313],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],380:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:["\ufeff",{t:4,f:[" ",{p:[2,2,33],t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[{p:[3,3,71],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject":"close"'},p:[3,20,88]}],style:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"selected":null'},p:[4,11,144]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,11,200]}],action:"eject"},f:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject":"No beaker"'},p:[7,5,269]}]}," ",{p:[10,3,341],t:7,e:"ui-section",f:[{t:4,f:[{t:4,f:[{p:[13,6,427],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[13,25,446]}," units of ",{t:2,r:"name",p:[13,60,481]}],nowrap:0},f:[{p:[14,7,506],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[15,8,556],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[15,61,609]},'", "amount": 1}']},f:["1"]}," ",{p:[16,8,654],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[16,61,707]},'", "amount": 5}']},f:["5"]}," ",{p:[17,8,752],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[17,61,805]},'", "amount": 10}']},f:["10"]}," ",{p:[18,8,852],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[18,61,905]},'", "amount": 1000}']},f:["All"]}," ",{p:[19,8,955],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[19,61,1008]},'", "amount": -1}']},f:["Custom"]}," ",{p:[20,8,1059],t:7,e:"ui-button",a:{action:"analyzeBeak",params:['{"id": "',{t:2,r:"id",p:[20,56,1107]},'"}']},f:["Analyze"]}]}]}],n:52,r:"data.beakerContents",p:[12,5,391]},{t:4,n:51,f:[{p:[24,5,1189],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"data.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[11,4,358]},{t:4,n:51,f:[{p:[27,5,1260],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}," ",{p:[32,2,1348],t:7,e:"ui-display",a:{title:"Buffer"},f:[{p:[33,3,1379],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?null:"selected"'},p:[33,41,1417]}]},f:["Destroy"]}," ",{p:[34,3,1475],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?"selected":null'},p:[34,41,1513]}]},f:["Transfer to Beaker"]}," ",{p:[35,3,1582],t:7,e:"ui-section",f:[{t:4,f:[{p:[37,5,1634],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[37,24,1653]}," units of ",{t:2,r:"name",p:[37,59,1688]}],nowrap:0},f:[{p:[38,6,1712],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[39,7,1761],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[39,62,1816]},'", "amount": 1}']},f:["1"]}," ",{p:[40,7,1860],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[40,62,1915]},'", "amount": 5}']},f:["5"]}," ",{p:[41,7,1959],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[41,62,2014]},'", "amount": 10}']},f:["10"]}," ",{p:[42,7,2060],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[42,62,2115]},'", "amount": 1000}']},f:["All"]}," ",{p:[43,7,2164],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[43,62,2219]},'", "amount": -1}']},f:["Custom"]}," ",{p:[44,7,2269],t:7,e:"ui-button",a:{action:"analyzeBuff",params:['{"id": "',{t:2,r:"id",p:[44,55,2317]},'"}']},f:["Analyze"]
}]}]}],n:52,r:"data.bufferContents",p:[36,4,1599]}]}]}," ",{t:4,f:[{p:[52,3,2453],t:7,e:"ui-display",a:{title:"Pills, Bottles and Patches"},f:[{t:4,f:[{p:[54,5,2537],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["id","data.chosenPillStyle"],s:'_0==_1?"selected":null'},p:[54,23,2555]}],action:"pillStyle",params:['{"id": "',{t:2,r:"id",p:[54,108,2640]},'"}']},f:[{t:3,r:"htmltag",p:[54,118,2650]}]}],n:52,r:"data.pillStyles",p:[53,4,2506]}," ",{p:[56,4,2694],t:7,e:"br"}," ",{t:4,f:[{p:[58,5,2740],t:7,e:"ui-button",a:{action:"ejectp",state:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?null:"disabled"'},p:[58,39,2774]}]},f:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?"Eject":"No Pill bottle loaded"'},p:[58,88,2823]}]}," ",{p:[59,5,2904],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.pillBotContent",p:[59,27,2926]},"/",{t:2,r:"data.pillBotMaxContent",p:[59,51,2950]}]}],n:50,r:"data.isPillBottleLoaded",p:[57,4,2703]},{t:4,n:51,f:[{p:[61,5,3002],t:7,e:"span",a:{"class":"average"},f:["No Pillbottle"]}],r:"data.isPillBottleLoaded"}," ",{p:[64,4,3063],t:7,e:"br"}," ",{p:[65,4,3073],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[65,63,3132]}]},f:["Create Pill (max 50µ)"]}," ",{p:[66,4,3216],t:7,e:"br"}," ",{p:[67,4,3226],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[67,63,3285]}]},f:["Create Multiple Pills"]}," ",{p:[68,4,3369],t:7,e:"br"}," ",{p:[69,4,3379],t:7,e:"br"}," ",{p:[70,4,3389],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[70,64,3449]}]},f:["Create Patch (max 40µ)"]}," ",{p:[71,4,3534],t:7,e:"br"}," ",{p:[72,4,3544],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[72,64,3604]}]},f:["Create Multiple Patches"]}," ",{p:[73,4,3690],t:7,e:"br"}," ",{p:[74,4,3700],t:7,e:"br"}," ",{p:[75,4,3710],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[75,65,3771]}]},f:["Create Bottle (max 30µ)"]}," ",{p:[76,4,3857],t:7,e:"br"}," ",{p:[77,4,3867],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[77,65,3928]}]},f:["Dispense Buffer to Bottles"]}," ",{p:[78,4,4017],t:7,e:"br"}," ",{p:[79,4,4027],t:7,e:"br"}," ",{p:[80,4,4037],t:7,e:"ui-button",a:{action:"createVial",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[80,63,4096]}]},f:["Create Hypo Vial (max 60µ)"]}," ",{p:[81,4,4185],t:7,e:"br"}," ",{p:[82,4,4195],t:7,e:"ui-button",a:{action:"createVial",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[82,63,4254]}]},f:["Dispense Buffer to Hypo vials"]}," ",{p:[83,4,4347],t:7,e:"br"}," ",{p:[84,4,4357],t:7,e:"br"}," ",{p:[85,4,4367],t:7,e:"ui-button",a:{action:"createDart",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[85,63,4426]}]},f:["Create SmartDart (max 20µ)"]}," ",{p:[86,4,4515],t:7,e:"br"}," ",{p:[87,4,4525],t:7,e:"ui-button",a:{action:"createDart",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[87,63,4584]}]},f:["Create Multiple SmartDarts"]}," ",{p:[88,4,4674],t:7,e:"br"}]}],n:50,x:{r:["data.condi"],s:"!_0"},p:[51,2,2430]},{t:4,n:51,f:[{p:[93,3,4717],t:7,e:"ui-display",a:{title:"Condiments bottles and packs"},f:[{p:[94,4,4772],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[94,63,4831]}]},f:["Create Pack (max 10µ)"]}," ",{p:[95,4,4915],t:7,e:"br"}," ",{p:[96,4,4925],t:7,e:"br"}," ",{p:[97,4,4935],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[97,65,4996]}]},f:["Create Bottle (max 50µ)"]}]}],x:{r:["data.condi"],s:"!_0"}}],n:50,x:{r:["data.screen"],s:'_0=="home"'},p:[1,2,1]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.screen"],s:'_0=="analyze"'},f:[{p:[101,2,5144],t:7,e:"ui-display",a:{title:[{t:2,r:"data.analyzeVars.name",p:[101,20,5162]}]},f:[{p:[102,3,5193],t:7,e:"span",a:{"class":"highlight"},f:["Description:"]}," ",{p:[103,3,5241],t:7,e:"span",a:{"class":"content",style:"float:center"},f:[{t:2,r:"data.analyzeVars.description",p:[103,46,5284]}]}," ",{p:[104,3,5327],t:7,e:"br"}," ",{p:[105,3,5336],t:7,e:"span",a:{"class":"highlight"},f:["Color:"]}," ",{p:[106,3,5378],t:7,e:"span",a:{style:["color: ",{t:2,r:"data.analyzeVars.color",p:[106,23,5398]},"; background-color: ",{t:2,r:"data.analyzeVars.color",p:[106,69,5444]}]},f:[{t:2,r:"data.analyzeVars.color",p:[106,97,5472]}]}," ",{p:[107,3,5509],t:7,e:"br"}," ",{p:[108,3,5518],t:7,e:"span",a:{"class":"highlight"},f:["State:"]}," ",{p:[109,3,5560],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.state",p:[109,25,5582]}]}," ",{p:[110,3,5619],t:7,e:"br"}," ",{p:[111,3,5628],t:7,e:"span",a:{"class":"highlight"},f:["Metabolization Rate:"]}," ",{p:[112,3,5684],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.metaRate",p:[112,25,5706]},"µ/minute"]}," ",{p:[113,3,5754],t:7,e:"br"}," ",{p:[114,3,5763],t:7,e:"span",a:{"class":"highlight"},f:["Overdose Threshold:"]}," ",{p:[115,3,5818],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.overD",p:[115,25,5840]}]}," ",{p:[116,3,5877],t:7,e:"br"}," ",{p:[117,3,5886],t:7,e:"span",a:{"class":"highlight"},f:["Addiction Threshold:"]}," ",{p:[118,3,5942],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.addicD",p:[118,25,5964]}]}," ",{p:[119,3,6002],t:7,e:"br"}," ",{t:4,f:[{p:[121,4,6041],t:7,e:"span",a:{"class":"highlight"},f:["Minumum Reaction Temperature:"]}," ",{p:[122,4,6107],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.minTemp",p:[122,26,6129]},"K"]}," ",{p:[123,4,6170],t:7,e:"br"}," ",{p:[124,4,6180],t:7,e:"span",a:{"class":"highlight"},f:["Optimal Reaction Temperature:"]}," ",{p:[125,4,6246],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.maxTemp",p:[125,26,6268]},"K"]}," ",{p:[126,4,6309],t:7,e:"br"}," ",{p:[127,4,6319],t:7,e:"span",a:{"class":"highlight"},f:["Explosion Reaction Temperature:"]}," ",{p:[128,4,6387],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.eTemp",p:[128,26,6409]},"K"]}," ",{p:[129,4,6448],t:7,e:"br"}," ",{p:[130,4,6458],t:7,e:"span",a:{"class":"highlight"},f:["Optimal reaction pH:"]}," ",{p:[131,4,6515],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.pHpeak",p:[131,26,6537]}]}," ",{p:[132,4,6576],t:7,e:"br"}," ",{p:[133,4,6586],t:7,e:"span",a:{"class":"highlight"},f:["Current Purity:"]}," ",{p:[134,4,6638],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.purityF",p:[134,26,6660]}]}," ",{p:[135,4,6700],t:7,e:"br"}," ",{p:[136,4,6710],t:7,e:"span",a:{"class":"highlight"},f:["Inverse Purity Threshold:"]}," ",{p:[137,4,6772],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.inverseRatioF",p:[137,26,6794]}]}," ",{p:[138,4,6840],t:7,e:"br"}," ",{p:[139,4,6850],t:7,e:"span",a:{"class":"highlight"},f:["Explosion Purity Threshold:"]}," ",{p:[140,4,6914],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.purityE",p:[140,26,6936]}]}," ",{p:[141,4,6976],t:7,e:"br"}],n:50,r:"data.fermianalyze",p:[120,3,6011]}," ",{p:[143,3,6996],t:7,e:"br"}," ",{p:[144,3,7005],t:7,e:"ui-button",a:{action:"goScreen",params:'{"screen": "home"}'},f:["Back"]}]}]}],x:{r:["data.screen"],s:'_0=="home"'}}]},e.exports=a.extend(r.exports)},{341:341}],381:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Recipient Contents"},f:[{p:[2,2,41],t:7,e:"ui-section",f:[{p:[3,3,56],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[3,34,87]}],action:"ejectBeaker"},f:["Eject"]}," ",{p:[4,3,173],t:7,e:"ui-button",a:{icon:"circle",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[4,35,205]}],action:"input"},f:["Input"]}," ",{p:[5,3,285],t:7,e:"ui-button",a:{icon:"circle",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,35,317]}],action:"amount"},f:[{t:2,r:"data.amount",p:[5,96,378]},"U"]}," ",{p:[6,3,409],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"disabled":null'},p:[6,33,439]}],action:"makecup"},f:["Create Beaker"]}]}]}," ",{p:[9,1,556],t:7,e:"ui-display",a:{title:"Recipient"},f:[{p:[10,2,588],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[12,4,651],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[12,10,657]},"/",{t:2,r:"data.beakerMaxVolume",p:[12,52,699]}," Units"]}," ",{t:4,f:[{p:[14,5,775],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[14,48,818]}," units of ",{t:2,r:"name",p:[14,83,853]}]},{p:[14,98,868],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[13,4,740]},{t:4,n:51,f:[{p:[16,5,890],t:7,e:"span",a:{"class":"bad"},f:["Recipient Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[11,3,620]},{t:4,n:51,f:[{p:[19,4,958],t:7,e:"span",a:{"class":"average"},f:["No Recipient"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],382:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-button",a:{action:"toggle"},f:[{t:2,x:{r:["data.recollection"],s:'_0?"Recital":"Recollection"'},p:[2,30,42]}]}]}," ",{t:4,f:[{p:[5,3,145],t:7,e:"ui-display",f:[{t:3,r:"data.rec_text",p:[6,3,160]}," ",{t:4,f:[{p:[8,4,224],t:7,e:"br"},{p:[8,8,228],t:7,e:"ui-button",a:{action:"rec_category",params:['{"category": "',{t:2,r:"name",p:[8,63,283]},'"}']},f:[{t:3,r:"name",p:[8,75,295]}," - ",{t:3,r:"desc",p:[8,88,308]}]}],n:52,r:"data.recollection_categories",p:[7,3,182]}," ",{t:3,r:"data.rec_section",p:[10,3,345]}," ",{t:3,r:"data.rec_binds",p:[11,3,370]}]}],n:50,r:"data.recollection",p:[4,1,117]},{t:4,n:51,f:[{p:[14,2,418],t:7,e:"ui-display",a:{title:"Power",button:0},f:[{p:[15,4,455],t:7,e:"ui-section",f:[{t:3,r:"data.power",p:[16,6,473]}]}]}," ",{p:[19,2,523],t:7,e:"ui-display",f:[{p:[20,3,538],t:7,e:"ui-section",f:[{p:[21,4,554],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Driver"?"selected":null'},p:[21,22,572]}],action:"select",params:'{"category": "Driver"}'},f:["Driver"]}," ",{p:[22,4,694],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Script"?"selected":null'},p:[22,22,712]}],action:"select",params:'{"category": "Script"}'},f:["Scripts"]}," ",{p:[23,4,835],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Application"?"selected":null'},p:[23,22,853]}],action:"select",params:'{"category": "Application"}'},f:["Applications"]}," ",{p:[24,4,991],t:7,e:"br"},{t:3,r:"data.tier_info",p:[24,8,995]}]}," ",{p:[26,3,1034],t:7,e:"ui-section",f:[{t:3,r:"data.scripturecolors",p:[27,4,1050]}]},{p:[28,16,1092],t:7,e:"hr"}," ",{p:[29,3,1099],t:7,e:"ui-section",f:[{t:4,f:[{p:[31,4,1142],t:7,e:"div",f:[{p:[31,9,1147],t:7,e:"ui-button",a:{tooltip:[{t:3,r:"tip",p:[31,29,1167]}],"tooltip-side":"right",action:"recite",params:['{"category": "',{t:2,r:"type",p:[31,99,1237]},'"}']},f:["Recite ",{t:3,r:"required",p:[31,118,1256]}]}," ",{t:4,f:[{t:4,f:[{p:[34,6,1329],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[34,53,1376]},'"}']},f:["Unbind ",{t:3,r:"bound",p:[34,72,1395]}]}],n:50,r:"bound",p:[33,5,1310]},{t:4,n:51,f:[{p:[36,6,1437],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[36,53,1484]},'"}']},f:["Quickbind"]}],r:"bound"}],n:50,r:"quickbind",p:[32,6,1288]}," ",{t:3,r:"name",p:[39,6,1548]}," ",{t:3,r:"descname",p:[39,17,1559]}," ",{t:3,r:"invokers",p:[39,32,1574]}]}],n:52,r:"data.scripture",p:[30,3,1114]}]}]}],r:"data.recollection"}]},e.exports=a.extend(r.exports)},{341:341}],383:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Codex Gigas"},f:[{p:[2,2,34],t:7,e:"ui-section",f:[{t:2,r:"data.name",p:[3,3,49]}]}," ",{p:[5,5,82],t:7,e:"ui-section",a:{label:"Prefix"},f:[{p:[6,3,112],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[6,22,131]}],action:"Dark "},f:["Dark"]}," ",{p:[7,3,215],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[7,22,234]}],action:"Hellish "},f:["Hellish"]}," ",{p:[8,3,324],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[8,22,343]}],action:"Fallen "},f:["Fallen"]}," ",{p:[9,3,431],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[9,22,450]}],action:"Fiery "},f:["Fiery"]}," ",{p:[10,3,536],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[10,22,555]}],action:"Sinful "},f:["Sinful"]}," ",{p:[11,3,643],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[11,22,662]}],action:"Blood "},f:["Blood"]}," ",{p:[12,3,748],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[12,22,767]}],action:"Fluffy "},f:["Fluffy"]}]}," ",{p:[14,5,875],t:7,e:"ui-section",a:{label:"Title"},f:[{p:[15,3,904],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[15,22,923]}],action:"Lord "},f:["Lord"]}," ",{p:[16,3,1007],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[16,22,1026]}],action:"Prelate "},f:["Prelate"]}," ",{p:[17,3,1116],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[17,22,1135]}],action:"Count "},f:["Count"]}," ",{p:[18,3,1221],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[18,22,1240]}],action:"Viscount "},f:["Viscount"]}," ",{p:[19,3,1332],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[19,22,1351]}],action:"Vizier "},f:["Vizier"]}," ",{p:[20,3,1439],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[20,22,1458]}],action:"Elder "},f:["Elder"]}," ",{p:[21,3,1544],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[21,22,1563]}],action:"Adept "},f:["Adept"]}]}," ",{p:[23,5,1669],t:7,e:"ui-section",a:{label:"Name"},f:[{p:[24,3,1697],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[24,22,1716]}],action:"hal"},f:["hal"]}," ",{p:[25,3,1797],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[25,22,1816]}],action:"ve"},f:["ve"]}," ",{p:[26,3,1895],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[26,22,1914]}],action:"odr"},f:["odr"]}," ",{p:[27,3,1995],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[27,22,2014]}],action:"neit"},f:["neit"]}," ",{p:[28,3,2097],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[28,22,2116]}],action:"ci"},f:["ci"]}," ",{p:[29,3,2195],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[29,22,2214]}],action:"quon"},f:["quon"]}," ",{p:[30,3,2297],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[30,22,2316]}],action:"mya"},f:["mya"]}," ",{p:[31,3,2397],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[31,22,2416]}],action:"folth"},f:["folth"]}," ",{p:[32,3,2501],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[32,22,2520]}],action:"wren"},f:["wren"]}," ",{p:[33,3,2603],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[33,22,2622]}],action:"geyr"},f:["geyr"]}," ",{p:[34,3,2705],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[34,22,2724]}],action:"hil"},f:["hil"]}," ",{p:[35,3,2805],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[35,22,2824]}],action:"niet"},f:["niet"]}," ",{p:[36,3,2907],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[36,22,2926]}],action:"twou"},f:["twou"]}," ",{p:[37,3,3009],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[37,22,3028]}],action:"phi"},f:["phi"]}," ",{p:[38,3,3109],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[38,22,3128]}],action:"coa"},f:["coa"]}]}," ",{p:[40,5,3229],t:7,e:"ui-section",a:{label:"suffix"},f:[{p:[41,3,3259],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[41,22,3278]}],action:" the Red"},f:["the Red"]}," ",{p:[42,3,3368],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[42,22,3387]}],action:" the Soulless"},f:["the Soulless"]}," ",{p:[43,3,3487],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[43,22,3506]}],action:" the Master"},f:["the Master"]}," ",{p:[44,3,3602],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[44,22,3621]}],action:", the Lord of all things"},f:["the Lord of all things"]}," ",{p:[45,3,3742],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[45,22,3761]}],action:", Jr."},f:["jr"]}]}," ",{p:[47,5,3863],t:7,e:"ui-section",a:{label:"submit"},f:[{p:[48,3,3894],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0>=4?null:"disabled"'},p:[48,21,3912]}],action:"search"},f:["search"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],384:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"ui-button",a:{icon:"circle",action:"clean_order"},f:["Clear Order"]},{p:[2,70,70],t:7,e:"br"},{p:[2,74,74],t:7,e:"br"}," ",{p:[3,1,79],t:7,e:"i",f:["Your new computer device you always dreamed of is just four steps away..."]},{p:[3,81,159],t:7,e:"hr"}," ",{t:4,f:[" ",{p:[5,1,219],t:7,e:"div",a:{"class":"item"},f:[{p:[6,2,239],t:7,e:"h2",f:["Step 1: Select your device type"]}," ",{p:[7,2,281],t:7,e:"ui-button",a:{icon:"calc",action:"pick_device",params:'{"pick" : "1"}'},f:["Laptop"]}," ",{p:[8,2,370],t:7,e:"ui-button",a:{icon:"calc",action:"pick_device",params:'{"pick" : "2"}'},f:["LTablet"]}]}],n:50,x:{r:["data.state"],s:"_0==0"},p:[4,1,164]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.state"],s:"_0==1"},f:[{p:[11,1,492],t:7,e:"div",a:{"class":"item"},f:[{p:[12,2,512],t:7,e:"h2",f:["Step 2: Personalise your device"]}," ",{p:[13,2,554],t:7,e:"table",f:[{p:[14,3,564],t:7,e:"tr",f:[{p:[15,4,572],t:7,e:"td",f:[{p:[15,8,576],t:7,e:"b",f:["Current Price:"]}]},{p:[16,4,601],t:7,e:"td",f:[{t:2,r:"data.totalprice",p:[16,8,605]},"C"]}]}," ",{p:[18,3,636],t:7,e:"tr",f:[{p:[19,4,645],t:7,e:"td",f:[{p:[19,8,649],t:7,e:"b",f:["Battery:"]}]},{p:[20,4,668],t:7,e:"td",f:[{p:[20,8,672],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "1"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==1?"selected":null'},p:[20,73,737]}]},f:["Standard"]}]},{p:[21,4,807],t:7,e:"td",f:[{p:[21,8,811],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "2"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==2?"selected":null'},p:[21,73,876]}]},f:["Upgraded"]}]},{p:[22,4,946],t:7,e:"td",f:[{p:[22,8,950],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "3"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==3?"selected":null'},p:[22,73,1015]}]},f:["Advanced"]}]}]}," ",{p:[24,3,1092],t:7,e:"tr",f:[{p:[25,4,1100],t:7,e:"td",f:[{p:[25,8,1104],t:7,e:"b",f:["Hard Drive:"]}]},{p:[26,4,1126],t:7,e:"td",f:[{p:[26,8,1130],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "1"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==1?"selected":null'},p:[26,67,1189]}]},f:["Standard"]}]},{p:[27,4,1256],t:7,e:"td",f:[{p:[27,8,1260],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "2"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==2?"selected":null'},p:[27,67,1319]}]},f:["Upgraded"]}]},{p:[28,4,1386],t:7,e:"td",f:[{p:[28,8,1390],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "3"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==3?"selected":null'},p:[28,67,1449]}]},f:["Advanced"]}]}]}," ",{p:[30,3,1523],t:7,e:"tr",f:[{p:[31,4,1531],t:7,e:"td",f:[{p:[31,8,1535],t:7,e:"b",f:["Network Card:"]}]},{p:[32,4,1559],t:7,e:"td",f:[{p:[32,8,1563],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "0"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==0?"selected":null'},p:[32,73,1628]}]},f:["None"]}]},{p:[33,4,1694],t:7,e:"td",f:[{p:[33,8,1698],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "1"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==1?"selected":null'},p:[33,73,1763]}]},f:["Standard"]}]},{p:[34,4,1833],t:7,e:"td",f:[{p:[34,8,1837],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "2"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==2?"selected":null'},p:[34,73,1902]}]},f:["Advanced"]}]}]}," ",{p:[36,3,1979],t:7,e:"tr",f:[{p:[37,4,1987],t:7,e:"td",f:[{p:[37,8,1991],t:7,e:"b",f:["Nano Printer:"]}]},{p:[38,4,2015],t:7,e:"td",f:[{p:[38,8,2019],t:7,e:"ui-button",a:{action:"hw_nanoprint",params:'{"print" : "0"}',state:[{t:2,x:{r:["data.hw_nanoprint"],s:'_0==0?"selected":null'},p:[38,73,2084]}]},f:["None"]}]},{p:[39,4,2152],t:7,e:"td",f:[{p:[39,8,2156],t:7,e:"ui-button",a:{action:"hw_nanoprint",params:'{"print" : "1"}',state:[{t:2,x:{r:["data.hw_nanoprint"],s:'_0==1?"selected":null'},p:[39,73,2221]}]},f:["Standard"]}]}]}," ",{p:[41,3,2300],t:7,e:"tr",f:[{p:[42,4,2308],t:7,e:"td",f:[{p:[42,8,2312],t:7,e:"b",f:["Card Reader:"]}]},{p:[43,4,2335],t:7,e:"td",f:[{p:[43,8,2339],t:7,e:"ui-button",a:{action:"hw_card",params:'{"card" : "0"}',state:[{t:2,x:{r:["data.hw_card"],s:'_0==0?"selected":null'},p:[43,67,2398]}]},f:["None"]}]},{p:[44,4,2461],t:7,e:"td",f:[{p:[44,8,2465],t:7,e:"ui-button",a:{action:"hw_card",params:'{"card" : "1"}',state:[{t:2,x:{r:["data.hw_card"],s:'_0==1?"selected":null'},p:[44,67,2524]}]},f:["Standard"]}]}]}]}," ",{t:4,f:[" ",{p:[49,4,2658],t:7,e:"table",f:[{p:[50,5,2670],t:7,e:"tr",f:[{p:[51,6,2680],t:7,e:"td",f:[{p:[51,10,2684],t:7,e:"b",f:["Processor Unit:"]}]},{p:[52,6,2712],t:7,e:"td",f:[{p:[52,10,2716],t:7,e:"ui-button",a:{action:"hw_cpu",params:'{"cpu" : "1"}',state:[{t:2,x:{r:["data.hw_cpu"],s:'_0==1?"selected":null'},p:[52,67,2773]}]},f:["Standard"]}]},{p:[53,6,2841],t:7,e:"td",f:[{p:[53,10,2845],t:7,e:"ui-button",a:{action:"hw_cpu",params:'{"cpu" : "2"}',state:[{t:2,x:{r:["data.hw_cpu"],s:'_0==2?"selected":null'},p:[53,67,2902]}]},f:["Advanced"]}]}]}," ",{p:[55,5,2979],t:7,e:"tr",f:[{p:[56,6,2989],t:7,e:"td",f:[{p:[56,10,2993],t:7,e:"b",f:["Tesla Relay:"]}]},{p:[57,6,3018],t:7,e:"td",f:[{p:[57,10,3022],t:7,e:"ui-button",a:{action:"hw_tesla",params:'{"tesla" : "0"}',state:[{t:2,x:{r:["data.hw_tesla"],s:'_0==0?"selected":null'},p:[57,71,3083]}]},f:["None"]}]},{p:[58,6,3149],t:7,e:"td",f:[{p:[58,10,3153],t:7,e:"ui-button",a:{action:"hw_tesla",params:'{"tesla" : "1"}',state:[{t:2,x:{r:["data.hw_tesla"],s:'_0==1?"selected":null'},p:[58,71,3214]}]},f:["Standard"]}]}]}]}],n:50,x:{r:["data.devtype"],s:"_0!=2"},p:[48,3,2612]}," ",{p:[62,3,3313],t:7,e:"table",f:[{p:[63,4,3324],t:7,e:"tr",f:[{p:[64,5,3333],t:7,e:"td",f:[{p:[64,9,3337],t:7,e:"b",f:["Confirm Order:"]}]},{p:[65,5,3363],t:7,e:"td",f:[{p:[65,9,3367],t:7,e:"ui-button",a:{action:"confirm_order"},f:["CONFIRM"]}]}]}]}," ",{p:[69,2,3444],t:7,e:"hr"}," ",{p:[70,2,3450],t:7,e:"b",f:["Battery"]}," allows your device to operate without external utility power source. Advanced batteries increase battery life.",{p:[70,127,3575],t:7,e:"br"}," ",{p:[71,2,3581],t:7,e:"b",f:["Hard Drive"]}," stores file on your device. Advanced drives can store more files, but use more power, shortening battery life.",{p:[71,130,3709],t:7,e:"br"}," ",{p:[72,2,3715],t:7,e:"b",f:["Network Card"]}," allows your device to wirelessly connect to stationwide NTNet network. Basic cards are limited to on-station use, while advanced cards can operate anywhere near the station, which includes the asteroid outposts.",{p:[72,233,3946],t:7,e:"br"}," ",{p:[73,2,3952],t:7,e:"b",f:["Processor Unit"]}," is critical for your device's functionality. It allows you to run programs from your hard drive. Advanced CPUs use more power, but allow you to run more programs on background at once.",{p:[73,208,4158],t:7,e:"br"}," ",{p:[74,2,4164],t:7,e:"b",f:["Tesla Relay"]}," is an advanced wireless power relay that allows your device to connect to nearby area power controller to provide alternative power source. This component is currently unavailable on tablet computers due to size restrictions.",{p:[74,246,4408],t:7,e:"br"}," ",{p:[75,2,4414],t:7,e:"b",f:["Nano Printer"]}," is device that allows for various paperwork manipulations, such as, scanning of documents or printing new ones. This device was certified EcoFriendlyPlus and is capable of recycling existing paper for printing purposes.",{p:[75,241,4653],t:7,e:"br"}," ",{p:[76,2,4659],t:7,e:"b",f:["Card Reader"]}," adds a slot that allows you to manipulate RFID cards. Please note that this is not necessary to allow the device to read your identification, it is just necessary to manipulate other cards."]}]},{t:4,n:50,x:{r:["data.state"],s:"(!(_0==1))&&(_0==2)"},f:[" ",{p:[79,2,4903],t:7,e:"h2",f:["Step 3: Payment"]}," ",{p:[80,2,4929],t:7,e:"b",f:["Your device is now ready for fabrication.."]},{p:[80,51,4978],t:7,e:"br"}," ",{p:[81,2,4984],t:7,e:"i",f:["Please ensure the required amount of credits are in the machine, then press purchase."]},{p:[81,94,5076],t:7,e:"br"}," ",{p:[82,2,5082],t:7,e:"i",f:["Current credits: ",{p:[82,22,5102],t:7,e:"b",f:[{t:2,r:"data.credits",p:[82,25,5105]},"C"]}]},{p:[82,50,5130],t:7,e:"br"}," ",{p:[83,2,5136],t:7,e:"i",f:["Total price: ",{p:[83,18,5152],t:7,e:"b",f:[{t:2,r:"data.totalprice",p:[83,21,5155]},"C"]}]},{p:[83,49,5183],t:7,e:"br"},{p:[83,53,5187],t:7,e:"br"}," ",{p:[84,2,5193],t:7,e:"ui-button",a:{action:"purchase",state:[{t:2,x:{r:["data.credits","data.totalprice"],s:'_0>=_1?null:"disabled"'},p:[84,38,5229]}]},f:["PURCHASE"]}]},{t:4,n:50,x:{r:["data.state"],s:"(!(_0==1))&&((!(_0==2))&&(_0==3))"},f:[" ",{p:[87,2,5337],t:7,e:"h2",f:["Step 4: Thank you for your purchase"]},{p:[87,46,5381],t:7,e:"br"}," ",{p:[88,2,5387],t:7,e:"b",f:["Should you experience any issues with your new device, contact your local network admin for assistance."]}]}],x:{r:["data.state"],s:"_0==0"}}]},e.exports=a.extend(r.exports)},{341:341}],385:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,1,22],t:7,e:"ui-display",f:[{p:[3,2,37],t:7,e:"ui-section",a:{label:"Cap"},f:[{p:[4,3,65],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.is_capped"],s:'_0?"power-off":"close"'},p:[4,20,82]}],style:[{t:2,x:{r:["data.is_capped"],s:'_0?null:"selected"'},p:[4,71,133]}],action:"toggle_cap"},f:[{t:2,x:{r:["data.is_capped"],s:'_0?"On":"Off"'},p:[6,4,202]}]}]}]}],n:50,r:"data.has_cap",p:[1,1,0]},{p:[10,1,288],t:7,e:"ui-display",f:[{t:4,f:[{p:[14,2,419],t:7,e:"ui-section",f:[{p:[15,3,435],t:7,e:"ui-button",a:{action:"select_colour"},f:["Select New Colour"]}]}],n:50,r:"data.can_change_colour",p:[13,1,386]}]}," ",{p:[19,1,540],t:7,e:"ui-display",a:{title:"Stencil"},f:[{t:4,f:[{p:[21,2,599],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[21,21,618]}]},f:[{t:4,f:[{p:[23,7,655],t:7,e:"ui-button",a:{action:"select_stencil",params:['{"item":"',{t:2,r:"item",p:[23,59,707]},'"}'],style:[{t:2,x:{r:["item","data.selected_stencil"],s:'_0==_1?"selected":null'},p:[24,12,731]}]},f:[{t:2,r:"item",p:[25,4,791]}]}],n:52,r:"items",p:[22,3,632]}]}],n:52,r:"data.drawables",p:[20,3,572]}]}," ",{p:[31,1,874],t:7,e:"ui-display",a:{title:"Text Mode"},f:[{p:[32,2,907],t:7,e:"ui-section",a:{label:"Current Buffer"},f:[{t:2,r:"data.text_buffer",p:[32,37,942]}]}," ",{p:[34,2,981],t:7,e:"ui-section",f:[{p:[34,14,993],t:7,e:"ui-button",a:{action:"enter_text"},f:["New Text"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],386:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{isHead:function(t){return t%10==0},dept_class:function(t){return 0==t?"dept-cap":t>=10&&20>t?"dept-sec":t>=20&&30>t?"dept-med":t>=30&&40>t?"dept-sci":t>=40&&50>t?"dept-eng":t>=50&&60>t?"dept-cargo":t>=200&&230>t?"dept-cent":"dept-other"},health_state:function(t,e,n,a){var r=t+e+n+a;return 0>=r?"health-5":25>=r?"health-4":50>=r?"health-3":75>=r?"health-2":"health-0"}}}}(r),r.exports.css=" .health {\n width: 16px;\n height: 16px;\n background-color: #FFF;\n border: 1px solid #434343;\n position: relative;\n top: 2px;\n display: inline-block;\n }\n .health-5 { background-color: #17d568; }\n .health-4 { background-color: #2ecc71; }\n .health-3 { background-color: #e67e22; }\n .health-2 { background-color: #ed5100; }\n .health-1 { background-color: #e74c3c; }\n .health-0 { background-color: #ed2814; }\n\n .dept-cap {color : #C06616;}\n .dept-sec {color : #E74C3C;}\n .dept-med {color : #3498DB;}\n .dept-sci {color : #9B59B6;}\n .dept-eng {color : #F1C40F;}\n .dept-cargo {color : #F39C12;}\n .dept-cent {color : #00C100;}\n .dept-other {color: #C38312;}\n\n .oxy { color : #3498db; }\n .toxin { color : #2ecc71; }\n .burn { color : #e67e22; }\n .brute { color : #e74c3c; }\n\n table.crew{\n border-collapse: collapse;\n }\n\n table.crew td {\n padding : 0px 10px;\n }",r.exports.template={v:3,t:[" ",{p:[27,1,1004],t:7,e:"ui-display",f:[{p:[28,2,1018],t:7,e:"ui-section",f:[{p:[29,3,1033],t:7,e:"table",a:{"class":"crew"},f:[{p:[30,3,1056],t:7,e:"thead",f:[{p:[31,3,1066],t:7,e:"tr",f:[{p:[32,4,1074],t:7,e:"th",f:["Name"]}," ",{p:[33,4,1091],t:7,e:"th",f:["Status"]}," ",{p:[34,4,1110],t:7,e:"th",f:["Vitals"]}," ",{p:[35,4,1129],t:7,e:"th",f:["Position"]}," ",{t:4,f:[{p:[37,5,1180],t:7,e:"th",f:["Tracking"]}],n:50,r:"data.link_allowed",p:[36,4,1150]}]}]}," ",{p:[41,3,1230],t:7,e:"tbody",f:[{t:4,f:[{p:[43,4,1266],t:7,e:"tr",f:[{p:[44,5,1275],t:7,e:"td",f:[{p:[45,6,1285],t:7,e:"span",a:{"class":[{t:2,x:{r:["isHead","ijob"],s:'_0(_1)?"bold ":""'},p:[45,19,1298]},{t:2,x:{r:["dept_class","ijob"],s:"_0(_1)"},p:[45,49,1328]}]},f:[{t:2,r:"name",p:[46,7,1357]}," (",{t:2,r:"assignment",p:[46,17,1367]},") ",{p:[47,6,1388],t:7,e:"span",f:[]}]}]}," ",{p:[49,5,1409],t:7,e:"td",f:[{t:4,f:[{p:[51,7,1448],t:7,e:"span",a:{"class":["health ",{t:2,x:{r:["health_state","oxydam","toxdam","burndam","brutedam"],s:"_0(_1,_2,_3,_4)"},p:[51,27,1468]}]}}],n:50,x:{r:["oxydam"],s:"_0!=null"},p:[50,6,1419]},{t:4,n:51,f:[{t:4,f:[{p:[54,8,1573],t:7,e:"span",a:{"class":"health health-5"}}],n:50,r:"life_status",p:[53,7,1546]},{t:4,n:51,f:[{p:[56,8,1633],t:7,e:"span",a:{"class":"health health-0"}}],r:"life_status"}],x:{r:["oxydam"],s:"_0!=null"}}]}," ",{p:[60,5,1712],t:7,e:"td",f:[{t:4,f:[{p:[62,7,1751],t:7,e:"span",f:["( ",{p:[64,8,1773],t:7,e:"span",a:{"class":"oxy"},f:[{t:2,r:"oxydam",p:[64,26,1791]}]}," / ",{p:[66,8,1825],t:7,e:"span",a:{"class":"toxin"},f:[{t:2,r:"toxdam",p:[66,28,1845]}]}," / ",{p:[68,8,1879],t:7,e:"span",a:{"class":"burn"},f:[{t:2,r:"burndam",p:[68,27,1898]}]}," / ",{p:[70,8,1933],t:7,e:"span",a:{"class":"brute"},f:[{t:2,r:"brutedam",p:[70,28,1953]}]}," )"]}],n:50,x:{r:["oxydam"],s:"_0!=null"},p:[61,6,1722]},{t:4,n:51,f:[{t:4,f:[{p:[75,8,2042],t:7,e:"span",f:["Alive"]}],n:50,r:"life_status",p:[74,7,2015]},{t:4,n:51,f:[{p:[77,8,2083],t:7,e:"span",f:["Dead"]}],r:"life_status"}],x:{r:["oxydam"],s:"_0!=null"}}]}," ",{p:[81,5,2142],t:7,e:"td",f:[{t:4,f:[{p:[83,6,2178],t:7,e:"span",f:[{t:2,r:"area",p:[83,12,2184]}]}],n:50,x:{r:["pos_x"],s:"_0!=null"},p:[82,5,2151]},{t:4,n:51,f:[{p:[85,6,2218],t:7,e:"span",f:["N/A"]}],
-x:{r:["pos_x"],s:"_0!=null"}}]}," ",{t:4,f:[{p:[89,6,2293],t:7,e:"td",f:[{p:[90,7,2304],t:7,e:"ui-button",a:{action:"select_person",state:[{t:2,x:{r:["can_track"],s:'_0?null:"disabled"'},p:[90,48,2345]}],params:['{"name":"',{t:2,r:"name",p:[90,100,2397]},'"}']},f:["Track"]}]}],n:50,r:"data.link_allowed",p:[88,5,2261]}]}],n:52,r:"data.sensors",p:[42,3,1240]}]}]}]}]}," "]},e.exports=a.extend(r.exports)},{341:341}],387:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[2,3,32],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[3,3,64],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[3,9,70]}]}]}," ",{t:4,f:[{p:[6,5,184],t:7,e:"ui-section",a:{label:"State"},f:[{p:[7,7,217],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.statstate",p:[7,20,230]}]},f:[{t:2,r:"data.occupant.stat",p:[7,49,259]}]}]}," ",{p:[9,4,309],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[10,6,347],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.temperaturestatus",p:[10,19,360]}]},f:[{t:2,r:"data.occupant.bodyTemperature",p:[10,56,397]}," K"]}]}," ",{p:[12,5,461],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[13,7,495],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[13,20,508]}],max:[{t:2,r:"data.occupant.maxHealth",p:[13,54,542]}],value:[{t:2,r:"data.occupant.health",p:[13,90,578]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[14,16,619]}]},f:[{t:2,r:"data.occupant.health",p:[14,68,671]}]}]}," ",{t:4,f:[{p:[17,7,892],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[17,26,911]}]},f:[{p:[18,9,931],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[18,30,952]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[18,66,988]}],state:"bad"},f:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[18,103,1025]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[16,5,727]}],n:50,r:"data.hasOccupant",p:[5,3,155]}]}," ",{p:[23,1,1116],t:7,e:"ui-display",a:{title:"Cell"},f:[{p:[24,3,1144],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[25,5,1175],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[25,22,1192]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[26,14,1251]}],state:[{t:2,x:{r:["data.isOpen"],s:'_0?"disabled":null'},p:[27,14,1306]}],action:"power"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[28,22,1364]}]}]}," ",{p:[30,3,1430],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[31,3,1465],t:7,e:"span",a:{"class":[{t:2,r:"data.temperaturestatus",p:[31,16,1478]}]},f:[{t:2,r:"data.cellTemperature",p:[31,44,1506]}," K"]}]}," ",{p:[33,2,1556],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[34,5,1586],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOpen"],s:'_0?"unlock":"lock"'},p:[34,22,1603]}],action:"door"},f:[{t:2,x:{r:["data.isOpen"],s:'_0?"Open":"Closed"'},p:[34,73,1654]}]}," ",{p:[35,5,1706],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoEject"],s:'_0?"sign-out":"sign-in"'},p:[35,22,1723]}],action:"autoeject"},f:[{t:2,x:{r:["data.autoEject"],s:'_0?"Auto":"Manual"'},p:[35,86,1787]}]}]}]}," ",{p:{button:[{p:[40,5,1928],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[40,36,1959]}],action:"ejectbeaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[42,3,2060],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[45,9,2167],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,r:"volume",p:[45,52,2210]}," units of ",{t:2,r:"name",p:[45,72,2230]}]},{p:[45,87,2245],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[44,7,2128]},{t:4,n:51,f:[{p:[47,9,2274],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[43,5,2094]},{t:4,n:51,f:[{p:[50,7,2347],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],388:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,14],t:7,e:"ui-section",a:{label:"State"},f:[{t:4,f:[{p:[4,4,73],t:7,e:"span",a:{"class":"good"},f:["Ready"]}],n:50,r:"data.full_pressure",p:[3,3,43]},{t:4,n:51,f:[{t:4,f:[{p:[7,5,147],t:7,e:"span",a:{"class":"bad"},f:["Power Disabled"]}],n:50,r:"data.panel_open",p:[6,4,119]},{t:4,n:51,f:[{t:4,f:[{p:[10,6,239],t:7,e:"span",a:{"class":"average"},f:["Pressurizing"]}],n:50,r:"data.pressure_charging",p:[9,5,203]},{t:4,n:51,f:[{p:[12,6,299],t:7,e:"span",a:{"class":"bad"},f:["Off"]}],r:"data.pressure_charging"}],r:"data.panel_open"}],r:"data.full_pressure"}]}," ",{p:[17,2,377],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[18,3,409],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.per",p:[18,36,442]}],state:"good"},f:[{t:2,r:"data.per",p:[18,63,469]},"%"]}]}," ",{p:[20,5,511],t:7,e:"ui-section",a:{label:"Handle"},f:[{p:[21,9,547],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.flush"],s:'_0?"toggle-on":"toggle-off"'},p:[22,10,568]}],state:[{t:2,x:{r:["data.isai","data.panel_open"],s:'_0||_1?"disabled":null'},p:[23,11,625]}],action:[{t:2,x:{r:["data.flush"],s:'_0?"handle-0":"handle-1"'},p:[24,12,691]}]},f:[{t:2,x:{r:["data.flush"],s:'_0?"Disengage":"Engage"'},p:[25,5,739]}]}]}," ",{p:[27,2,811],t:7,e:"ui-section",a:{label:"Eject"},f:[{p:[28,3,840],t:7,e:"ui-button",a:{icon:"sign-out",state:[{t:2,x:{r:["data.isai"],s:'_0?"disabled":null'},p:[28,37,874]}],action:"eject"},f:["Eject Contents"]},{p:[28,114,951],t:7,e:"br"}]}," ",{p:[30,2,973],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,3,1002],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["data.panel_open"],s:'_0?"disabled":null'},p:[31,38,1037]}],action:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"pump-0":"pump-1"'},p:[31,87,1086]}],style:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"selected":null'},p:[31,145,1144]}]}},{p:[31,206,1205],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],389:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"DNA Vault Database"},f:[{p:[2,3,42],t:7,e:"ui-section",a:{label:"Human DNA"},f:[{p:[3,7,79],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.dna_max",p:[3,28,100]}],value:[{t:2,r:"data.dna",p:[3,53,125]}]},f:[{t:2,r:"data.dna",p:[3,67,139]},"/",{t:2,r:"data.dna_max",p:[3,80,152]}," Samples"]}]}," ",{p:[5,3,204],t:7,e:"ui-section",a:{label:"Plant Data"},f:[{p:[6,5,240],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.plants_max",p:[6,26,261]}],value:[{t:2,r:"data.plants",p:[6,54,289]}]},f:[{t:2,r:"data.plants",p:[6,71,306]},"/",{t:2,r:"data.plants_max",p:[6,87,322]}," Samples"]}]}," ",{p:[8,3,377],t:7,e:"ui-section",a:{label:"Animal Data"},f:[{p:[9,5,414],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.animals_max",p:[9,26,435]}],value:[{t:2,r:"data.animals",p:[9,55,464]}]},f:[{t:2,r:"data.animals",p:[9,73,482]},"/",{t:2,r:"data.animals_max",p:[9,90,499]}," Samples"]}]}]}," ",{t:4,f:[{p:[13,1,604],t:7,e:"ui-display",a:{title:"Personal Gene Therapy"},f:[{p:[14,3,650],t:7,e:"ui-section",f:[{p:[15,2,664],t:7,e:"span",f:["Applicable gene therapy treatments:"]}]}," ",{p:[17,3,731],t:7,e:"ui-section",f:[{p:[18,2,745],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceA",p:[18,47,790]},'"}']},f:[{t:2,r:"data.choiceA",p:[18,67,810]}]}," ",{p:[19,2,840],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceB",p:[19,47,885]},'"}']},f:[{t:2,r:"data.choiceB",p:[19,67,905]}]}]}]}],n:50,x:{r:["data.completed","data.used"],s:"_0&&!_1"},p:[12,1,567]}]},e.exports=a.extend(r.exports)},{341:341}],390:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[2,3,32],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[3,3,64],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[3,9,70]}]}]}," ",{t:4,f:[{p:[6,5,178],t:7,e:"ui-section",a:{label:"Items in storage"},f:[{p:[7,4,219],t:7,e:"span",f:[{t:2,r:"data.items",p:[7,10,225]}]}]}],n:50,r:"data.items",p:[5,3,155]}," ",{t:4,f:[{p:[11,5,300],t:7,e:"ui-section",a:{label:"State"},f:[{p:[12,7,333],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.statstate",p:[12,20,346]}]},f:[{t:2,r:"data.occupant.stat",p:[12,49,375]}]}]}," ",{p:[14,5,426],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[15,7,460],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[15,20,473]}],max:[{t:2,r:"data.occupant.maxHealth",p:[15,54,507]}],value:[{t:2,r:"data.occupant.health",p:[15,90,543]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[16,16,584]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[16,68,636]}]}]}," ",{t:4,f:[{p:[19,7,870],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[19,26,889]}]},f:[{p:[20,9,909],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[20,30,930]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[20,66,966]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[20,103,1003]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[18,5,705]}," ",{p:[23,5,1087],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[24,9,1122],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[24,22,1135]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[24,68,1181]}]}]}," ",{p:[26,5,1262],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[27,9,1297],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[27,22,1310]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[27,68,1356]}]}]}," ",{p:[29,5,1438],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[31,11,1523],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[31,54,1566]}," units of ",{t:2,r:"name",p:[31,89,1601]}]},{p:[31,104,1616],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[30,9,1479]},{t:4,n:51,f:[{p:[33,11,1649],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[10,3,274]}]}," ",{p:[38,1,1740],t:7,e:"ui-display",a:{title:"Operations"},f:[{p:[39,3,1774],t:7,e:"ui-section",a:{label:"Inject"},f:[{t:4,f:[{p:[41,7,1832],t:7,e:"ui-button",a:{icon:"flask",state:[{t:2,x:{r:["data.occupied"],s:'_0?null:"disabled"'},p:[41,38,1863]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[41,111,1936]},'"}']},f:[{t:2,r:"name",p:[41,121,1946]}]},{p:[41,141,1966],t:7,e:"br"}],n:52,r:"data.chem",p:[40,5,1806]}]}," ",{p:[44,2,2003],t:7,e:"ui-section",a:{label:"Eject"},f:[{p:[45,6,2035],t:7,e:"ui-button",a:{icon:"sign-out",action:"eject"},f:["Eject Contents"]}]}," ",{p:[47,2,2120],t:7,e:"ui-section",a:{label:"Self Cleaning"},f:[{p:[48,3,2157],t:7,e:"ui-button",a:{icon:"recycle",action:"cleaning"},f:["Self-Clean Cycle"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],391:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,23],t:7,e:"ui-display",a:{title:[{t:2,r:"data.question",p:[2,21,41]}]},f:[{p:[3,5,64],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,9,114],t:7,e:"ui-button",a:{action:"vote",params:['{"answer": "',{t:2,r:"answer",p:[6,45,169]},'"}'],style:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[7,18,200]}]},f:[{t:2,r:"answer",p:[7,53,235]}," (",{t:2,r:"amount",p:[7,65,247]},")"]}],n:52,r:"data.answers",p:[4,7,83]}]}]}],n:50,r:"data.shaking",p:[1,1,0]},{t:4,n:51,f:[{p:[13,3,341],t:7,e:"ui-notice",f:["The eightball is not currently being shaken."]}],r:"data.shaking"}]},e.exports=a.extend(r.exports)},{341:341}],392:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,5,16],t:7,e:"span",f:["Time Until Launch: ",{t:2,r:"data.timer_str",p:[2,30,41]}]}]}," ",{p:[4,1,80],t:7,e:"ui-notice",f:[{p:[5,3,94],t:7,e:"span",f:["Engines: ",{t:2,x:{r:["data.engines_started"],s:'_0?"Online":"Idle"'},p:[5,18,109]}]}]}," ",{p:[7,1,174],t:7,e:"ui-display",a:{title:"Early Launch"},f:[{p:[8,2,209],t:7,e:"span",f:["Authorizations Remaining: ",{t:2,x:{r:["data.emagged","data.authorizations_remaining"],s:'_0?"ERROR":_1'},p:[9,2,242]}]}," ",{p:[10,2,309],t:7,e:"ui-button",a:{icon:"exclamation-triangle",action:"authorize",style:"danger",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[12,10,393]}]},f:["AUTHORIZE"]}," ",{p:[15,2,459],t:7,e:"ui-button",a:{icon:"minus",action:"repeal",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[16,10,508]}]},f:["Repeal"]}," ",{p:[19,2,571],t:7,e:"ui-button",a:{icon:"close",action:"abort",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[20,10,619]}]},f:["Repeal All"]}]}," ",{p:[24,1,699],t:7,e:"ui-display",a:{title:"Authorizations"},f:[{t:4,f:[{p:[26,3,768],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{t:2,r:"name",p:[26,34,799]}," (",{t:2,r:"job",p:[26,44,809]},")"]}],n:52,r:"data.authorizations",p:[25,2,736]},{t:4,n:51,f:[{p:[28,3,843],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:["No authorizations."]}],r:"data.authorizations"}]}]},e.exports=a.extend(r.exports)},{341:341}],393:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.hidden_message",p:[3,5,48]}]}," ",{p:[5,3,90],t:7,e:"ui-section",a:{label:"Created On"},f:[{t:2,r:"data.realdate",p:[6,5,126]}]}," ",{p:[8,3,162],t:7,e:"ui-section",a:{label:"Approval"},f:[{p:[9,5,196],t:7,e:"ui-button",a:{icon:"arrow-up",state:[{t:2,x:{r:["data.is_creator","data.has_liked"],s:'_0?"disabled":_1?"selected":null'},p:[11,14,242]}],action:"like"},f:[{t:2,r:"data.num_likes",p:[12,21,333]}]}," ",{p:[13,5,368],t:7,e:"ui-button",a:{icon:"circle",state:[{t:2,x:{r:["data.is_creator","data.has_liked","data.has_disliked"],s:'_0?"disabled":!_1&&!_2?"selected":null'},p:[15,14,412]}],action:"neutral"}}," ",{p:[17,5,546],t:7,e:"ui-button",a:{icon:"arrow-down",state:[{t:2,x:{r:["data.is_creator","data.has_disliked"],s:'_0?"disabled":_1?"selected":null'},p:[19,14,594]}],action:"dislike"},f:[{t:2,r:"data.num_dislikes",p:[20,24,691]}]}]}]}," ",{t:4,f:[{p:[24,3,782],t:7,e:"ui-display",a:{title:"Admin Panel"},f:[{p:[25,5,819],t:7,e:"ui-section",a:{label:"Creator Ckey"},f:[{t:2,r:"data.creator_key",p:[25,38,852]}]}," ",{p:[26,5,890],t:7,e:"ui-section",a:{label:"Creator Character Name"},f:[{t:2,r:"data.creator_name",p:[26,48,933]}]}," ",{p:[27,5,972],t:7,e:"ui-button",a:{icon:"remove",action:"delete",style:"danger"},f:["Delete"]}]}],n:50,r:"data.admin_mode",p:[23,1,756]}]},e.exports=a.extend(r.exports)},{341:341}],394:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The requested interface (",{t:2,r:"config.interface",p:[2,34,45]},") was not found. Does it exist?"]}]}]},e.exports=a.extend(r.exports)},{341:341}],395:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,19],t:7,e:"ui-notice",f:["Currently syncing with the database"]}],n:50,r:"data.sync",p:[1,1,0]},{t:4,n:51,f:[{p:{button:[{p:[8,4,156],t:7,e:"ui-button",a:{icon:"eject",action:"eject_all"},f:["Eject all"]}," ",{p:[9,4,224],t:7,e:"ui-button",a:{icon:["toggle-",{t:2,x:{r:["data.show_materials"],s:'_0?"off":"on"'},p:[9,28,248]}],action:"toggle_materials_visibility"},f:[{t:2,x:{r:["data.show_materials"],s:'_0?"Hide":"Show"'},p:[10,5,330]}]}]},t:7,e:"ui-display",a:{title:"Materials",button:0},f:[" ",{t:4,f:[{p:[14,4,436],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[15,5,470],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[16,6,505],t:7,e:"section",a:{"class":"cell"}}," ",{p:[17,6,543],t:7,e:"section",a:{"class":"cell"},f:["Mineral"]}," ",{p:[20,6,601],t:7,e:"section",a:{"class":"cell"},f:["Amount"]}," ",{p:[23,6,658],t:7,e:"section",a:{"class":"cell"}}," ",{p:[24,6,696],t:7,e:"section",a:{"class":"cell"}}]}," ",{t:4,f:[{p:[27,6,782],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[28,7,818],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[29,8,848]}]}," ",{p:[31,7,880],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"amount",p:[32,8,910]}]}," ",{p:[34,7,944],t:7,e:"section",a:{"class":"cell"},f:[{p:[35,8,974],t:7,e:"ui-button",a:{icon:"eject"},f:["Release amount"]}]}," ",{p:[37,7,1048],t:7,e:"section",a:{"class":"cell",style:"width: 40px;"},f:[{p:[38,8,1099],t:7,e:"ui-button",a:{icon:"eject"},f:["Release all"]}]}]}],n:52,r:"data.all_materials",p:[26,5,748]}]}],n:50,r:"data.show_materials",p:[13,3,405]}]}," ",{p:[45,2,1230],t:7,e:"ui-display",a:{title:"Categories"},f:[{t:4,f:[{p:[47,4,1288],t:7,e:"ui-button",f:[{t:2,r:".",p:[47,15,1299]}]}],r:"data.categories",p:[46,3,1264]}]}],r:"data.sync"}]},e.exports=a.extend(r.exports)},{341:341}],396:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,5,47],t:7,e:"ui-button",a:{action:"toggle_power",style:[{t:2,x:{r:["data.toggle"],s:'_0?"selected":null'},p:[5,18,107]}]},f:["Turn ",{t:2,x:{r:["data.toggle"],s:'_0?"off":"on"'},p:[6,16,161]}]}]}," ",{p:[9,3,227],t:7,e:"ui-display",a:{title:"Logging"},f:[{t:4,f:[{p:[11,3,282],t:7,e:"ui-section",a:{label:">"},f:[{t:2,r:".",p:[11,25,304]},{p:[11,30,309],t:7,e:"ui-section",f:[]}]}],n:52,r:"data.logs",p:[10,5,260]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],397:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{seclevelState:function(){switch(this.get("data.seclevel")){case"blue":return"average";case"red":return"bad";case"delta":return"bad bold";default:return"good"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[16,1,308],t:7,e:"ui-display",f:[{p:[17,5,325],t:7,e:"ui-section",a:{label:"Alert Level"},f:[{p:[18,9,366],t:7,e:"span",a:{"class":[{t:2,r:"seclevelState",p:[18,22,379]}]},f:[{t:2,x:{r:["text","data.seclevel"],s:"_0.titleCase(_1)"},p:[18,41,398]}]}]}," ",{p:[20,5,461],t:7,e:"ui-section",a:{label:"Controls"},f:[{p:[21,9,499],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.alarm"],s:'_0?"close":"bell-o"'},p:[21,26,516]}],action:[{t:2,x:{r:["data.alarm"],s:'_0?"reset":"alarm"'},p:[21,71,561]}]},f:[{t:2,x:{r:["data.alarm"],s:'_0?"Reset":"Activate"'},p:[22,13,610]}]}]}," ",{t:4,f:[{p:[25,7,709],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[26,9,746],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[24,5,682]}]}]},e.exports=a.extend(r.exports)},{341:341}],398:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[2,1,30],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,2,58],t:7,e:"ui-button",a:{icon:"power-off",style:[{t:2,x:{r:["data.power"],s:'_0?"selected":"danger"'},p:[3,37,93]}],action:"power"},f:[{t:2,x:{r:["data.power"],s:'_0?"Enabled":"Disabled"'},p:[3,92,148]}]}]}," ",{p:[5,1,214],t:7,e:"ui-section",a:{label:"Tag"},f:[{p:[6,2,240],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:[{t:2,r:"data.tag",p:[6,43,281]}]}]}," ",{p:[8,1,320],t:7,e:"ui-section",a:{label:"Scanning mode"},f:[{p:[9,2,356],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.updating"],s:'_0?"unlock":"lock"'},p:[9,18,372]}],style:[{t:2,x:{r:["data.updating"],s:'_0?null:"danger"'},p:[9,63,417]}],action:"updating",tooltip:"Toggle between automatic scanning or scan only when a button is pressed.","tooltip-side":"right"},f:[{t:2,x:{r:["data.updating"],s:'_0?"AUTO":"MANUAL"'},p:[9,221,575]}]}]}," ",{p:[11,1,639],t:7,e:"ui-section",a:{label:"Detection range"},f:[{p:[12,2,677],t:7,e:"ui-button",a:{icon:"refresh",style:[{t:2,x:{r:["data.globalmode"],s:'_0?null:"selected"'},p:[12,35,710]}],action:"globalmode",tooltip:"Local sector or whole region scanning.","tooltip-side":"right"},f:[{t:2,x:{r:["data.globalmode"],s:'_0?"MAXIMUM":"LOCAL"'},p:[12,165,840]}]}]}]}," ",{t:4,f:[{p:[16,2,942],t:7,e:"ui-display",a:{title:"Current Location"},f:[{p:[17,3,982],t:7,e:"span",f:[{t:2,r:"data.current",p:[17,9,988]}]}]}," ",{p:[20,2,1029],t:7,e:"ui-display",a:{title:"Detected Signals"},f:[{t:4,f:[{p:[22,3,1093],t:7,e:"ui-section",a:{label:[{t:2,r:"entrytag",p:[22,21,1111]}]},f:[{p:[23,3,1127],t:7,e:"span",f:[{t:2,r:"area",p:[23,9,1133]}," (",{t:2,r:"coord",p:[23,19,1143]},")"]}," ",{t:4,f:[{p:[25,4,1185],t:7,e:"span",f:["Dist: ",{t:2,r:"dist",p:[25,16,1197]},"m Dir: ",{t:2,r:"degrees",p:[25,31,1212]},"° (",{t:2,r:"direction",p:[25,45,1226]},")"]}],n:50,r:"direction",p:[24,3,1164]}]}],n:52,r:"data.signals",p:[21,2,1068]}]}],n:50,r:"data.power",p:[15,1,922]}]},e.exports=a.extend(r.exports)},{341:341}],399:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Labor Camp Teleporter"},f:[{p:[2,2,44],t:7,e:"ui-section",a:{label:"Teleporter Status"},f:[{p:[3,3,85],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.teleporter"],s:'_0?"good":"bad"'},p:[3,16,98]}]},f:[{t:2,x:{r:["data.teleporter"],s:'_0?"Connected":"Not connected"'},p:[3,54,136]}]}]}," ",{t:4,f:[{p:[6,4,239],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[7,5,273],t:7,e:"span",f:[{t:2,r:"data.teleporter_location",p:[7,11,279]}]}]}," ",{p:[9,4,335],t:7,e:"ui-section",a:{label:"Locked status"},f:[{p:[10,5,374],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"lock":"unlock"'},p:[10,22,391]}],action:"teleporter_lock"},f:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"Locked":"Unlocked"'},p:[10,93,462]}]}," ",{p:[11,5,527],t:7,e:"ui-button",a:{action:"toggle_open"},f:[{t:2,x:{r:["data.teleporter_state_open"],s:'_0?"Open":"Closed"'},p:[11,37,559]}]}]}],n:50,r:"data.teleporter",p:[5,3,212]},{t:4,n:51,f:[{p:[14,4,653],t:7,e:"span",f:[{p:[14,10,659],t:7,e:"ui-button",a:{action:"scan_teleporter"},f:["Scan Teleporter"]}]}],r:"data.teleporter"}]}," ",{p:[17,1,754],t:7,e:"ui-display",a:{title:"Labor Camp Beacon"},f:[{p:[18,2,794],t:7,e:"ui-section",a:{label:"Beacon Status"},f:[{p:[19,3,831],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.beacon"],s:'_0?"good":"bad"'},p:[19,16,844]}]},f:[{t:2,x:{r:["data.beacon"],s:'_0?"Connected":"Not connected"'},p:[19,50,878]}]}]}," ",{t:4,f:[{p:[22,3,971],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[23,4,1004],t:7,e:"span",f:[{t:2,r:"data.beacon_location",p:[23,10,1010]}]}]}],n:50,r:"data.beacon",p:[21,2,949]},{t:4,n:51,f:[{p:[26,4,1072],t:7,e:"span",f:[{p:[26,10,1078],t:7,e:"ui-button",a:{action:"scan_beacon"},f:["Scan Beacon"]}]}],r:"data.beacon"}]}," ",{p:[29,1,1165],t:7,e:"ui-display",a:{title:"Prisoner details"},f:[{p:[30,2,1204],t:7,e:"ui-section",a:{label:"Prisoner ID"},f:[{p:[31,3,1239],t:7,e:"ui-button",a:{action:"handle_id"},f:[{t:2,x:{r:["data.id","data.id_name"],s:'_0?_1:"-------------"'},p:[31,33,1269]}]}]}," ",{t:4,f:[{p:[34,2,1359],t:7,e:"ui-section",a:{label:"Set ID goal"},f:[{p:[35,4,1395],t:7,e:"ui-button",a:{action:"set_goal"},f:[{t:2,r:"data.goal",p:[35,33,1424]}]}]}],n:50,r:"data.id",p:[33,2,1342]}," ",{p:[38,2,1475],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[39,3,1507],t:7,e:"span",f:[{t:2,x:{r:["data.prisoner.name"],s:'_0?_0:"No Occupant"'},p:[39,9,1513]}]}]}," ",{t:4,f:[{p:[42,3,1620],t:7,e:"ui-section",a:{label:"Criminal Status"},f:[{p:[43,4,1660],t:7,e:"span",f:[{t:2,r:"data.prisoner.crimstat",p:[43,10,1666]}]}]}],n:50,r:"data.prisoner",p:[41,2,1596]}]}," ",{p:[47,1,1739],t:7,e:"ui-display",f:[{p:[48,2,1753],t:7,e:"center",f:[{p:[48,10,1761],t:7,e:"ui-button",a:{action:"teleport",state:[{t:2,x:{r:["data.can_teleport"],s:'_0?null:"disabled"'},p:[48,45,1796]}]},f:["Process Prisoner"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],400:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Stored Items"},f:[{t:4,f:[{p:[3,3,59],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[3,22,78]}]},f:[{p:[4,4,93],t:7,e:"ui-button",a:{action:"release_items",params:['{"mobref":',{t:2,r:"mob",p:[4,56,145]},"}"],state:[{t:2,x:{r:["data.can_reclaim"],s:'_0?null:"disabled"'},p:[4,72,161]}]},f:["Drop Items"]}]}],n:52,r:"data.mobs",p:[2,2,36]}]}]},e.exports=a.extend(r.exports)},{341:341}],401:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,3,68],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.emagged"],s:'_0?"un":null'},p:[3,20,85]},"lock"],state:[{t:2,x:{r:["data.can_toggle_safety"],s:'_0?null:"disabled"'},p:[3,63,128]}],action:"safety"},f:["Safeties: ",{p:[4,14,206],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.emagged"],s:'_0?"bad":"good"'},p:[4,27,219]}]},f:[{t:2,x:{r:["data.emagged"],s:'_0?"OFF":"ON"'},p:[4,62,254]}]}]}]},t:7,e:"ui-display",a:{title:"Default Programs",button:0},f:[" ",{t:4,f:[{p:[8,2,356],t:7,e:"ui-button",a:{action:"load_program",params:['{"type": ',{t:2,r:"type",p:[8,52,406]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[8,70,424]}]},f:[{t:2,r:"name",p:[9,5,475]}," "]},{p:[10,14,497],t:7,e:"br"}],n:52,r:"data.default_programs",p:[7,2,323]}]}," ",{t:4,f:[{p:[14,2,549],t:7,e:"ui-display",a:{title:"Dangerous Programs"},f:[{t:4,f:[{p:[16,4,623],t:7,e:"ui-button",a:{icon:"warning",action:"load_program",params:['{"type": ',{t:2,r:"type",p:[16,69,688]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[16,87,706]}]},f:[{t:2,r:"name",p:[17,5,757]}," "]},{p:[18,16,781],t:7,e:"br"}],n:52,r:"data.emag_programs",p:[15,3,591]}]}],n:50,r:"data.emagged",p:[13,1,527]}]},e.exports=a.extend(r.exports)},{341:341}],402:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[15,1,266],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[16,3,298],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[17,3,330],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[17,9,336]}]}]}," ",{t:4,f:[{p:[20,5,447],t:7,e:"ui-section",a:{label:"State"},f:[{p:[21,7,480],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[21,20,493]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[21,43,516]}]}]}],n:50,r:"data.occupied",p:[19,3,421]}]}," ",{p:[25,1,656],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[26,2,687],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[27,5,717],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[27,22,734]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[27,71,783]}]}]}," ",{p:[29,3,846],t:7,e:"ui-section",a:{label:"Uses"},f:[{t:2,r:"data.ready_implants",p:[30,5,876]}," ",{t:4,f:[{p:[32,7,938],t:7,e:"span",a:{"class":"fa fa-cog fa-spin"}}],n:50,r:"data.replenishing",p:[31,5,906]}]}," ",{p:[35,3,1002],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[36,7,1038],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","data.ready_implants","data.ready"],s:'_0&&_1>0&&_2?null:"disabled"'},p:[36,25,1056]}],action:"implant"},f:[{t:2,x:{r:["data.ready","data.special_name"],s:'_0?(_1?_1:"Implant"):"Recharging"'},p:[37,9,1162]}," "]},{p:[38,19,1265],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],403:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[15,3,282],t:7,e:"ui-notice",f:[{p:[16,5,298],t:7,e:"span",f:["Wipe in progress!"]}]}],n:50,r:"data.wiping",p:[14,1,260]},{p:{button:[{t:4,f:[{p:[22,7,458],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.isDead"],s:'_0?"disabled":null'},p:[22,38,489]}],action:"wipe"},f:[{t:2,x:{r:["data.wiping"],s:'_0?"Stop Wiping":"Wipe"'},p:[22,89,540]}," AI"]}],n:50,r:"data.name",p:[21,5,434]}]},t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.name"],s:'_0||"Empty Card"'},p:[19,19,370]}],button:0},f:[" ",{t:4,f:[{p:[26,5,647],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[27,9,683],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"bad":"good"'},p:[27,22,696]}]},f:[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"Offline":"Operational"'},p:[27,76,750]}]}]}," ",{p:[29,5,843],t:7,e:"ui-section",a:{label:"Software Integrity"},f:[{p:[30,7,889],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[30,40,922]}],state:[{t:2,r:"healthState",p:[30,64,946]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[30,81,963]},"%"]}]}," ",{p:[32,5,1024],t:7,e:"ui-section",a:{label:"Laws"},f:[{t:4,f:[{p:[34,9,1084],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[34,33,1108]}]},{p:[34,45,1120],t:7,e:"br"}],n:52,r:"data.laws",p:[33,7,1056]}]}," ",{p:[37,5,1164],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[38,7,1200],t:7,e:"ui-button",a:{icon:"signal",style:[{t:2,x:{r:["data.wireless"],s:'_0?"selected":null'},p:[38,39,1232]}],action:"wireless"},f:["Wireless Activity"]}," ",{p:[39,7,1325],t:7,e:"ui-button",a:{icon:"microphone",style:[{t:2,x:{r:["data.radio"],s:'_0?"selected":null'},p:[39,43,1361]}],action:"radio"},f:["Subspace Radio"]}]}],n:50,r:"data.name",p:[25,3,625]}]}]},e.exports=a.extend(r.exports)},{341:341}],404:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,22],t:7,e:"ui-notice",f:[{p:[3,3,36],t:7,e:"span",f:["Waiting for another device to confirm your request..."]}]}],n:50,r:"data.waiting",p:[1,1,0]},{t:4,n:51,f:[{p:[6,2,127],t:7,e:"ui-display",f:[{p:[7,3,142],t:7,e:"ui-section",f:[{t:4,f:[{p:[9,5,189],t:7,e:"ui-button",a:{icon:"check",action:"auth_swipe"},f:["Authorize ",{t:2,r:"data.auth_required",p:[9,59,243]}]}],n:50,r:"data.auth_required",p:[8,4,158]},{t:4,n:51,f:[{p:[11,5,294],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.red_alert"],s:'_0?"disabled":null'},p:[11,38,327]}],action:"red_alert"},f:["Red Alert"]}," ",{p:[12,5,412],t:7,e:"ui-button",a:{icon:"wrench",state:[{t:2,x:{r:["data.emergency_maint"],s:'_0?"disabled":null'},p:[12,37,444]}],action:"emergency_maint"},f:["Emergency Maintenance Access"]}," ",{p:[13,5,560],t:7,e:"ui-button",a:{icon:"warning",state:"null",action:"bsa_unlock"},f:["Bluespace Artillery Unlock"]}],r:"data.auth_required"}]}]}],r:"data.waiting"}]},e.exports=a.extend(r.exports)},{341:341}],405:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Ore values"},f:[{t:4,f:[{p:[3,3,57],t:7,e:"ui-section",a:{label:[{t:2,r:"ore",p:[3,22,76]}]},f:[{p:[4,4,90],t:7,e:"span",f:[{t:2,r:"value",p:[4,10,96]}]}]}],n:52,r:"data.ores",p:[2,2,34]}]}," ",{p:[8,1,158],t:7,e:"ui-display",a:{title:"Points"},f:[{p:[9,2,188],t:7,e:"ui-section",a:{label:"Unclaimed points"},f:[{p:[10,3,229],t:7,e:"span",f:[{t:2,r:"data.unclaimed_points",p:[10,9,235]}]}," ",{p:[11,3,271],t:7,e:"ui-button",a:{action:"claim_points",state:[{t:2,x:{r:["data.unclaimed_points"],s:'_0?null:"disabled"'},p:[11,42,310]}]},f:["Claim points"]}]}]}," ",{p:[14,1,413],t:7,e:"ui-display",f:[{p:[15,2,428],t:7,e:"span",f:["Points: ",{t:2,r:"data.id_points",p:[15,16,442]}]}," ",{p:[16,2,470],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[17,3,501],t:7,e:"span",f:[{t:2,r:"data.status_info",p:[17,9,507]}]}," ",{p:[18,3,538],t:7,e:"ui-button",a:{action:"move_shuttle",state:[{t:2,x:{r:["data.can_go_home"],s:'_0?null:"disabled"'},p:[18,42,577]}]},f:["Move shuttle"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],406:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Known Languages"},f:[{t:4,f:[{p:[3,5,68],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[3,23,86]}]},f:[{p:[4,7,102],t:7,e:"span",f:[{t:2,r:"desc",p:[4,13,108]}]}," ",{p:[5,7,130],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[5,19,142]}]}," ",{t:4,f:[{p:[7,9,186],t:7,e:"span",f:["(gained from mob)"]}],n:50,r:"shadow",
-p:[6,7,163]}," ",{p:[9,7,237],t:7,e:"span",f:[{t:2,x:{r:["can_speak"],s:'_0?"Can Speak":"Cannot Speak"'},p:[9,13,243]}]}," ",{t:4,f:[{p:[11,9,332],t:7,e:"ui-button",a:{action:"select_default",params:['{"language_name":"',{t:2,r:"name",p:[13,37,413]},'"}'],style:[{t:2,x:{r:["is_default","can_speak"],s:'_0?"selected":_1?null:"disabled"'},p:[14,18,442]}]},f:[{t:2,x:{r:["is_default"],s:'_0?"Default Language":"Select as Default"'},p:[15,10,512]}]}],n:50,r:"data.is_living",p:[10,7,301]}," ",{t:4,f:[{t:4,f:[{p:[20,11,666],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[20,72,727]},'"}']},f:["Grant"]}],n:50,r:"shadow",p:[19,9,641]},{t:4,n:51,f:[{p:[22,11,784],t:7,e:"ui-button",a:{action:"remove_language",params:['{"language_name":"',{t:2,r:"name",p:[22,73,846]},'"}']},f:["Remove"]}],r:"shadow"}],n:50,r:"data.admin_mode",p:[18,7,609]}]}],n:52,r:"data.languages",p:[2,3,39]}]}," ",{t:4,f:[{t:4,f:[{p:[30,5,1004],t:7,e:"ui-button",a:{action:"toggle_omnitongue",style:[{t:2,x:{r:["data.omnitongue"],s:'_0?"selected":null'},p:[32,14,1061]}]},f:["Omnitongue ",{t:2,x:{r:["data.omnitongue"],s:'_0?"Enabled":"Disabled"'},p:[33,19,1120]}]}],n:50,r:"data.is_living",p:[29,3,977]}," ",{p:[36,3,1196],t:7,e:"ui-display",a:{title:"Unknown Languages"},f:[{t:4,f:[{p:[38,7,1278],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[38,25,1296]}]},f:[{p:[39,9,1314],t:7,e:"span",f:[{t:2,r:"desc",p:[39,15,1320]}]}," ",{p:[40,9,1344],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[40,21,1356]}]}," ",{p:[41,9,1379],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[43,37,1460]},'"}']},f:["Grant"]}]}],n:52,r:"data.unknown_languages",p:[37,5,1239]}]}],n:50,r:"data.admin_mode",p:[28,1,951]}]},e.exports=a.extend(r.exports)},{341:341}],407:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{t:4,f:[{t:4,f:[{p:[4,4,81],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[5,5,114],t:7,e:"span",f:["Launchpad closed."]}]}],n:50,r:"data.pad_closed",p:[3,3,54]},{t:4,n:51,f:[{p:[8,4,176],t:7,e:"ui-section",a:{label:"Launchpad"},f:[{p:[9,4,210],t:7,e:"span",f:[{p:[9,10,216],t:7,e:"b",f:[{t:2,r:"data.pad_name",p:[9,13,219]}]}]},{p:[9,41,247],t:7,e:"br"}," ",{p:[10,4,255],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:["Rename"]}," ",{p:[11,4,318],t:7,e:"ui-button",a:{icon:"remove",style:"danger",action:"remove"},f:["Remove"]}]}," ",{p:[14,4,414],t:7,e:"ui-section",a:{label:"Set Target"},f:[{p:[15,4,449],t:7,e:"table",f:[{p:[16,4,460],t:7,e:"tr",f:[{p:[17,5,469],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[17,38,502],t:7,e:"ui-button",a:{action:"up-left"},f:["↖"]}]}," ",{p:[18,5,553],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[18,57,605],t:7,e:"ui-button",a:{action:"up"},f:["↑"]}]}," ",{p:[19,5,651],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[19,56,702],t:7,e:"ui-button",a:{action:"up-right"},f:["↗"]}]}]}," ",{p:[21,4,762],t:7,e:"tr",f:[{p:[22,5,771],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[22,38,804],t:7,e:"ui-button",a:{action:"left",style:"width:35px!important"},f:["â†"]}]}," ",{p:[23,5,881],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[23,57,933],t:7,e:"ui-button",a:{action:"reset"},f:["R"]}]}," ",{p:[24,5,982],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[24,56,1033],t:7,e:"ui-button",a:{action:"right"},f:["→"]}]}]}," ",{p:[26,4,1090],t:7,e:"tr",f:[{p:[27,5,1099],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[27,38,1132],t:7,e:"ui-button",a:{action:"down-left"},f:["↙"]}]}," ",{p:[28,5,1185],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[28,57,1237],t:7,e:"ui-button",a:{action:"down"},f:["↓"]}]}," ",{p:[29,5,1285],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[29,56,1336],t:7,e:"ui-button",a:{action:"down-right"},f:["↘"]}]}]}]}]}," ",{p:[33,4,1427],t:7,e:"ui-section",a:{label:"Current Target"},f:[{p:[34,5,1467],t:7,e:"span",f:[{t:2,r:"data.abs_y",p:[34,11,1473]}," ",{t:2,r:"data.north_south",p:[34,26,1488]}]},{p:[34,53,1515],t:7,e:"br"}," ",{p:[35,5,1524],t:7,e:"span",f:[{t:2,r:"data.abs_x",p:[35,11,1530]}," ",{t:2,r:"data.east_west",p:[35,26,1545]}]}]}," ",{p:[37,4,1591],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[38,5,1625],t:7,e:"ui-button",a:{action:"launch",tooltip:"Teleport everything on the pad to the target.","tooltip-side":"down"},f:["Launch"]}," ",{p:[39,5,1751],t:7,e:"ui-button",a:{action:"pull",tooltip:"Teleport everything from the target to the pad.","tooltip-side":"down"},f:["Pull"]}]}],r:"data.pad_closed"}],n:50,r:"data.has_pad",p:[2,2,31]},{t:4,n:51,f:[{p:[45,3,1912],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[46,4,1944],t:7,e:"span",f:["No launchpad found. Link the remote to a launchpad."]}]}],r:"data.has_pad"}]}]},e.exports=a.extend(r.exports)},{341:341}],408:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{mechChargeState:function(t){var e=this.get("data.recharge_port.mech.cell.maxcharge");return t>=e/1.5?"good":t>=e/3?"average":"bad"},mechHealthState:function(t){var e=this.get("data.recharge_port.mech.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[20,1,526],t:7,e:"ui-display",a:{title:"Mech Status"},f:[{t:4,f:[{t:4,f:[{p:[23,4,624],t:7,e:"ui-section",a:{label:"Integrity"},f:[{p:[24,6,660],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,27,681]}],value:[{t:2,r:"adata.recharge_port.mech.health",p:[24,74,728]}],state:[{t:2,x:{r:["mechHealthState","adata.recharge_port.mech.health"],s:"_0(_1)"},p:[24,117,771]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.health"],s:"Math.round(_0)"},p:[24,171,825]},"/",{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,219,873]}]}]}," ",{t:4,f:[{t:4,f:[{p:[28,5,1034],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[28,31,1060],t:7,e:"span",a:{"class":"bad"},f:["Cell Critical Failure"]}]}],n:50,r:"data.recharge_port.mech.cell.critfail",p:[27,3,984]},{t:4,n:51,f:[{p:[30,11,1141],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,13,1180],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.cell.maxcharge",p:[31,34,1201]}],value:[{t:2,r:"adata.recharge_port.mech.cell.charge",p:[31,86,1253]}],state:[{t:2,x:{r:["mechChargeState","adata.recharge_port.mech.cell.charge"],s:"_0(_1)"},p:[31,134,1301]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.cell.charge"],s:"Math.round(_0)"},p:[31,193,1360]},"/",{t:2,x:{r:["adata.recharge_port.mech.cell.maxcharge"],s:"Math.round(_0)"},p:[31,246,1413]}]}]}],r:"data.recharge_port.mech.cell.critfail"}],n:50,r:"data.recharge_port.mech.cell",p:[26,4,945]},{t:4,n:51,f:[{p:[35,3,1524],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[35,29,1550],t:7,e:"span",a:{"class":"bad"},f:["Cell Missing"]}]}],r:"data.recharge_port.mech.cell"}],n:50,r:"data.recharge_port.mech",p:[22,2,589]},{t:4,n:51,f:[{p:[38,4,1625],t:7,e:"ui-section",f:["Mech Not Found"]}],r:"data.recharge_port.mech"}],n:50,r:"data.recharge_port",p:[21,3,561]},{t:4,n:51,f:[{p:[41,5,1689],t:7,e:"ui-section",f:["Recharging Port Not Found"]}," ",{p:[42,2,1741],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}],r:"data.recharge_port"}]}]},e.exports=a.extend(r.exports)},{341:341}],409:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,43],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,85],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,102]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,153]}]}]}],n:50,r:"data.siliconUser",p:[2,3,14]},{t:4,n:51,f:[{p:[7,5,241],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[7,31,267]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,349],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,379],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,458],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,475]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,519]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,567]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,410]},{t:4,n:51,f:[{p:[15,7,625],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,638]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,675]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,710]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,774],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,804],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,817]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,847]}]}]}," ",{p:[21,3,923],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,953],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,966]}]},f:[{t:2,r:"data.mode",p:[22,39,987]}]}]}," ",{p:[24,3,1026],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1056],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1069]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1105]}]}]}," ",{p:[27,3,1165],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1202],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1215]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1257]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1479],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1453]}," ",{t:4,f:[{p:[38,9,1586],t:7,e:"ui-button",a:{icon:"eject",action:"ejectpai"},f:["Eject PAI"]}],n:50,r:"data.haspai",p:[37,7,1558]}," ",{p:[40,7,1670],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[42,5,1750],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[43,7,1789],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[44,7,1869],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[45,7,1929],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[47,5,2001],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[48,7,2033],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[49,7,2096],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[51,5,2181],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[52,7,2217],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[52,24,2234]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[52,84,2294]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[54,7,2396],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[54,24,2413]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[54,84,2473]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[56,7,2577],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[56,24,2594]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[56,88,2658]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1343]}]},e.exports=a.extend(r.exports)},{341:341}],410:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Chamber Console"},f:[{p:[2,1,44],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{t:4,f:[{p:[4,2,101],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]},{p:[4,63,162],t:7,e:"br"}," ",{t:4,f:[{p:[6,3,195],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[6,36,228]}]}," ",{p:[7,3,262],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[7,35,294]}]}," ",{p:[8,3,328],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["data.disk.activated"],s:'_0?"Active":"Inactive"'},p:[8,41,366]}]}," ",{t:4,f:[{p:[10,4,468],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"data.disk.activation_delay",p:[10,41,505]}]}],n:50,r:"data.disk.activation_delay",p:[9,3,430]}," ",{t:4,f:[{p:[13,4,588],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"data.disk.timer",p:[13,30,614]}]}," ",{p:[14,4,650],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"data.disk.timer_type",p:[14,36,682]}]}],n:50,r:"data.disk.timer",p:[12,3,561]}," ",{t:4,f:[{p:[17,4,769],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"data.disk.activation_code",p:[17,40,805]}]}],n:50,r:"data.disk.activation_code",p:[16,3,732]}," ",{t:4,f:[{p:[20,4,899],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"data.disk.deactivation_code",p:[20,42,937]}]}],n:50,r:"data.disk.deactivation_code",p:[19,3,860]}," ",{t:4,f:[{p:[23,4,1025],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"data.disk.kill_code",p:[23,34,1055]}]}],n:50,r:"data.disk.kill_code",p:[22,3,994]}," ",{t:4,f:[{p:[26,4,1138],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"data.disk.trigger_code",p:[26,37,1171]}]}],n:50,r:"data.disk.trigger_code",p:[25,3,1104]}," ",{t:4,f:[{t:4,f:[{p:[30,6,1303],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[30,25,1322]}]},f:[{t:2,r:"value",p:[30,35,1332]}]}],n:52,r:"data.disk.extra_settings",p:[29,4,1263]}],n:50,r:"data.disk.has_extra_settings",p:[28,3,1223]}],n:50,r:"data.has_program",p:[5,2,168]},{t:4,n:51,f:[{p:[34,3,1390],t:7,e:"ui-notice",f:["No program detected."]}],r:"data.has_program"}],n:50,r:"data.has_disk",p:[3,1,78]},{t:4,n:51,f:[{p:[37,2,1453],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"}]}," ",{p:[40,1,1511],t:7,e:"br"}," ",{t:4,f:[{p:[42,2,1541],t:7,e:"ui-notice",f:[{t:2,r:"data.status_msg",p:[42,13,1552]}]}],n:50,r:"data.status_msg",p:[41,1,1516]},{t:4,n:51,f:[{p:[44,2,1594],t:7,e:"ui-display",a:{title:"Chamber"},f:[{p:[45,2,1624],t:7,e:"ui-section",f:[{p:[45,14,1636],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock-open":"lock"'},p:[45,30,1652]}],action:"toggle_lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[45,90,1712]}," Chamber"]},{p:[45,146,1768],t:7,e:"br"}]}," ",{p:[46,2,1787],t:7,e:"ui-section",f:[{p:[46,14,1799],t:7,e:"b",f:["Occupant:"]}," ",{t:2,r:"data.occupant_name",p:[46,31,1816]}]}," ",{t:4,f:[{p:[48,4,1882],t:7,e:"ui-section",f:[{p:[48,16,1894],t:7,e:"ui-notice",f:["No nanites detected."]}]}," ",{p:[49,4,1954],t:7,e:"ui-section",f:[{p:[49,16,1966],t:7,e:"ui-button",a:{icon:"syringe",action:"nanite_injection"},f:["Implant Nanites"]}]}],n:50,x:{r:["data.has_nanites"],s:"!_0"},p:[47,2,1853]},{t:4,n:51,f:[{p:[51,3,2071],t:7,e:"ui-display",a:{title:"Nanites"},f:[{t:4,f:[{p:[53,5,2129],t:7,e:"ui-button",a:{icon:"download",action:"add_program"},f:["Install Program From Disk"]},{p:[53,90,2214],t:7,e:"br"}," ",{p:[54,5,2223],t:7,e:"br"}],n:50,r:"data.has_disk",p:[52,4,2103]}," ",{p:[56,4,2242],t:7,e:"ui-section",f:[{p:[57,5,2259],t:7,e:"ui-section",a:{label:"Nanite Volume"},f:[{t:2,r:"data.nanite_volume",p:[57,39,2293]}]}," ",{p:[58,5,2333],t:7,e:"ui-section",a:{label:"Growth Rate"},f:[{t:2,r:"data.regen_rate",p:[58,37,2365]}]}," ",{p:[59,5,2402],t:7,e:"ui-section",a:{label:"Safety Threshold"},f:[{t:2,r:"data.safety_threshold",p:[59,42,2439]}," ",{p:[59,68,2465],t:7,e:"ui-button",a:{icon:"pencil",action:"set_safety"},f:["Set"]}]}," ",{p:[60,5,2544],t:7,e:"ui-section",a:{label:"Cloud ID"},f:[{t:2,x:{r:["data.cloud_id"],s:'_0?_0:"No Cloud"'},p:[60,34,2573]}," ",{p:[60,82,2621],t:7,e:"ui-button",a:{icon:"pencil",action:"set_cloud"},f:["Set"]}]}]}," ",{p:[62,4,2715],t:7,e:"ui-display",a:{title:"Programs"},f:[{t:4,f:[{p:[64,6,2782],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[64,25,2801]}],button:0},f:[{p:[65,6,2824],t:7,e:"ui-button",a:{icon:"minus",action:"remove_program",params:['{"program_id": "',{t:2,r:"id",p:[65,78,2896]},'"}']},f:["Uninstall"]}," ",{p:[66,6,2933],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"desc",p:[66,38,2965]}]}," ",{t:4,f:[{p:[68,7,3027],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["activated"],s:'_0?"Active":"Inactive"'},p:[68,45,3065]}]}," ",{p:[69,7,3123],t:7,e:"ui-section",a:{label:"Nanites Consumed"},f:[{t:2,r:"use_rate",p:[69,44,3160]},"/s"]}," ",{t:4,f:[{p:[71,8,3221],t:7,e:"ui-section",a:{label:"Trigger Cost"},f:[{t:2,r:"trigger_cost",p:[71,41,3254]}]}," ",{p:[72,8,3291],t:7,e:"ui-section",a:{label:"Trigger Cooldown"},f:[{t:2,r:"trigger_cooldown",p:[72,45,3328]}," seconds"]}],n:50,r:"can_trigger",p:[70,7,3194]}," ",{t:4,f:[{t:4,f:[{p:[76,9,3459],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"activation_delay",p:[76,46,3496]}]}],n:50,r:"activation_delay",p:[75,8,3426]}," ",{t:4,f:[{p:[79,9,3574],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"timer",p:[79,35,3600]}]}," ",{p:[80,9,3631],t:7,e:"ui-section",a:{label:"Timer Type"},f:[{t:2,r:"timer_type",p:[80,40,3662]}]}],n:50,r:"timer",p:[78,8,3552]}," ",{t:4,f:[{t:4,f:[{p:[84,11,3782],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[84,30,3801]}]},f:[{t:2,r:"value",p:[84,40,3811]}]}],n:52,r:"extra_settings",p:[83,9,3747]}],n:50,r:"has_extra_settings",p:[82,8,3712]}," ",{t:4,f:[{t:4,f:[{p:[89,10,3944],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"activation_code",p:[89,46,3980]}]}],n:50,r:"activation_code",p:[88,9,3911]}," ",{t:4,f:[{p:[92,10,4072],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"deactivation_code",p:[92,48,4110]}]}],n:50,r:"deactivation_code",p:[91,9,4037]}," ",{t:4,f:[{p:[95,10,4196],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"kill_code",p:[95,40,4226]}]}],n:50,r:"kill_code",p:[94,9,4169]}," ",{t:4,f:[{p:[98,10,4307],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"trigger_code",p:[98,43,4340]}]}],n:50,r:"trigger_code",p:[97,9,4277]}],n:50,x:{r:["data.scan_level"],s:"_0>=4"},p:[87,8,3874]}],n:50,x:{r:["data.scan_level"],s:"_0>=3"},p:[74,7,3390]}],n:50,x:{r:["data.scan_level"],s:"_0>=2"},p:[67,6,2992]}]}],n:52,r:"data.mob_programs",p:[63,5,2749]}]}]}],x:{r:["data.has_nanites"],s:"!_0"}}]}],r:"data.status_msg"}]}]},e.exports=a.extend(r.exports)},{341:341}],411:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Cloud Console"},f:[{p:[2,1,42],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{t:4,f:[{p:[4,3,101],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]},{p:[4,64,162],t:7,e:"br"}," ",{t:4,f:[{p:[6,4,197],t:7,e:"ui-section",f:[{p:[7,5,214],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[7,38,247]}]}," ",{p:[8,5,283],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[8,37,315]}]}," ",{p:[9,5,351],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["data.disk.activated"],s:'_0?"Active":"Inactive"'},p:[9,43,389]}]}," ",{t:4,f:[{p:[11,6,495],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"data.disk.activation_delay",p:[11,43,532]}]}],n:50,r:"data.disk.activation_delay",p:[10,5,455]}," ",{t:4,f:[{p:[14,6,621],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"data.disk.timer",p:[14,32,647]}]}," ",{p:[15,6,685],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"data.disk.timer_type",p:[15,38,717]}]}],n:50,r:"data.disk.timer",p:[13,5,592]}," ",{t:4,f:[{p:[18,6,810],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"data.disk.activation_code",p:[18,42,846]}]}],n:50,r:"data.disk.activation_code",p:[17,5,771]}," ",{t:4,f:[{p:[21,6,946],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"data.disk.deactivation_code",p:[21,44,984]}]}],n:50,r:"data.disk.deactivation_code",p:[20,5,905]}," ",{t:4,f:[{p:[24,6,1078],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"data.disk.kill_code",p:[24,36,1108]}]}],n:50,r:"data.disk.kill_code",p:[23,5,1045]}," ",{t:4,f:[{p:[27,6,1197],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"data.disk.trigger_code",p:[27,39,1230]}]}],n:50,r:"data.disk.trigger_code",p:[26,5,1161]}," ",{t:4,f:[{t:4,f:[{p:[31,8,1370],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[31,27,1389]}]},f:[{t:2,r:"value",p:[31,37,1399]}]}],n:52,r:"data.disk.extra_settings",p:[30,6,1328]}],n:50,r:"data.disk.has_extra_settings",p:[29,5,1286]}]}],n:50,r:"data.has_program",p:[5,3,169]},{t:4,n:51,f:[{p:[36,4,1480],t:7,e:"ui-notice",f:["No program detected."]}],r:"data.has_program"}],n:50,r:"data.has_disk",p:[3,2,77]},{t:4,n:51,f:[{p:[39,3,1546],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"}]}," ",{p:[42,1,1605],t:7,e:"ui-display",a:{title:"Cloud Storage"},f:[{t:4,f:[{p:[44,3,1670],t:7,e:"ui-button",a:{icon:"plus-circle",action:"create_backup"},f:["Create New Backup"]}," ",{p:[45,3,1755],t:7,e:"ui-display",a:{title:"Active Backups"},f:[{t:4,f:[{p:[47,5,1827],t:7,e:"ui-button",a:{action:"set_view",params:['{"view": "',{t:2,r:"cloud_id",p:[47,52,1874]},'"}']},f:["Backup #",{t:2,r:"cloud_id",p:[47,76,1898]}]}],n:52,r:"data.cloud_backups",p:[46,4,1794]}]}],n:50,x:{r:["data.current_view"],s:"!_0"},p:[43,2,1641]},{t:4,n:51,f:[{p:[51,3,1964],t:7,e:"ui-button",a:{icon:"undo",action:"set_view",params:'{"view": "0"}'},f:["Return"]}," ",{t:4,f:[{p:[53,4,2079],t:7,e:"ui-notice",f:["ERROR: Backup not found."]}],n:50,x:{r:["data.cloud_backup"],s:"!_0"},p:[52,3,2049]},{t:4,n:51,f:[{p:[55,4,2141],t:7,e:"ui-display",a:{title:["Backup #",{t:2,r:"data.current_view",p:[55,31,2168]}]},f:[{t:4,f:[{p:[57,6,2226],t:7,e:"ui-button",a:{icon:"upload",action:"upload_program",style:"selected"},f:["Upload Program From Disk"]},{p:[57,108,2328],t:7,e:"br"}],n:50,r:"data.has_program",p:[56,5,2196]}," ",{t:4,f:[{p:[60,6,2384],t:7,e:"hr"}," ",{p:[61,6,2394],t:7,e:"ui-section",f:[{p:[62,7,2413],t:7,e:"h3",f:[{t:2,r:"name",p:[62,11,2417]}]}," ",{p:[63,7,2437],t:7,e:"div",a:{style:"float:right"},f:[{p:[64,8,2470],t:7,e:"ui-button",a:{icon:"minus-circle",action:"remove_program",style:"danger",params:['{"program_id": "',{t:2,r:"id",p:[64,102,2564]},'"}']},f:["Uninstall"]}]}]}," ",{p:[67,6,2633],t:7,e:"ui-section",f:[{p:[68,7,2652],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"desc",p:[68,39,2684]}]}," ",{p:[69,7,2712],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["activated"],s:'_0?"Active":"Inactive"'},p:[69,45,2750]}]}," ",{p:[70,7,2808],t:7,e:"ui-section",a:{label:"Nanites Consumed"},f:[{t:2,r:"use_rate",p:[70,44,2845]},"/s"]}," ",{t:4,f:[{p:[72,8,2906],t:7,e:"ui-section",a:{label:"Trigger Cost"},f:[{t:2,r:"trigger_cost",p:[72,41,2939]},"/s"]}," ",{p:[73,8,2978],t:7,e:"ui-section",a:{label:"Trigger Cooldown"},f:[{t:2,r:"trigger_cooldown",p:[73,45,3015]},"/s"]}],n:50,r:"can_trigger",p:[71,7,2879]}," ",{t:4,f:[{p:[76,8,3103],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"activation_delay",p:[76,45,3140]}]}],n:50,r:"activation_delay",p:[75,7,3071]}," ",{t:4,f:[{p:[79,8,3215],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"timer",p:[79,34,3241]}]}," ",{p:[80,8,3271],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"timer_type",p:[80,40,3303]}]}],n:50,r:"timer",p:[78,7,3194]}," ",{t:4,f:[{p:[83,8,3382],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"activation_code",p:[83,44,3418]}]}],n:50,r:"activation_code",p:[82,7,3351]}," ",{t:4,f:[{p:[86,8,3504],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"deactivation_code",p:[86,46,3542]}]}],n:50,r:"deactivation_code",p:[85,7,3471]}," ",{t:4,f:[{p:[89,8,3622],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"kill_code",p:[89,38,3652]}]}],n:50,r:"kill_code",p:[88,7,3597]}," ",{t:4,f:[{p:[92,8,3727],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"trigger_code",p:[92,41,3760]}]}],n:50,r:"trigger_code",p:[91,7,3699]}," ",{t:4,f:[{t:4,f:[{p:[96,10,3878],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[96,29,3897]}]},f:[{t:2,r:"value",p:[96,39,3907]}]}],n:52,r:"extra_settings",p:[95,8,3844]}],n:50,r:"has_extra_settings",p:[94,7,3810]}]}],n:52,r:"data.cloud_programs",p:[59,5,2349]}]}],x:{r:["data.cloud_backup"],s:"!_0"}}],x:{r:["data.current_view"],s:"!_0"}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],412:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Program Hub"},f:[{t:4,f:[{p:[3,2,63],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{p:[4,3,99],t:7,e:"ui-section",f:[{p:[5,4,115],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]}," ",{p:[6,4,180],t:7,e:"ui-button",a:{icon:"minus-circle",action:"clear"},f:["Delete Program"]}]}," ",{t:4,f:[{p:[9,4,299],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[9,37,332]}]}," ",{p:[10,4,367],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[10,36,399]}]}],n:50,r:"data.has_program",p:[8,3,271]},{t:4,n:51,f:[{p:[12,4,445],t:7,e:"ui-notice",f:["No program installed."]}],r:"data.has_program"}]}],n:50,r:"data.has_disk",p:[2,1,40]},{t:4,n:51,f:[{p:[16,2,525],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"},{p:[18,1,569],t:7,e:"br"}," ",{p:[19,1,574],t:7,e:"ui-display",a:{title:"Programs"},f:[{p:[20,2,605],t:7,e:"ui-section",f:[{p:[21,3,620],t:7,e:"ui-button",a:{icon:"undo",action:"set_category",params:'{"category": "Main"}'},f:["Return"]}," ",{p:[22,3,716],t:7,e:"ui-button",a:{icon:"align-justify ",action:"toggle_details"},f:[{t:2,x:{r:["data.detail_view"],s:'_0?"Compact View":"Detailed View"'},p:[22,60,773]}]}]}," ",{t:4,f:[{p:[25,3,892],t:7,e:"ui-display",f:[{t:4,f:[{p:[27,5,938],t:7,e:"ui-section",f:[{p:[27,17,950],t:7,e:"ui-button",a:{action:"set_category",params:['{"category": "',{t:2,r:"name",p:[27,72,1005]},'"}']},f:[{t:2,r:"name",p:[27,84,1017]}]}]}],n:52,r:"data.categories",p:[26,4,908]}]}],n:50,x:{r:["data.category"],s:'_0=="Main"'},p:[24,2,858]},{t:4,n:51,f:[{p:[31,3,1092],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[31,22,1111]}]},f:[{t:4,f:[{t:4,f:[{p:[34,6,1196],t:7,e:"ui-display",f:[{p:[35,7,1215],t:7,e:"ui-section",f:[{p:[35,19,1227],t:7,e:"b",f:[{t:2,r:"name",p:[35,22,1230]}]}]}," ",{p:[36,7,1262],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[36,19,1274]}]}," ",{p:[37,7,1302],t:7,e:"ui-section",f:[{p:[38,8,1322],t:7,e:"ui-button",a:{icon:"download",action:"download",params:['{"program_id": "',{t:2,r:"id",p:[38,77,1391]},'"}'],state:[{t:2,x:{r:["data.has_disk"],s:'_0?null:"disabled"'},p:[38,94,1408]}]},f:["Download"]}]}]}],n:50,r:"data.detail_view",p:[33,5,1166]},{t:4,n:51,f:[{p:[44,6,1542],t:7,e:"ui-section",f:[{p:[44,18,1554],t:7,e:"ui-button",a:{action:"download",params:['{"program_id": "',{t:2,r:"id",p:[44,71,1607]},'"}']},f:[{t:2,r:"name",p:[44,81,1617]}]}]}],r:"data.detail_view"}],n:52,r:"data.program_list",p:[32,4,1134]}]}],x:{r:["data.category"],s:'_0=="Main"'}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],413:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Programming"},f:[{t:4,f:[{p:[3,3,65],t:7,e:"ui-notice",f:["Insert a nanite program disk."]}],n:50,x:{r:["data.has_disk"],s:"!_0"},p:[2,1,40]},{t:4,n:51,f:[{p:[5,3,129],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]}," ",{t:4,f:[{p:[7,5,223],t:7,e:"ui-notice",f:["No program detected."]}],n:50,x:{r:["data.has_program"],s:"!_0"},p:[6,3,193]},{t:4,n:51,f:[{p:[9,5,282],t:7,e:"ui-section",f:[{p:[10,7,301],t:7,e:"ui-display",a:{title:[{t:2,r:"data.name",p:[10,26,320]}]},f:[{t:2,r:"data.desc",p:[11,9,344]}]}]}," ",{p:[14,5,400],t:7,e:"ui-section",f:[{p:[15,7,419],t:7,e:"ui-section",a:{label:"Program Info"},f:["Nanites Consumed: ",{t:2,r:"data.use_rate",p:[16,26,478]},{p:[16,43,495],t:7,e:"br"}," ",{t:4,f:["Trigger Cost: ",{t:2,r:"data.trigger_cost",p:[18,25,557]},"u",{p:[18,47,579],t:7,e:"br"}],n:50,r:"data.can_trigger",p:[17,9,508]}]}," ",{p:[22,7,627],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[23,9,663],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.activated"],s:'_0?"toggle-on":"toggle-off"'},p:[24,17,690]}],action:"toggle_active"},f:[{t:2,x:{r:["data.activated"],s:'_0?"Active":"Inactive"'},p:[26,11,784]}]}]}," ",{p:[30,7,876],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[31,9,914],t:7,e:"ui-button",a:{icon:"pencil",action:"set_activation_delay"}}," Activation Delay: ",{t:2,r:"data.activation_delay",p:[31,95,1e3]}," ",{p:[31,121,1026],t:7,e:"br"}," ",{p:[32,9,1039],t:7,e:"ui-button",a:{icon:"pencil",action:"set_timer"}}," Timer: ",{t:2,r:"data.timer",p:[32,73,1103]}," ",{p:[32,88,1118],t:7,e:"br"}," ",{p:[33,9,1131],t:7,e:"ui-button",a:{icon:"pencil",action:"set_timer_type"}}," Timer Type: ",{t:2,r:"data.timer_type",p:[33,83,1205]}," ",{p:[33,103,1225],t:7,e:"br"}]}," ",{p:[36,7,1257],t:7,e:"ui-section",a:{label:"Codes"},f:[{p:[37,9,1292],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "activation"}'}}," Activation Code: ",{t:2,r:"data.activation_code",p:[37,121,1404]}," ",{p:[37,146,1429],t:7,e:"br"}," ",{p:[38,9,1442],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "deactivation"}'}}," Deactivation Code: ",{t:2,r:"data.deactivation_code",p:[38,125,1558]}," ",{p:[38,152,1585],t:7,e:"br"}," ",{p:[39,9,1598],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "kill"}'}}," Kill Code: ",{t:2,r:"data.kill_code",p:[39,109,1698]}," ",{p:[39,128,1717],t:7,e:"br"}," ",{t:4,f:[{p:[41,11,1765],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "trigger"}'}}," Trigger Code: ",{t:2,r:"data.trigger_code",p:[41,117,1871]}," ",{p:[41,139,1893],t:7,e:"br"}],n:50,r:"data.can_trigger",p:[40,9,1730]}]}," ",{t:4,f:[{p:[46,9,1981],t:7,e:"ui-section",a:{label:"Special"},f:[{t:4,f:[{p:[48,13,2062],t:7,e:"ui-button",a:{icon:"pencil",action:"set_extra_setting",params:['{"target_setting": "',{t:2,r:"name",p:[48,93,2142]},'"}']}}," ",{t:2,r:"name",p:[48,118,2167]},": ",{t:2,r:"value",p:[48,128,2177]}," ",{p:[48,138,2187],t:7,e:"br"}],n:52,r:"data.extra_settings",p:[47,11,2020]}]}],n:50,r:"data.has_extra_settings",p:[45,7,1941]}]}],x:{r:["data.has_program"],s:"!_0"}}],x:{r:["data.has_disk"],s:"!_0"}}]}]},e.exports=a.extend(r.exports)},{341:341}],414:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Control"},f:[{t:4,f:[{p:[3,3,58],t:7,e:"ui-notice",f:["The interface is locked."]}],n:50,r:"data.locked",p:[2,1,36]},{t:4,n:51,f:[{p:[5,3,117],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock Interface"]}," ",{p:[6,3,183],t:7,e:"ui-button",a:{icon:"save",action:"save"},f:["Save Current Setting"]}," ",{p:[7,3,255],t:7,e:"ui-section",a:{label:"Signal Code"},f:[{p:[8,5,292],t:7,e:"span",f:[{t:2,r:"data.code",p:[8,11,298]}]}," ",{p:[9,4,322],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code"},f:["Set"]}]}," ",{t:4,f:[{p:[12,5,432],t:7,e:"ui-section",a:{label:"Relay Code"},f:[{p:[13,7,470],t:7,e:"span",f:[{t:2,r:"data.relay_code",p:[13,13,476]}]}," ",{p:[14,5,507],t:7,e:"ui-button",a:{icon:"pencil",action:"set_relay_code"},f:["Set"]}]}],n:50,x:{r:["data.mode"],s:'_0=="Relay"'},p:[11,3,399]}," ",{p:[17,3,602],t:7,e:"ui-section",a:{label:"Signal Mode"},f:[{p:[18,5,639],t:7,e:"span",f:[{t:2,r:"data.mode",p:[18,11,645]}]}," ",{p:[19,5,670],t:7,e:"br"}," ",{p:[20,4,678],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Off"}'},f:["Off"]}," ",{p:[21,5,755],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Local"}'},f:["Local"]}," ",{p:[22,5,836],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Targeted"}'},f:["Targeted"]}," ",{p:[23,5,923],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Area"}'},f:["Area"]}," ",{p:[24,5,1002],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Relay"}'},f:["Relay"]}]}],r:"data.locked"}]}," ",{p:[28,1,1117],t:7,e:"ui-display",a:{title:"Saved Settings"},f:[{t:4,f:[{p:[30,3,1186],t:7,e:"ui-button",a:{icon:"load",action:"load",params:['{"save_id": "',{t:2,r:"id",p:[30,61,1244]},'"}']},f:[{t:2,r:"name",p:[30,71,1254]}]}," ",{t:4,f:[{p:[32,4,1301],t:7,e:"ui-button",
-a:{icon:"remove",action:"remove_save",params:['{"save_id": "',{t:2,r:"id",p:[32,71,1368]},'"}']},f:["Remove"]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[31,3,1277]}," ",{p:[34,3,1409],t:7,e:"br"}],n:52,r:"data.saved_settings",p:[29,2,1154]}]}]},e.exports=a.extend(r.exports)},{341:341}],415:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Ghost roles"},f:[{p:[2,2,34],t:7,e:"ui-section",a:{label:"Ignored roles"},f:[{t:4,f:[{p:[4,4,96],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["enabled"],s:'_0?"check-square-o":"square-o"'},p:[4,21,113]}],style:[{t:2,x:{r:["enabled"],s:'_0?"danger":null'},p:[4,73,165]}],action:"toggle_ignore",params:['{"key": "',{t:2,r:"key",p:[4,144,236]},'"}']},f:[{t:2,r:"desc",p:[4,155,247]}]}],n:52,r:"data.ignore",p:[3,3,71]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],416:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Relay"},f:[{t:4,f:[{p:[3,3,55],t:7,e:"h2",f:["NETWORK BUFFERS OVERLOADED"]}," ",{p:[4,3,93],t:7,e:"h3",f:["Overload Recovery Mode"]}," ",{p:[5,3,127],t:7,e:"i",f:["This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."]}," ",{p:[6,3,479],t:7,e:"h3",f:["ADMINISTRATIVE OVERRIDE"]}," ",{p:[7,3,514],t:7,e:"b",f:["CAUTION - Data loss may occur"]}," ",{p:[8,3,555],t:7,e:"ui-button",a:{icon:"signal",action:"restart"},f:["Purge buffered traffic"]}],n:50,r:"data.dos_crashed",p:[2,2,28]},{t:4,n:51,f:[{p:[12,3,652],t:7,e:"ui-section",a:{label:"Relay status"},f:[{p:[13,4,689],t:7,e:"ui-button",a:{icon:"power-off",action:"toggle"},f:[{t:2,x:{r:["data.enabled"],s:'_0?"ENABLED":"DISABLED"'},p:[14,6,739]}]}]}," ",{p:[18,3,819],t:7,e:"ui-section",a:{label:"Network buffer status"},f:[{t:2,r:"data.dos_overload",p:[19,4,865]}," / ",{t:2,r:"data.dos_capacity",p:[19,28,889]}," GQ"]}],r:"data.dos_crashed"}]}]},e.exports=a.extend(r.exports)},{341:341}],417:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,306],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[18,3,346],t:7,e:"ui-notice",f:[{p:[19,5,362],t:7,e:"span",f:["Reconstruction in progress!"]}]}],n:50,r:"data.restoring",p:[17,1,321]},{p:[24,1,428],t:7,e:"ui-display",f:[{p:[26,1,442],t:7,e:"div",a:{"class":"item"},f:[{p:[27,3,463],t:7,e:"div",a:{"class":"itemLabel"},f:["Inserted AI:"]}," ",{p:[30,3,512],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[31,2,539],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",state:[{t:2,x:{r:["data.nocard"],s:'_0?"disabled":null'},p:[31,52,589]}]},f:[{t:2,x:{r:["data.name"],s:'_0?_0:"---"'},p:[31,89,626]}]}]}]}," ",{t:4,f:[{p:[36,2,709],t:7,e:"b",f:["ERROR: ",{t:2,r:"data.error",p:[36,12,719]}]}],n:50,r:"data.error",p:[35,1,689]},{t:4,n:51,f:[{p:[38,2,748],t:7,e:"h2",f:["System Status"]}," ",{p:[39,2,772],t:7,e:"div",a:{"class":"item"},f:[{p:[40,3,793],t:7,e:"div",a:{"class":"itemLabel"},f:["Current AI:"]}," ",{p:[43,3,843],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.name",p:[44,4,872]}]}," ",{p:[46,3,897],t:7,e:"div",a:{"class":"itemLabel"},f:["Status:"]}," ",{p:[49,3,943],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["Nonfunctional"],n:50,r:"data.isDead",p:[50,4,972]},{t:4,n:51,f:["Functional"],r:"data.isDead"}]}," ",{p:[56,3,1059],t:7,e:"div",a:{"class":"itemLabel"},f:["System Integrity:"]}," ",{p:[59,3,1115],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[60,4,1144],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[60,37,1177]}],state:[{t:2,r:"healthState",p:[61,11,1204]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[61,28,1221]},"%"]}]}," ",{p:[63,3,1274],t:7,e:"div",a:{"class":"itemLabel"},f:["Active Laws:"]}," ",{p:[66,3,1325],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[67,4,1354],t:7,e:"table",f:[{t:4,f:[{p:[69,6,1394],t:7,e:"tr",f:[{p:[69,10,1398],t:7,e:"td",f:[{p:[69,14,1402],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[69,38,1426]}]}]}]}],n:52,r:"data.ai_laws",p:[68,5,1366]}]}]}," ",{p:[73,2,1475],t:7,e:"ui-section",a:{label:"Operations"},f:[{p:[74,3,1509],t:7,e:"ui-button",a:{icon:"plus",style:[{t:2,x:{r:["data.restoring"],s:'_0?"disabled":null'},p:[74,33,1539]}],action:"PRG_beginReconstruction"},f:["Begin Reconstruction"]}]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],418:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,1,87],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"home",params:'{"target" : "mod"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==1?"disabled":null'},p:[5,80,166]}]},f:["Access Modification"]}],n:50,r:"data.have_id_slot",p:[4,1,61]},{p:[7,1,247],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manage"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==2?"disabled":null'},p:[7,90,336]}]},f:["Job Management"]}," ",{p:[8,1,404],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manifest"}',state:[{t:2,x:{r:["data.mmode"],s:'!_0?"disabled":null'},p:[8,92,495]}]},f:["Crew Manifest"]}," ",{t:4,f:[{p:[10,1,584],t:7,e:"ui-button",a:{action:"PRG_print",icon:"print",state:[{t:2,x:{r:["data.has_id","data.mmode"],s:'!_1||_0&&_1==1?null:"disabled"'},p:[10,51,634]}]},f:["Print"]}],n:50,r:"data.have_printer",p:[9,1,558]},{t:4,f:[{p:[14,1,753],t:7,e:"div",a:{"class":"item"},f:[{p:[15,3,774],t:7,e:"h2",f:["Crew Manifest"]}," ",{p:[16,3,799],t:7,e:"br"},"Please use security record computer to modify entries.",{p:[16,61,857],t:7,e:"br"},{p:[16,65,861],t:7,e:"br"}]}," ",{t:4,f:[{p:[19,2,898],t:7,e:"div",a:{"class":"item"},f:[{t:2,r:"name",p:[20,2,918]}," - ",{t:2,r:"rank",p:[20,13,929]}]}],n:52,r:"data.manifest",p:[18,1,873]}],n:50,x:{r:["data.mmode"],s:"!_0"},p:[13,1,733]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.mmode"],s:"_0==2"},f:[{p:[25,1,984],t:7,e:"div",a:{"class":"item"},f:[{p:[26,3,1005],t:7,e:"h2",f:["Job Management"]}]}," ",{p:[28,1,1036],t:7,e:"table",f:[{p:[29,1,1044],t:7,e:"tr",f:[{p:[29,5,1048],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,27,1070],t:7,e:"b",f:["Job"]}]},{p:[29,42,1085],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,64,1107],t:7,e:"b",f:["Slots"]}]},{p:[29,81,1124],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,103,1146],t:7,e:"b",f:["Open job"]}]},{p:[29,123,1166],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,145,1188],t:7,e:"b",f:["Close job"]}]}]}," ",{t:4,f:[{p:[32,2,1238],t:7,e:"tr",f:[{p:[32,6,1242],t:7,e:"td",f:[{t:2,r:"title",p:[32,10,1246]}]},{p:[32,24,1260],t:7,e:"td",f:[{t:2,r:"current",p:[32,28,1264]},"/",{t:2,r:"total",p:[32,40,1276]}]},{p:[32,54,1290],t:7,e:"td",f:[{p:[32,58,1294],t:7,e:"ui-button",a:{action:"PRG_open_job",params:['{"target" : "',{t:2,r:"title",p:[32,112,1348]},'"}'],state:[{t:2,x:{r:["status_open"],s:'_0?null:"disabled"'},p:[32,132,1368]}]},f:[{t:2,r:"desc_open",p:[32,169,1405]}]},{p:[32,194,1430],t:7,e:"br"}]},{p:[32,203,1439],t:7,e:"td",f:[{p:[32,207,1443],t:7,e:"ui-button",a:{action:"PRG_close_job",params:['{"target" : "',{t:2,r:"title",p:[32,262,1498]},'"}'],state:[{t:2,x:{r:["status_close"],s:'_0?null:"disabled"'},p:[32,282,1518]}]},f:[{t:2,r:"desc_close",p:[32,320,1556]}]}]}]}],n:52,r:"data.slots",p:[30,1,1215]}]}]},{t:4,n:50,x:{r:["data.mmode"],s:"!(_0==2)"},f:[" ",{p:[40,1,1626],t:7,e:"div",a:{"class":"item"},f:[{p:[41,3,1647],t:7,e:"h2",f:["Access Modification"]}]}," ",{t:4,f:[{p:[45,3,1707],t:7,e:"span",a:{"class":"alert"},f:[{p:[45,23,1727],t:7,e:"i",f:["Please insert the ID into the terminal to proceed."]}]},{p:[45,87,1791],t:7,e:"br"}],n:50,x:{r:["data.has_id"],s:"!_0"},p:[44,1,1684]},{p:[48,1,1805],t:7,e:"div",a:{"class":"item"},f:[{p:[49,3,1826],t:7,e:"div",a:{"class":"itemLabel"},f:["Target Identity:"]}," ",{p:[52,3,1879],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[53,2,1906],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "id"}'},f:[{t:2,r:"data.id_name",p:[53,72,1976]}]}]}]}," ",{p:[56,1,2021],t:7,e:"div",a:{"class":"item"},f:[{p:[57,3,2042],t:7,e:"div",a:{"class":"itemLabel"},f:["Auth Identity:"]}," ",{p:[60,3,2093],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[61,2,2120],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "auth"}'},f:[{t:2,r:"data.auth_name",p:[61,74,2192]}]}]}]}," ",{p:[64,1,2239],t:7,e:"hr"}," ",{t:4,f:[{t:4,f:[{p:[68,2,2295],t:7,e:"div",a:{"class":"item"},f:[{p:[69,4,2317],t:7,e:"h2",f:["Details"]}]}," ",{t:4,f:[{p:[73,2,2364],t:7,e:"div",a:{"class":"item"},f:[{p:[74,4,2386],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[77,4,2442],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_owner",p:[78,3,2470]}]}]}," ",{p:[81,2,2507],t:7,e:"div",a:{"class":"item"},f:[{p:[82,4,2529],t:7,e:"div",a:{"class":"itemLabel"},f:["Rank:"]}," ",{p:[85,4,2574],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_rank",p:[86,3,2602]}]}]}," ",{p:[89,2,2638],t:7,e:"div",a:{"class":"item"},f:[{p:[90,4,2660],t:7,e:"div",a:{"class":"itemLabel"},f:["Demote:"]}," ",{p:[93,4,2707],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[94,3,2735],t:7,e:"ui-button",a:{action:"PRG_terminate",icon:"gear",state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Unassigned"?"disabled":null'},p:[94,56,2788]}]},f:["Demote ",{t:2,r:"data.id_owner",p:[94,117,2849]}]}]}]}],n:50,r:"data.minor",p:[72,2,2344]},{t:4,n:51,f:[{p:[99,2,2909],t:7,e:"div",a:{"class":"item"},f:[{p:[100,4,2931],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[103,4,2987],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[104,3,3015],t:7,e:"ui-button",a:{action:"PRG_edit",icon:"pencil",params:'{"name" : "1"}'},f:[{t:2,r:"data.id_owner",p:[104,70,3082]}]}]}]}," ",{p:[108,2,3132],t:7,e:"div",a:{"class":"item"},f:[{p:[109,4,3154],t:7,e:"h2",f:["Assignment"]}]}," ",{p:[111,3,3184],t:7,e:"ui-button",a:{action:"PRG_togglea",icon:"gear"},f:[{t:2,x:{r:["data.assignments"],s:'_0?"Hide assignments":"Show assignments"'},p:[111,47,3228]}]}," ",{p:[112,2,3304],t:7,e:"div",a:{"class":"item"},f:[{p:[113,4,3326],t:7,e:"span",a:{id:"allvalue.jobsslot"},f:[]}]}," ",{p:[117,2,3379],t:7,e:"div",a:{"class":"item"},f:[{t:4,f:[{p:[119,4,3429],t:7,e:"div",a:{id:"all-value.jobs"},f:[{p:[120,3,3457],t:7,e:"table",f:[{p:[121,5,3469],t:7,e:"tr",f:[{p:[122,4,3477],t:7,e:"th",f:["Command"]}," ",{p:[123,4,3497],t:7,e:"td",f:[{p:[124,6,3507],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Captain"}',state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Captain"?"selected":null'},p:[124,83,3584]}]},f:["Captain"]}]}]}," ",{p:[127,5,3678],t:7,e:"tr",f:[{p:[128,4,3686],t:7,e:"th",f:["Special"]}," ",{p:[129,4,3706],t:7,e:"td",f:[{p:[130,6,3716],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Custom"}'},f:["Custom"]}]}]}," ",{p:[133,5,3827],t:7,e:"tr",f:[{p:[134,4,3835],t:7,e:"th",a:{style:"color: '#FFA500';"},f:["Engineering"]}," ",{p:[135,4,3885],t:7,e:"td",f:[{t:4,f:[{p:[137,5,3931],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[137,64,3990]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[137,82,4008]}]},f:[{t:2,r:"display_name",p:[137,127,4053]}]}],n:52,r:"data.engineering_jobs",p:[136,6,3895]}]}]}," ",{p:[141,5,4120],t:7,e:"tr",f:[{p:[142,4,4128],t:7,e:"th",a:{style:"color: '#008000';"},f:["Medical"]}," ",{p:[143,4,4174],t:7,e:"td",f:[{t:4,f:[{p:[145,5,4216],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[145,64,4275]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[145,82,4293]}]},f:[{t:2,r:"display_name",p:[145,127,4338]}]}],n:52,r:"data.medical_jobs",p:[144,6,4184]}]}]}," ",{p:[149,5,4405],t:7,e:"tr",f:[{p:[150,4,4413],t:7,e:"th",a:{style:"color: '#800080';"},f:["Science"]}," ",{p:[151,4,4459],t:7,e:"td",f:[{t:4,f:[{p:[153,5,4501],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[153,64,4560]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[153,82,4578]}]},f:[{t:2,r:"display_name",p:[153,127,4623]}]}],n:52,r:"data.science_jobs",p:[152,6,4469]}]}]}," ",{p:[157,5,4690],t:7,e:"tr",f:[{p:[158,4,4698],t:7,e:"th",a:{style:"color: '#DD0000';"},f:["Security"]}," ",{p:[159,4,4745],t:7,e:"td",f:[{t:4,f:[{p:[161,5,4788],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[161,64,4847]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[161,82,4865]}]},f:[{t:2,r:"display_name",p:[161,127,4910]}]}],n:52,r:"data.security_jobs",p:[160,6,4755]}]}]}," ",{p:[165,5,4977],t:7,e:"tr",f:[{p:[166,4,4985],t:7,e:"th",a:{style:"color: '#cc6600';"},f:["Cargo"]}," ",{p:[167,4,5029],t:7,e:"td",f:[{t:4,f:[{p:[169,5,5069],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[169,64,5128]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[169,82,5146]}]},f:[{t:2,r:"display_name",p:[169,127,5191]}]}],n:52,r:"data.cargo_jobs",p:[168,6,5039]}]}]}," ",{p:[173,5,5258],t:7,e:"tr",f:[{p:[174,4,5266],t:7,e:"th",a:{style:"color: '#808080';"},f:["Civilian"]}," ",{p:[175,4,5313],t:7,e:"td",f:[{t:4,f:[{p:[177,5,5356],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[177,64,5415]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[177,82,5433]}]},f:[{t:2,r:"display_name",p:[177,127,5478]}]}],n:52,r:"data.civilian_jobs",p:[176,6,5323]}]}]}," ",{t:4,f:[{p:[182,4,5576],t:7,e:"tr",f:[{p:[183,6,5586],t:7,e:"th",a:{style:"color: '#A52A2A';"},f:["CentCom"]}," ",{p:[184,6,5634],t:7,e:"td",f:[{t:4,f:[{p:[186,7,5677],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[186,66,5736]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[186,84,5754]}]},f:[{t:2,r:"display_name",p:[186,129,5799]}]}],n:52,r:"data.centcom_jobs",p:[185,5,5643]}]}]}],n:50,r:"data.centcom_access",p:[181,5,5545]}]}]}],n:50,r:"data.assignments",p:[118,4,3401]}]}],r:"data.minor"}," ",{t:4,f:[{p:[198,4,5956],t:7,e:"div",a:{"class":"item"},f:[{p:[199,3,5977],t:7,e:"h2",f:["Central Command"]}]}," ",{p:[201,4,6015],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[203,5,6094],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[204,5,6128],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[204,64,6187]},'", "allowed" : "',{t:2,r:"allowed",p:[204,87,6210]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[204,109,6232]}]},f:[{t:2,r:"desc",p:[204,140,6263]}]}]}],n:52,r:"data.all_centcom_access",p:[202,3,6056]}]}],n:50,r:"data.centcom_access",p:[197,2,5925]},{t:4,n:51,f:[{p:[209,4,6330],t:7,e:"div",a:{"class":"item"},f:[{p:[210,3,6351],t:7,e:"h2",f:[{t:2,r:"data.station_name",p:[210,7,6355]}]}]}," ",{p:[212,4,6395],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[214,5,6463],t:7,e:"div",a:{style:"float: left; width: 175px; min-height: 250px"},f:[{p:[215,4,6525],t:7,e:"div",a:{"class":"average"},f:[{p:[215,25,6546],t:7,e:"ui-button",a:{action:"PRG_regsel",state:[{t:2,x:{r:["selected"],s:'_0?"toggle":null'},p:[215,63,6584]}],params:['{"region" : "',{t:2,r:"regid",p:[215,116,6637]},'"}']},f:[{p:[215,129,6650],t:7,e:"b",f:[{t:2,r:"name",p:[215,132,6653]}]}]}]}," ",{p:[216,4,6687],t:7,e:"br"}," ",{t:4,f:[{p:[218,6,6721],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[219,5,6755],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[219,64,6814]},'", "allowed" : "',{t:2,r:"allowed",p:[219,87,6837]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[219,109,6859]}]},f:[{t:2,r:"desc",p:[219,140,6890]}]}]}],n:52,r:"accesses",p:[217,6,6697]}]}],n:52,r:"data.regions",p:[213,3,6436]}]}],r:"data.centcom_access"}],n:50,r:"data.has_id",p:[67,3,2274]}],n:50,r:"data.authenticated",p:[66,1,2245]}]}],x:{r:["data.mmode"],s:"!_0"}}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],419:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargeState:function(t){var e=this.get("data.battery.max");return t>e/2?"good":t>e/4?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,297],t:7,e:"ntosheader"}," ",{p:[17,1,312],t:7,e:"ui-display",f:[{p:[18,2,326],t:7,e:"i",f:["Welcome to computer configuration utility. Please consult your system administrator if you have any questions about your device."]},{p:[18,137,461],t:7,e:"hr"}," ",{p:[19,2,467],t:7,e:"ui-display",a:{title:"Power Supply"},f:[{p:[20,3,503],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"data.power_usage",p:[21,4,539]},"W"]}," ",{t:4,f:[{p:[25,4,606],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Active"]}," ",{p:[28,4,674],t:7,e:"ui-section",a:{label:"Battery Rating"},f:[{t:2,r:"data.battery.max",p:[29,5,714]}]}," ",{p:[31,4,755],t:7,e:"ui-section",a:{label:"Battery Charge"},f:[{p:[32,5,795],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.battery.max",p:[32,26,816]}],value:[{t:2,r:"adata.battery.charge",p:[32,56,846]}],state:[{t:2,x:{r:["chargeState","adata.battery.charge"],s:"_0(_1)"},p:[32,89,879]}]},f:[{t:2,x:{r:["adata.battery.charge"],s:"Math.round(_0)"},p:[32,128,918]},"/",{t:2,r:"adata.battery.max",p:[32,165,955]}]}]}],n:50,r:"data.battery",p:[24,3,582]},{t:4,n:51,f:[{p:[35,4,1017],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Not Available"]}],r:"data.battery"}]}," ",{p:[41,2,1116],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,3,1151],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,4,1189],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,25,1210]}],value:[{t:2,r:"adata.disk_used",p:[43,53,1238]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,87,1272]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,123,1308]},"GQ"]}]}]}," ",{p:[47,2,1373],t:7,e:"ui-display",a:{title:"Computer Components"},f:[{t:4,f:[{p:[49,4,1443],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[49,26,1465]}]},f:[{p:[50,5,1480],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"desc",p:[50,59,1534]}]}," ",{p:[52,5,1554],t:7,e:"ui-section",a:{label:"State"},f:[{p:[53,6,1586],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["critical"],s:'_0?"disabled":null'},p:[53,24,1604]}],action:"PC_toggle_component",params:['{"name": "',{t:2,r:"name",p:[53,105,1685]},'"}']},f:[{t:2,x:{r:["enabled"],s:'_0?"Enabled":"Disabled"'},p:[54,7,1704]}]}]}," ",{t:4,f:[{p:[59,6,1810],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"powerusage",p:[60,7,1849]},"W"]}],n:50,r:"powerusage",p:[58,5,1786]}]}," ",{p:[64,4,1922],t:7,e:"br"}],n:52,r:"data.hardware",p:[48,3,1416]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],420:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,3,97],t:7,e:"h2",f:["An error has occurred and this program can not continue."]}," Additional information: ",{t:2,r:"data.error",p:[8,27,189]},{p:[8,41,203],t:7,e:"br"}," ",{p:[9,3,210],t:7,e:"i",f:["Please try again. If the problem persists contact your system administrator for assistance."]}," ",{p:[10,3,311],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["Restart program"]}],n:50,r:"data.error",p:[6,2,76]},{t:4,n:51,f:[{t:4,f:[{p:[13,4,410],t:7,e:"h2",f:["Viewing file ",{t:2,r:"data.filename",p:[13,21,427]}]}," ",{p:[14,4,453],t:7,e:"div",a:{"class":"item"},f:[{p:[15,4,475],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["CLOSE"]}," ",{p:[16,4,530],t:7,e:"ui-button",a:{action:"PRG_edit"},f:["EDIT"]}," ",{p:[17,4,579],t:7,e:"ui-button",a:{action:"PRG_printfile"},f:["PRINT"]}," "]},{p:[18,10,640],t:7,e:"hr"}," ",{t:3,r:"data.filedata",p:[19,4,648]}],n:50,r:"data.filename",p:[12,3,385]},{t:4,n:51,f:[{p:[21,4,682],t:7,e:"h2",f:["Available files (local):"]}," ",{p:[22,4,719],t:7,e:"table",f:[{p:[23,5,731],t:7,e:"tr",f:[{p:[24,6,741],t:7,e:"th",f:["File name"]}," ",{p:[25,6,765],t:7,e:"th",f:["File type"]}," ",{p:[26,6,789],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[27,6,818],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[30,6,878],t:7,e:"tr",f:[{p:[31,7,889],t:7,e:"td",f:[{t:2,r:"name",p:[31,11,893]}]}," ",{p:[32,7,913],t:7,e:"td",f:[".",{t:2,r:"type",p:[32,12,918]}]}," ",{p:[33,7,938],t:7,e:"td",f:[{t:2,r:"size",p:[33,11,942]},"GQ"]}," ",{p:[34,7,964],t:7,e:"td",f:[{p:[35,8,976],t:7,e:"ui-button",a:{action:"PRG_openfile",params:['{"name": "',{t:2,r:"name",p:[35,59,1027]},'"}']},f:["VIEW"]}," ",{p:[36,8,1063],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[36,26,1081]}],action:"PRG_deletefile",params:['{"name": "',{t:2,r:"name",p:[36,105,1160]},'"}']},f:["DELETE"]}," ",{p:[37,8,1198],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[37,26,1216]}],action:"PRG_rename",params:['{"name": "',{t:2,r:"name",p:[37,101,1291]},'"}']},f:["RENAME"]}," ",{p:[38,8,1329],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[38,26,1347]}],action:"PRG_clone",params:['{"name": "',{t:2,r:"name",p:[38,100,1421]},'"}']},f:["CLONE"]}," ",{t:4,f:[{p:[40,9,1492],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[40,27,1510]}],action:"PRG_copytousb",params:['{"name": "',{t:2,r:"name",p:[40,105,1588]},'"}']},f:["EXPORT"]}],n:50,r:"data.usbconnected",p:[39,8,1458]}]}]}],n:52,r:"data.files",p:[29,5,852]}]}," ",{t:4,f:[{p:[47,4,1715],t:7,e:"h2",f:["Available files (portable device):"]}," ",{p:[48,4,1762],t:7,e:"table",f:[{p:[49,5,1774],t:7,e:"tr",f:[{p:[50,6,1784],t:7,e:"th",f:["File name"]}," ",{p:[51,6,1808],t:7,e:"th",f:["File type"]}," ",{p:[52,6,1832],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[53,6,1861],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[56,6,1924],t:7,e:"tr",f:[{p:[57,7,1935],t:7,e:"td",f:[{t:2,r:"name",p:[57,11,1939]}]}," ",{p:[58,7,1959],t:7,e:"td",f:[".",{t:2,r:"type",p:[58,12,1964]}]}," ",{p:[59,7,1984],t:7,e:"td",f:[{t:2,r:"size",p:[59,11,1988]},"GQ"]}," ",{p:[60,7,2010],t:7,e:"td",f:[{p:[61,8,2022],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[61,26,2040]}],action:"PRG_usbdeletefile",params:['{"name": "',{t:2,r:"name",p:[61,108,2122]},'"}']},f:["DELETE"]}," ",{t:4,f:[{p:[63,9,2194],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[63,27,2212]}],action:"PRG_copyfromusb",params:['{"name": "',{t:2,r:"name",p:[63,107,2292]},'"}']},f:["IMPORT"]}],n:50,r:"data.usbconnected",p:[62,8,2160]}]}]}],n:52,r:"data.usbfiles",p:[55,5,1895]}]}],n:50,r:"data.usbconnected",p:[46,4,1686]}," ",{p:[70,4,2401],t:7,e:"ui-button",a:{action:"PRG_newtextfile"},f:["NEW DATA FILE"]}],r:"data.filename"}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],421:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"i",f:["No program loaded. Please select program from list below."]}," ",{p:[6,2,141],t:7,e:"table",f:[{t:4,f:[{p:[8,4,178],t:7,e:"tr",f:[{p:[8,8,182],t:7,e:"td",f:[{p:[8,12,186],t:7,e:"ui-button",a:{action:"PC_runprogram",params:['{"name": "',{t:2,r:"name",p:[8,64,238]},'"}']},f:[{t:2,r:"desc",p:[9,5,255]}]}]},{p:[11,4,283],t:7,e:"td",f:[{p:[11,8,287],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["running"],s:'_0?null:"disabled"'},p:[11,26,305]}],icon:"close",action:"PC_killprogram",params:['{"name": "',{t:2,r:"name",p:[11,114,393]},'"}']}}]}]}],n:52,r:"data.programs",p:[7,3,151]}]}," ",{p:[14,2,441],t:7,e:"br"},{p:[14,6,445],t:7,e:"br"}," ",{t:4,f:[{p:[16,3,476],t:7,e:"ui-button",a:{action:"PC_toggle_light",style:[{t:2,x:{r:["data.light_on"],s:'_0?"selected":null'},p:[16,46,519]}]},f:["Toggle Flashlight"]},{p:[16,114,587],t:7,e:"br"}," ",{p:[17,3,594],t:7,e:"ui-button",a:{action:"PC_light_color"},f:["Change Flashlight Color ",{p:[17,62,653],t:7,e:"span",a:{style:["border:1px solid #161616; background-color: ",{t:2,r:"data.comp_light_color",p:[17,119,710]},";"]},f:["Â Â Â "]}]}],n:50,r:"data.has_light",p:[15,2,451]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],422:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[6,3,100],t:7,e:"h1",f:["ADMINISTRATIVE MODE"]}],n:50,r:"data.adminmode",p:[5,2,75]}," ",{t:4,f:[{p:[10,3,161],t:7,e:"div",a:{"class":"itemLabel"},f:["Current channel:"]}," ",{p:[13,3,217],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.title",p:[14,4,246]}]}," ",{p:[16,3,272],t:7,e:"div",a:{"class":"itemLabel"},f:["Operator access:"]}," ",{p:[19,3,328],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:[{p:[21,5,386],t:7,e:"b",f:["Enabled"]}],n:50,r:"data.is_operator",p:[20,4,357]},{t:4,n:51,f:[{p:[23,5,417],t:7,e:"b",f:["Disabled"]}],r:"data.is_operator"}]}," ",{p:[26,3,455],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[29,3,504],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[30,4,533],t:7,e:"table",f:[{p:[31,5,545],t:7,e:"tr",f:[{p:[31,9,549],t:7,e:"td",f:[{p:[31,13,553],t:7,e:"ui-button",a:{action:"PRG_speak"},f:["Send message"]}]}]},{p:[32,5,612],t:7,e:"tr",f:[{p:[32,9,616],t:7,e:"td",f:[{p:[32,13,620],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[33,5,687],t:7,e:"tr",f:[{p:[33,9,691],t:7,e:"td",f:[{p:[33,13,695],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]},{p:[34,5,774],t:7,e:"tr",f:[{p:[34,9,778],t:7,e:"td",f:[{p:[34,13,782],t:7,e:"ui-button",a:{action:"PRG_leavechannel"},f:["Leave channel"]}]}]},{p:[35,5,849],t:7,e:"tr",f:[{p:[35,9,853],t:7,e:"td",f:[{p:[35,13,857],t:7,e:"ui-button",a:{action:"PRG_savelog"},f:["Save log to local drive"]}," ",{t:4,f:[{p:[37,6,959],t:7,e:"tr",f:[{p:[37,10,963],t:7,e:"td",f:[{p:[37,14,967],t:7,e:"ui-button",a:{action:"PRG_renamechannel"},f:["Rename channel"]}]}]},{p:[38,6,1037],t:7,e:"tr",f:[{p:[38,10,1041],t:7,e:"td",f:[{p:[38,14,1045],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}]}]},{p:[39,6,1111],t:7,e:"tr",f:[{p:[39,10,1115],t:7,e:"td",f:[{p:[39,14,1119],t:7,e:"ui-button",a:{action:"PRG_deletechannel"},f:["Delete channel"]}]}]}],n:50,r:"data.is_operator",p:[36,5,929]}]}]}]}]}," ",{p:[43,3,1221],t:7,e:"b",f:["Chat Window"]}," ",{p:[44,4,1243],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[45,4,1298],t:7,e:"div",a:{"class":"item"},f:[{p:[46,5,1321],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"msg",p:[48,7,1403]},{p:[48,14,1410],t:7,e:"br"}],n:52,r:"data.messages",p:[47,6,1373]}]}]}]}," ",{p:[53,3,1464],t:7,e:"b",f:["Connected Users"]},{p:[53,25,1486],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"name",p:[55,4,1519]},{p:[55,12,1527],t:7,e:"br"}],n:52,r:"data.clients",p:[54,3,1493]}],n:50,r:"data.title",p:[9,2,140]},{t:4,n:51,f:[{p:[58,3,1556],t:7,e:"b",f:["Controls:"]}," ",{p:[59,3,1575],t:7,e:"table",f:[{p:[60,4,1586],t:7,e:"tr",f:[{p:[60,8,1590],t:7,e:"td",f:[{p:[60,12,1594],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[61,4,1660],t:7,e:"tr",f:[{p:[61,8,1664],t:7,e:"td",f:[{p:[61,12,1668],t:7,e:"ui-button",a:{action:"PRG_newchannel"},f:["New Channel"]}]}]},{p:[62,4,1730],t:7,e:"tr",f:[{p:[62,8,1734],t:7,e:"td",f:[{p:[62,12,1738],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]}]}," ",{p:[64,3,1826],t:7,e:"b",f:["Available channels:"]}," ",{p:[65,3,1855],t:7,e:"table",f:[{t:4,f:[{p:[67,4,1898],t:7,e:"tr",f:[{p:[67,8,1902],t:7,e:"td",f:[{p:[67,12,1906],t:7,e:"ui-button",a:{action:"PRG_joinchannel",params:['{"id": "',{t:2,r:"id",p:[67,64,1958]},'"}']},f:[{t:2,r:"chan",p:[67,74,1968]}]},{p:[67,94,1988],t:7,e:"br"}]}]}],n:52,r:"data.all_channels",p:[66,3,1865]}]}],r:"data.title"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],423:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:["##SYSTEM ERROR: ",{t:2,r:"data.error",p:[6,19,112]},{p:[6,33,126],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["RESET"]}],n:50,r:"data.error",p:[5,2,75]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.target"],s:"_0"},f:["##DoS traffic generator active. Tx: ",{t:2,r:"data.speed",p:[8,39,236]},"GQ/s",{p:[8,57,254],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"nums",p:[10,4,291]},{p:[10,12,299],t:7,e:"br"}],n:52,r:"data.dos_strings",p:[9,3,261]}," ",{p:[12,3,318],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["ABORT"]}]},{t:4,n:50,x:{r:["data.target"],s:"!(_0)"},f:[" ##DoS traffic generator ready. Select target device.",{p:[14,55,430],t:7,e:"br"}," ",{t:4,f:["Targeted device ID: ",{t:2,r:"data.focus",p:[16,24,479]}],n:50,r:"data.focus",p:[15,3,437]},{t:4,n:51,f:["Targeted device ID: None"],r:"data.focus"}," ",{p:[20,3,545],t:7,e:"ui-button",a:{action:"PRG_execute"},f:["EXECUTE"]},{p:[20,54,596],t:7,e:"div",a:{style:"clear:both"}}," Detected devices on network:",{p:[21,31,657],t:7,e:"br"}," ",{t:4,f:[{p:[23,4,689],t:7,e:"ui-button",a:{action:"PRG_target_relay",params:['{"targid": "',{t:2,r:"id",p:[23,61,746]},'"}']},f:[{t:2,r:"id",p:[23,71,756]}]}],n:52,r:"data.relays",p:[22,3,664]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],424:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"i",f:["Welcome to software download utility. Please select which software you wish to download."]},{p:[5,97,170],t:7,e:"hr"}," ",{t:4,f:[{p:[7,3,197],t:7,e:"ui-display",a:{title:"Download Error"},f:[{p:[8,4,236],t:7,e:"ui-section",a:{label:"Information"},f:[{t:2,r:"data.error",p:[9,5,273]}]}," ",{p:[11,4,308],t:7,e:"ui-section",a:{label:"Reset Program"},f:[{p:[12,5,347],t:7,e:"ui-button",a:{icon:"times",action:"PRG_reseterror"},f:["RESET"]}]}]}],n:50,r:"data.error",p:[6,2,176]},{t:4,n:51,f:[{t:4,f:[{p:[19,4,498],t:7,e:"ui-display",a:{title:"Download Running"},f:[{p:[20,5,540],t:7,e:"i",f:["Please wait..."]}," ",{p:[21,5,566],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"data.downloadname",p:[22,6,602]}]}," ",{p:[24,5,646],t:7,e:"ui-section",a:{label:"File description"},f:[{t:2,r:"data.downloaddesc",p:[25,6,689]}]}," ",{p:[27,5,733],t:7,e:"ui-section",a:{label:"File size"},f:[{t:2,r:"data.downloadsize",p:[28,6,769]},"GQ"]}," ",{p:[30,5,815],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{t:2,r:"data.downloadspeed",p:[31,6,855]}," GQ/s"]}," ",{p:[33,5,905],t:7,e:"ui-section",a:{label:"Download progress"},f:[{p:[34,6,949],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.downloadsize",p:[34,27,970]}],value:[{t:2,r:"adata.downloadcompletion",p:[34,58,1001]}],state:"good"},f:[{t:2,x:{r:["adata.downloadcompletion"],
-s:"Math.round(_0)"},p:[34,101,1044]},"GQ / ",{t:2,r:"adata.downloadsize",p:[34,146,1089]},"GQ"]}]}]}],n:50,r:"data.downloadname",p:[18,3,469]}],r:"data.error"}," ",{t:4,f:[{t:4,f:[{p:[41,4,1230],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,5,1267],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,6,1307],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,27,1328]}],value:[{t:2,r:"adata.disk_used",p:[43,55,1356]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,89,1390]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,125,1426]},"GQ"]}]}]}," ",{p:[47,4,1499],t:7,e:"ui-display",a:{title:"Primary Software Repository"},f:[{t:4,f:[{p:[49,6,1594],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[49,28,1616]}]},f:[{p:[50,7,1637],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[50,61,1691]}]}," ",{p:[52,7,1723],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[53,8,1761]}," (",{t:2,r:"size",p:[53,22,1775]}," GQ)"]}," ",{p:[55,7,1814],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[56,8,1856]}]}," ",{p:[58,7,1900],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[58,80,1973]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[62,6,2052],t:7,e:"br"}],n:52,r:"data.downloadable_programs",p:[48,5,1552]}]}," ",{t:4,f:[{p:[67,5,2128],t:7,e:"ui-display",a:{title:"UNKNOWN Software Repository"},f:[{p:[68,6,2182],t:7,e:"i",f:["Please note that Nanotrasen does not recommend download of software from non-official servers."]}," ",{t:4,f:[{p:[70,7,2326],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[70,29,2348]}]},f:[{p:[71,8,2370],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[71,62,2424]}]}," ",{p:[73,8,2458],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[74,9,2497]}," (",{t:2,r:"size",p:[74,23,2511]}," GQ)"]}," ",{p:[76,8,2552],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[77,9,2595]}]}," ",{p:[79,8,2641],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[79,81,2714]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[83,7,2797],t:7,e:"br"}],n:52,r:"data.hacked_programs",p:[69,6,2289]}]}],n:50,r:"data.hackedavailable",p:[66,4,2095]}],n:50,x:{r:["data.error"],s:"!_0"},p:[40,3,1207]}],n:50,x:{r:["data.downloadname"],s:"!_0"},p:[39,2,1178]}," ",{p:[89,2,2866],t:7,e:"br"},{p:[89,6,2870],t:7,e:"br"},{p:[89,10,2874],t:7,e:"hr"},{p:[89,14,2878],t:7,e:"i",f:["NTOS v2.0.4b Copyright Nanotrasen 2557 - 2559"]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],425:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[6,2,76],t:7,e:"ui-display",a:{title:"WIRELESS CONNECTIVITY"},f:[{p:[8,3,122],t:7,e:"ui-section",a:{label:"Active NTNetRelays"},f:[{p:[9,4,165],t:7,e:"b",f:[{t:2,r:"data.ntnetrelays",p:[9,7,168]}]}]}," ",{t:4,f:[{p:[12,4,239],t:7,e:"ui-section",a:{label:"System status"},f:[{p:[13,6,279],t:7,e:"b",f:[{t:2,x:{r:["data.ntnetstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[13,9,282]}]}]}," ",{p:[15,4,352],t:7,e:"ui-section",a:{label:"Control"},f:[{p:[17,4,385],t:7,e:"ui-button",a:{icon:"plus",action:"toggleWireless"},f:["TOGGLE"]}]}," ",{p:[21,4,480],t:7,e:"br"},{p:[21,8,484],t:7,e:"br"}," ",{p:[22,4,492],t:7,e:"i",f:["Caution - Disabling wireless transmitters when using wireless device may prevent you from re-enabling them again!"]}],n:50,r:"data.ntnetrelays",p:[11,3,211]},{t:4,n:51,f:[{p:[24,4,627],t:7,e:"br"},{p:[24,8,631],t:7,e:"p",f:["Wireless coverage unavailable, no relays are connected."]}],r:"data.ntnetrelays"}]}," ",{p:[29,2,722],t:7,e:"ui-display",a:{title:"FIREWALL CONFIGURATION"},f:[{p:[31,2,768],t:7,e:"table",f:[{p:[32,3,778],t:7,e:"tr",f:[{p:[33,4,786],t:7,e:"th",f:["PROTOCOL"]},{p:[34,4,802],t:7,e:"th",f:["STATUS"]},{p:[35,4,816],t:7,e:"th",f:["CONTROL"]}]},{p:[36,3,830],t:7,e:"tr",f:[" ",{p:[37,4,838],t:7,e:"td",f:["Software Downloads"]},{p:[38,4,864],t:7,e:"td",f:[{t:2,x:{r:["data.config_softwaredownload"],s:'_0?"ENABLED":"DISABLED"'},p:[38,8,868]}]},{p:[39,4,929],t:7,e:"td",f:[" ",{p:[39,9,934],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "1"}'},f:["TOGGLE"]}]}]},{p:[40,3,1012],t:7,e:"tr",f:[" ",{p:[41,4,1020],t:7,e:"td",f:["Peer to Peer Traffic"]},{p:[42,4,1048],t:7,e:"td",f:[{t:2,x:{r:["data.config_peertopeer"],s:'_0?"ENABLED":"DISABLED"'},p:[42,8,1052]}]},{p:[43,4,1107],t:7,e:"td",f:[{p:[43,8,1111],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "2"}'},f:["TOGGLE"]}]}]},{p:[44,3,1189],t:7,e:"tr",f:[" ",{p:[45,4,1197],t:7,e:"td",f:["Communication Systems"]},{p:[46,4,1226],t:7,e:"td",f:[{t:2,x:{r:["data.config_communication"],s:'_0?"ENABLED":"DISABLED"'},p:[46,8,1230]}]},{p:[47,4,1288],t:7,e:"td",f:[{p:[47,8,1292],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "3"}'},f:["TOGGLE"]}]}]},{p:[48,3,1370],t:7,e:"tr",f:[" ",{p:[49,4,1378],t:7,e:"td",f:["Remote System Control"]},{p:[50,4,1407],t:7,e:"td",f:[{t:2,x:{r:["data.config_systemcontrol"],s:'_0?"ENABLED":"DISABLED"'},p:[50,8,1411]}]},{p:[51,4,1469],t:7,e:"td",f:[{p:[51,8,1473],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "4"}'},f:["TOGGLE"]}]}]}]}]}," ",{p:[55,2,1576],t:7,e:"ui-display",a:{title:"SECURITY SYSTEMS"},f:[{t:4,f:[{p:[58,4,1642],t:7,e:"ui-notice",f:[{p:[59,5,1658],t:7,e:"h1",f:["NETWORK INCURSION DETECTED"]}]}," ",{p:[61,5,1714],t:7,e:"i",f:["An abnormal activity has been detected in the network. Please verify system logs for more information"]}],n:50,r:"data.idsalarm",p:[57,3,1617]}," ",{p:[64,3,1839],t:7,e:"ui-section",a:{label:"Intrusion Detection System"},f:[{p:[65,4,1890],t:7,e:"b",f:[{t:2,x:{r:["data.idsstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[65,7,1893]}]}]}," ",{p:[68,3,1962],t:7,e:"ui-section",a:{label:"Maximal Log Count"},f:[{p:[69,4,2004],t:7,e:"b",f:[{t:2,r:"data.ntnetmaxlogs",p:[69,7,2007]}]}]}," ",{p:[72,3,2054],t:7,e:"ui-section",a:{label:"Controls"},f:[]}," ",{p:[74,4,2103],t:7,e:"table",f:[{p:[75,4,2114],t:7,e:"tr",f:[{p:[75,8,2118],t:7,e:"td",f:[{p:[75,12,2122],t:7,e:"ui-button",a:{action:"resetIDS"},f:["RESET IDS"]}]}]},{p:[76,4,2176],t:7,e:"tr",f:[{p:[76,8,2180],t:7,e:"td",f:[{p:[76,12,2184],t:7,e:"ui-button",a:{action:"toggleIDS"},f:["TOGGLE IDS"]}]}]},{p:[77,4,2240],t:7,e:"tr",f:[{p:[77,8,2244],t:7,e:"td",f:[{p:[77,12,2248],t:7,e:"ui-button",a:{action:"updatemaxlogs"},f:["SET LOG LIMIT"]}]}]},{p:[78,4,2311],t:7,e:"tr",f:[{p:[78,8,2315],t:7,e:"td",f:[{p:[78,12,2319],t:7,e:"ui-button",a:{action:"purgelogs"},f:["PURGE LOGS"]}]}]}]}," ",{p:[81,3,2387],t:7,e:"ui-subdisplay",a:{title:"System Logs"},f:[{p:[82,3,2425],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[83,3,2479],t:7,e:"div",a:{"class":"item"},f:[{p:[84,4,2501],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"entry",p:[86,6,2582]},{p:[86,15,2591],t:7,e:"br"}],n:52,r:"data.ntnetlogs",p:[85,5,2552]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],426:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,2,96],t:7,e:"div",a:{"class":"item"},f:[{p:[8,3,117],t:7,e:"h2",f:["An error has occurred during operation..."]}," ",{p:[9,3,170],t:7,e:"b",f:["Additional information:"]},{t:2,r:"data.error",p:[9,34,201]},{p:[9,48,215],t:7,e:"br"}," ",{p:[10,3,222],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Clear"]}]}],n:50,r:"data.error",p:[6,2,76]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.downloading"],s:"_0"},f:[{p:[13,3,309],t:7,e:"h2",f:["Download in progress..."]}," ",{p:[14,3,344],t:7,e:"div",a:{"class":"itemLabel"},f:["Downloaded file:"]}," ",{p:[17,3,400],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_name",p:[18,4,429]}]}," ",{p:[20,3,464],t:7,e:"div",a:{"class":"itemLabel"},f:["Download progress:"]}," ",{p:[23,3,522],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_progress",p:[24,4,551]}," / ",{t:2,r:"data.download_size",p:[24,33,580]}," GQ"]}," ",{p:[26,3,617],t:7,e:"div",a:{"class":"itemLabel"},f:["Transfer speed:"]}," ",{p:[29,3,672],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_netspeed",p:[30,4,701]},"GQ/s"]}," ",{p:[32,3,743],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[35,3,792],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[36,4,821],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Abort download"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading"],s:"(!(_0))&&(_1)"},f:[" ",{p:[39,3,916],t:7,e:"h2",f:["Server enabled"]}," ",{p:[40,3,942],t:7,e:"div",a:{"class":"itemLabel"},f:["Connected clients:"]}," ",{p:[43,3,1e3],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_clients",p:[44,4,1029]}]}," ",{p:[46,3,1064],t:7,e:"div",a:{"class":"itemLabel"},f:["Provided file:"]}," ",{p:[49,3,1118],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_filename",p:[50,4,1147]}]}," ",{p:[52,3,1183],t:7,e:"div",a:{"class":"itemLabel"},f:["Server password:"]}," ",{p:[55,3,1239],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ENABLED"],n:50,r:"data.upload_haspassword",p:[56,4,1268]},{t:4,n:51,f:["DISABLED"],r:"data.upload_haspassword"}]}," ",{p:[62,3,1359],t:7,e:"div",a:{"class":"itemLabel"},f:["Commands:"]}," ",{p:[65,3,1408],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[66,4,1437],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[67,4,1501],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Exit server"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(_2))"},f:[" ",{p:[70,3,1599],t:7,e:"h2",f:["File transfer server ready. Select file to upload:"]}," ",{p:[71,3,1662],t:7,e:"table",f:[{p:[72,3,1672],t:7,e:"tr",f:[{p:[72,7,1676],t:7,e:"th",f:["File name"]},{p:[72,20,1689],t:7,e:"th",f:["File size"]},{p:[72,33,1702],t:7,e:"th",f:["Controls ",{t:4,f:[{p:[74,4,1751],t:7,e:"tr",f:[{p:[74,8,1755],t:7,e:"td",f:[{t:2,r:"filename",p:[74,12,1759]}]},{p:[75,4,1775],t:7,e:"td",f:[{t:2,r:"size",p:[75,8,1779]},"GQ"]},{p:[76,4,1793],t:7,e:"td",f:[{p:[76,8,1797],t:7,e:"ui-button",a:{action:"PRG_uploadfile",params:['{"id": "',{t:2,r:"uid",p:[76,59,1848]},'"}']},f:["Select"]}]}]}],n:52,r:"data.upload_filelist",p:[73,3,1717]}]}]}]}," ",{p:[79,3,1903],t:7,e:"hr"}," ",{p:[80,3,1910],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[81,3,1973],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Return"]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(!(_2)))"},f:[" ",{p:[83,3,2034],t:7,e:"h2",f:["Available files:"]}," ",{p:[84,3,2062],t:7,e:"table",a:{border:"1",style:"border-collapse: collapse"},f:[{p:[84,55,2114],t:7,e:"tr",f:[{p:[84,59,2118],t:7,e:"th",f:["Server UID"]},{p:[84,73,2132],t:7,e:"th",f:["File Name"]},{p:[84,86,2145],t:7,e:"th",f:["File Size"]},{p:[84,99,2158],t:7,e:"th",f:["Password Protection"]},{p:[84,122,2181],t:7,e:"th",f:["Operations ",{t:4,f:[{p:[86,5,2226],t:7,e:"tr",f:[{p:[86,9,2230],t:7,e:"td",f:[{t:2,r:"uid",p:[86,13,2234]}]},{p:[87,5,2246],t:7,e:"td",f:[{t:2,r:"filename",p:[87,9,2250]}]},{p:[88,5,2267],t:7,e:"td",f:[{t:2,r:"size",p:[88,9,2271]},"GQ ",{t:4,f:[{p:[90,6,2311],t:7,e:"td",f:["Enabled"]}],n:50,r:"haspassword",p:[89,5,2286]}," ",{t:4,f:[{p:[93,6,2365],t:7,e:"td",f:["Disabled"]}],n:50,x:{r:["haspassword"],s:"!_0"},p:[92,5,2339]}]},{p:[96,5,2399],t:7,e:"td",f:[{p:[96,9,2403],t:7,e:"ui-button",a:{action:"PRG_downloadfile",params:['{"id": "',{t:2,r:"uid",p:[96,62,2456]},'"}']},f:["Download"]}]}]}],n:52,r:"data.servers",p:[85,4,2199]}]}]}]}," ",{p:[99,3,2514],t:7,e:"hr"}," ",{p:[100,3,2521],t:7,e:"ui-button",a:{action:"PRG_uploadmenu"},f:["Send file"]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],427:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[43,1,1040],t:7,e:"ntosheader"}," ",{p:[45,1,1055],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[47,5,1111],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[47,27,1133]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[49,38,1283]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[50,15,1338]}],yinc:"9"}}],n:50,r:"config.fancy",p:[46,3,1086]},{t:4,n:51,f:[{p:[52,5,1386],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[53,7,1423],t:7,e:"span",f:[{t:2,r:"data.supply",p:[53,13,1429]}]}]}," ",{p:[55,5,1474],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[56,9,1508],t:7,e:"span",f:[{t:2,r:"data.demand",p:[56,15,1514]}]}]}],r:"config.fancy"}]}," ",{p:[60,1,1579],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[61,3,1608],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[62,5,1632],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[63,5,1668],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[64,5,1706],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[65,5,1742],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[66,5,1780],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[67,5,1821],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[68,5,1861],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[71,5,1943],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[71,24,1962]}],nowrap:0},f:[{p:[72,7,1986],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[72,28,2007]}," %"]}," ",{p:[73,7,2064],t:7,e:"div",a:{"class":"content"},f:[{t:2,rx:{r:"adata.areas",m:[{t:30,n:"@index"},"load"]},p:[73,28,2085]}]}," ",{p:[74,7,2126],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2147],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[74,41,2160]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[74,70,2189]}]}]}," ",{p:[75,7,2235],t:7,e:"div",a:{"class":"content"},f:[{p:[75,28,2256],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[75,41,2269]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[75,64,2292]}," [",{p:[75,87,2315],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[75,93,2321]}]},"]"]}]}," ",{p:[76,7,2369],t:7,e:"div",a:{"class":"content"},f:[{p:[76,28,2390],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[76,41,2403]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[76,64,2426]}," [",{p:[76,87,2449],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[76,93,2455]}]},"]"]}]}," ",{p:[77,7,2503],t:7,e:"div",a:{"class":"content"},f:[{p:[77,28,2524],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[77,41,2537]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[77,64,2560]}," [",{p:[77,87,2583],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[77,93,2589]}]},"]"]}]}]}],n:52,r:"data.areas",p:[70,3,1918]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],428:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"div",a:{"class":"item"},f:[{p:[6,3,96],t:7,e:"div",a:{"class":"itemLabel"},f:["Payload status:"]}," ",{p:[9,3,150],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ARMED"],n:50,r:"data.armed",p:[10,4,179]},{t:4,n:51,f:["DISARMED"],r:"data.armed"}]}," ",{p:[16,3,255],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[19,3,303],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[20,4,332],t:7,e:"table",f:[{p:[21,4,343],t:7,e:"tr",f:[{p:[21,8,347],t:7,e:"td",f:[{p:[21,12,351],t:7,e:"ui-button",a:{action:"PRG_obfuscate"},f:["OBFUSCATE PROGRAM NAME"]}]}]},{p:[22,4,423],t:7,e:"tr",f:[{p:[22,8,427],t:7,e:"td",f:[{p:[22,12,431],t:7,e:"ui-button",a:{action:"PRG_arm",state:[{t:2,x:{r:["data.armed"],s:'_0?"danger":null'},p:[22,47,466]}]},f:[{t:2,x:{r:["data.armed"],s:'_0?"DISARM":"ARM"'},p:[22,81,500]}]}," ",{p:[23,4,549],t:7,e:"ui-button",a:{icon:"radiation",state:[{t:2,x:{r:["data.armed"],s:'_0?null:"disabled"'},p:[23,39,584]}],action:"PRG_activate"},f:["ACTIVATE"]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],429:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,3,91],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[5,22,110]}," Alarms"]},f:[{p:[6,5,133],t:7,e:"ul",f:[{t:4,f:[{p:[8,9,164],t:7,e:"li",f:[{t:2,r:".",p:[8,13,168]}]}],n:52,r:".",p:[7,7,144]},{t:4,n:51,f:[{p:[10,9,202],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[4,1,61]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],430:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{integState:function(t){var e=100;return t==e?"good":t>e/2?"average":"bad"},bigState:function(t,e,n){return charge>n?"bad":t>e?"average":"good"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[23,1,399],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[27,2,436],t:7,e:"ui-button",a:{action:"PRG_clear"},f:["Back to Menu"]},{p:[27,56,490],t:7,e:"br"}," ",{p:[28,3,497],t:7,e:"ui-display",a:{title:"Supermatter Status:"},f:[{p:[29,3,540],t:7,e:"ui-section",a:{label:"Core Integrity"},f:[{p:[30,5,580],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"adata.SM_integrity",p:[30,38,613]}],state:[{t:2,x:{r:["integState","adata.SM_integrity"],s:"_0(_1)"},p:[30,69,644]}]},f:[{t:2,r:"data.SM_integrity",p:[30,105,680]},"%"]}]}," ",{p:[32,3,730],t:7,e:"ui-section",a:{label:"Relative EER"},f:[{p:[33,5,768],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_power"],s:"_0(_1,150,300)"},p:[33,18,781]}]},f:[{t:2,r:"data.SM_power",p:[33,55,818]}," MeV/cm3"]}]}," ",{p:[35,3,869],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[36,5,906],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambienttemp"],s:"_0(_1,4000,5000)"},p:[36,18,919]}]},f:[{t:2,r:"data.SM_ambienttemp",p:[36,63,964]}," K"]}]}," ",{p:[38,3,1015],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[39,5,1049],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambientpressure"],s:"_0(_1,5000,10000)"},p:[39,18,1062]}]},f:[{t:2,r:"data.SM_ambientpressure",p:[39,68,1112]}," kPa"]}]}]}," ",{p:[42,3,1186],t:7,e:"hr"},{p:[42,7,1190],t:7,e:"br"}," ",{p:[43,3,1197],t:7,e:"ui-display",a:{title:"Gas Composition:"},f:[{t:4,f:[{p:[45,5,1263],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[45,24,1282]}]},f:[{t:2,r:"amount",p:[46,6,1298]}," %"]}],n:52,r:"data.gases",p:[44,4,1238]}]}],n:50,r:"data.active",p:[26,1,415]},{t:4,n:51,f:[{p:[51,2,1368],t:7,e:"ui-button",a:{action:"PRG_refresh"},f:["Refresh"]},{p:[51,53,1419],t:7,e:"br"}," ",{p:[52,2,1425],t:7,e:"ui-display",a:{title:"Detected Supermatters"},f:[{t:4,f:[{p:[54,3,1499],t:7,e:"ui-section",a:{label:"Area"},f:[{t:2,r:"area_name",p:[55,5,1529]}," - (#",{t:2,r:"uid",p:[55,23,1547]},")"]}," ",{p:[57,3,1574],t:7,e:"ui-section",a:{label:"Integrity"},f:[{t:2,r:"integrity",p:[58,5,1609]}," %"]}," ",{p:[60,3,1643],t:7,e:"ui-section",a:{label:"Options"},f:[{p:[61,5,1676],t:7,e:"ui-button",a:{action:"PRG_set",params:['{"target" : "',{t:2,r:"uid",p:[61,54,1725]},'"}']},f:["View Details"]}]}],n:52,r:"data.supermatters",p:[53,2,1469]}]}],r:"data.active"}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(431)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,431:431}],431:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"item",style:"float: left"},f:[{p:[2,2,40],t:7,e:"table",f:[{p:[2,9,47],t:7,e:"tr",f:[{t:4,f:[{p:[4,3,110],t:7,e:"td",f:[{p:[4,7,114],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[4,17,124]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[3,2,53]}," ",{t:4,f:[{p:[7,3,220],t:7,e:"td",f:[{p:[7,7,224],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[7,10,227]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[6,2,160]}," ",{t:4,f:[{p:[10,3,296],t:7,e:"td",f:[{p:[10,7,300],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[10,17,310]}]}}]}],n:50,r:"data.PC_ntneticon",p:[9,2,268]}," ",{t:4,f:[{p:[13,3,374],t:7,e:"td",f:[{p:[13,7,378],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[13,17,388]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[12,2,344]}," ",{t:4,f:[{p:[16,3,454],t:7,e:"td",f:[{p:[16,7,458],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[16,10,461]}]}]}],n:50,r:"data.PC_stationtime",p:[15,2,424]}," ",{t:4,f:[{p:[19,3,534],t:7,e:"td",f:[{p:[19,7,538],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[19,17,548]}]}}]}],n:52,r:"data.PC_programheaders",p:[18,2,499]}]}]}]}," ",{p:[23,1,587],t:7,e:"div",a:{style:"float: right; margin-top: 5px"},f:[{p:[24,2,632],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[26,3,720],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}," ",{p:[27,3,775],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}],n:50,r:"data.PC_showexitprogram",p:[25,2,686]}]}," ",{p:[30,1,852],t:7,e:"div",a:{style:"clear: both"}}]},e.exports=a.extend(r.exports)},{341:341}],432:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Auth. Disk:"},f:[{t:4,f:[{p:[3,7,67],t:7,e:"ui-button",a:{icon:"eject",style:"selected",action:"eject_disk"},f:["++++++++++"]}],n:50,r:"data.disk_present",p:[2,3,35]},{t:4,n:51,f:[{p:[5,7,168],t:7,e:"ui-button",a:{icon:"plus",action:"insert_disk"},f:["----------"]}],r:"data.disk_present"}]}," ",{p:[8,1,259],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[9,3,289],t:7,e:"span",f:[{t:2,r:"data.status1",p:[9,9,295]},"-",{t:2,r:"data.status2",p:[9,26,312]}]}]}," ",{p:[11,1,350],t:7,e:"ui-display",a:{title:"Timer"},f:[{p:[12,3,379],t:7,e:"ui-section",a:{label:"Time to Detonation"},f:[{p:[13,5,423],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[13,11,429]}]}]}," ",{t:4,f:[{p:[16,5,525],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[17,7,565],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_default"],s:'_0&&_1&&_2?null:"disabled"'},p:[17,40,598]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[19,7,768],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_min"],s:'_0&&_1&&_2?null:"disabled"'},p:[19,38,799]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[21,7,971],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[21,39,1003]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[22,7,1134],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_max"],s:'_0&&_1&&_2?null:"disabled"'},p:[22,37,1164]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[15,3,504]}," ",{p:[26,3,1369],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[27,5,1400],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[27,38,1433]}],action:"toggle_timer",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.safety"],s:'_0&&_1&&!_2?null:"disabled"'},p:[29,14,1514]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[30,7,1602]}]}]}]}," ",{p:[34,1,1680],t:7,e:"ui-display",a:{title:"Anchoring"},f:[{p:[35,3,1713],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[36,12,1735]}],icon:[{t:2,x:{r:["data.anchored"],s:'_0?"lock":"unlock"'},p:[37,11,1810]}],style:[{t:2,x:{r:["data.anchored"],s:'_0?null:"caution"'},p:[38,12,1860]}],action:"anchor"},f:[{t:2,x:{r:["data.anchored"],s:'_0?"Engaged":"Off"'},p:[39,21,1918]}]}]}," ",{p:[41,1,1982],t:7,e:"ui-display",a:{title:"Safety"},f:[{p:[42,3,2012],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[43,12,2034]}],icon:[{t:2,x:{r:["data.safety"],s:'_0?"lock":"unlock"'},p:[44,11,2109]}],action:"safety",style:[{t:2,x:{r:["data.safety"],s:'_0?"caution":"danger"'},p:[45,12,2173]}]},f:[{p:[46,7,2220],t:7,e:"span",f:[{t:2,x:{r:["data.safety"],s:'_0?"On":"Off"'},p:[46,13,2226]}]}]}]}," ",{p:[49,1,2293],t:7,e:"ui-display",a:{title:"Code"},f:[{p:[50,3,2321],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.message",p:[50,31,2349]}]}," ",{p:[51,3,2381],t:7,e:"ui-section",a:{label:"Keypad"},f:[{p:[52,5,2413],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[52,39,2447]}],params:'{"digit":"1"}'},f:["1"]}," ",{p:[53,5,2531],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[53,39,2565]}],params:'{"digit":"2"}'},f:["2"]}," ",{p:[54,5,2649],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[54,39,2683]}],params:'{"digit":"3"}'},f:["3"]}," ",{p:[55,5,2767],t:7,e:"br"}," ",{p:[56,5,2776],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[56,39,2810]}],params:'{"digit":"4"}'},f:["4"]}," ",{p:[57,5,2894],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[57,39,2928]}],params:'{"digit":"5"}'},f:["5"]}," ",{p:[58,5,3012],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[58,39,3046]}],params:'{"digit":"6"}'},f:["6"]}," ",{p:[59,5,3130],t:7,e:"br"}," ",{p:[60,5,3139],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[60,39,3173]}],params:'{"digit":"7"}'},f:["7"]}," ",{p:[61,5,3257],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[61,39,3291]}],params:'{"digit":"8"}'},f:["8"]}," ",{p:[62,5,3375],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[62,39,3409]}],params:'{"digit":"9"}'},f:["9"]}," ",{p:[63,5,3493],t:7,e:"br"}," ",{p:[64,5,3502],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[64,39,3536]}],params:'{"digit":"R"}'},f:["R"]}," ",{p:[65,5,3620],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[65,39,3654]}],params:'{"digit":"0"}'},f:["0"]}," ",{p:[66,5,3738],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[66,39,3772]}],params:'{"digit":"E"}'},f:["E"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],433:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,24],t:7,e:"ui-button",a:{icon:"undo",action:"change_menu",params:'{"menu": "1"}'},f:["Return"]}," ",{p:[3,2,111],t:7,e:"ui-display",a:{title:"Advanced Surgery Procedures"},f:[{p:[4,3,162],t:7,e:"ui-button",a:{icon:"download",action:"sync"},f:["Sync with research database"]}," ",{t:4,f:[{p:[6,4,273],t:7,e:"ui-display",f:[{p:[7,6,291],t:7,e:"ui-section",f:[{p:[7,18,303],t:7,e:"b",f:[{t:2,r:"name",p:[7,21,306]}]}]}," ",{p:[8,6,337],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[8,18,349]}]}]}],n:52,r:"data.surgeries",p:[5,3,245]}]}],n:50,x:{r:["data.menu"],s:"_0==2"},p:[1,1,0]},{t:4,n:51,f:[{p:[13,2,425],t:7,e:"ui-button",a:{action:"change_menu",params:'{"menu": "2"}'},f:["View Surgery Procedures"]}," ",{t:4,f:[{p:[15,3,542],t:7,e:"ui-notice",f:["No table detected!"]}],n:51,r:"data.table",p:[14,2,517]}," ",{p:[19,2,605],t:7,e:"ui-display",f:[{p:[20,3,620],t:7,e:"ui-display",a:{title:"Patient State"},f:[{t:4,f:[{p:[22,5,683],t:7,e:"ui-section",a:{label:"State"},f:[{p:[23,6,715],t:7,e:"span",a:{"class":[{t:2,r:"data.patient.statstate",p:[23,19,728]}]},f:[{t:2,r:"data.patient.stat",p:[23,47,756]}]}]}," ",{p:[25,5,807],t:7,e:"ui-section",a:{label:"Blood Type"},f:[{p:[26,6,844],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.patient.blood_type",p:[26,28,866]}]}]}," ",{p:[28,5,923],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[29,6,956],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.patient.minHealth",p:[29,19,969]}],max:[{t:2,r:"data.patient.maxHealth",p:[29,52,1002]}],value:[{t:2,r:"data.patient.health",p:[29,87,1037]}],state:[{t:2,x:{r:["data.patient.health"],s:'_0>=0?"good":"average"'},p:[30,13,1074]}]},f:[{t:2,x:{r:["adata.patient.health"],s:"Math.round(_0)"},p:[30,64,1125]}]}]}," ",{t:4,f:[{p:[33,6,1357],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[33,25,1376]}]},f:[{p:[34,7,1394],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.patient.maxHealth",p:[34,28,1415]}],value:[{t:2,rx:{r:"data.patient",m:[{t:30,n:"type"}]},p:[34,63,1450]}],state:"bad"},f:[{t:2,x:{r:["type","adata.patient"],s:"Math.round(_1[_0])"},p:[34,99,1486]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}]'},p:[32,5,1193]}],n:50,r:"data.patient",p:[21,4,658]},{t:4,n:51,f:["No patient detected."],r:"data.patient"}]}," ",{p:[41,3,1630],t:7,e:"ui-display",a:{title:"Initiated Procedures"},f:[{t:4,f:[{t:4,f:[{p:[44,6,1734],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[44,28,1756]}]},f:[{p:[45,7,1773],t:7,e:"ui-section",a:{label:"Next Step"},f:[{p:[46,8,1811],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"next_step",p:[46,30,1833]}]}," ",{t:4,f:[{p:[48,9,1890],t:7,e:"span",a:{"class":"content"},f:[{p:[48,31,1912],t:7,e:"b",f:["Required chemicals:"]},{p:[48,57,1938],t:7,e:"br"}," ",{t:2,r:"chems_needed",p:[48,62,1943]}]}],n:50,r:"chems_needed",p:[47,8,1861]}]}," ",{t:4,f:[{p:[52,8,2040],t:7,e:"ui-section",a:{label:"Alternative Step"},f:[{p:[53,9,2086],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"alternative_step",p:[53,31,2108]}]}," ",{t:4,f:[{p:[55,10,2178],t:7,e:"span",a:{"class":"content"},f:[{p:[55,32,2200],t:7,e:"b",f:["Required chemicals:"]},{p:[55,58,2226],t:7,e:"br"}," ",{t:2,r:"chems_needed",p:[55,63,2231]}]}],n:50,r:"alt_chems_needed",p:[54,9,2144]}]}],n:50,r:"alternative_step",p:[51,7,2008]}]}],n:52,r:"data.procedures",p:[43,5,1703]}],n:50,r:"data.procedures",p:[42,4,1675]},{t:4,n:51,f:["No active procedures."],r:"data.procedures"}]}]}],x:{r:["data.menu"],s:"_0==2"}}]},e.exports=a.extend(r.exports)},{341:341}],434:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,15],t:7,e:"ui-section",f:["This machine only accepts ore. Gibtonite and Slag are not accepted."]}," ",{p:[5,2,117],
-t:7,e:"ui-section",f:["Current unclaimed credits: ",{t:2,r:"data.unclaimedPoints",p:[6,30,160]}," ",{p:[7,4,189],t:7,e:"ui-button",a:{action:"Claim"},f:["Claim"]}]}]}," ",{p:[12,1,276],t:7,e:"ui-display",f:[{t:4,f:[{p:[14,3,315],t:7,e:"ui-section",f:[{p:[15,4,332],t:7,e:"ui-button",a:{action:"diskEject",icon:"eject"},f:["Eject Disk"]}]}," ",{t:4,f:[{p:[20,4,460],t:7,e:"ui-section",a:{"class":"candystripe"},f:[{p:[21,5,496],t:7,e:"ui-button",a:{action:"diskUpload",state:[{t:2,x:{r:["canupload"],s:'(_0)?null:"disabled"'},p:[21,42,533]}],icon:"upload",align:"right",params:['{ "design" : "',{t:2,r:"index",p:[21,129,620]},'" }']},f:["Upload"]}," File ",{t:2,r:"index",p:[24,10,676]},": ",{t:2,r:"name",p:[24,21,687]}]}],n:52,r:"data.diskDesigns",p:[19,3,429]}],n:50,r:"data.hasDisk",p:[13,2,291]},{t:4,n:51,f:[{p:[28,3,741],t:7,e:"ui-section",f:[{p:[29,4,758],t:7,e:"ui-button",a:{action:"diskInsert",icon:"floppy-o"},f:["Insert Disk"]}]}],r:"data.hasDisk"}]}," ",{t:4,f:[{p:[36,2,911],t:7,e:"ui-display",f:[{p:[37,3,927],t:7,e:"ui-section",f:[{p:[38,4,944],t:7,e:"b",f:["Warning"]},": ",{t:2,r:"data.disconnected",p:[38,20,960]},". Please contact the quartermaster."]}]}],n:50,r:"data.disconnected",p:[35,1,883]},{t:4,f:[{p:[43,2,1100],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[44,3,1133],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[45,5,1168],t:7,e:"section",a:{"class":"cell"},f:["Mineral"]}," ",{p:[48,5,1226],t:7,e:"section",a:{"class":"cell"},f:["Sheets"]}," ",{p:[51,5,1283],t:7,e:"section",a:{"class":"cell"},f:[]}," ",{p:[53,5,1327],t:7,e:"section",a:{"class":"cell"},f:[]}," ",{p:[55,5,1371],t:7,e:"section",a:{"class":"cell"},f:["Ore Value"]}]}," ",{t:4,f:[{p:[60,4,1473],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[61,5,1508],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[62,6,1537]}]}," ",{p:[64,5,1567],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[65,6,1610]}]}," ",{p:[67,5,1642],t:7,e:"section",a:{"class":"cell"},f:[{p:[68,6,1671],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[68,19,1684]}],placeholder:"###","class":"number"}}]}," ",{p:[70,5,1751],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[71,6,1794],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[71,60,1848]}],params:['{ "id" : ',{t:2,r:"id",p:[71,115,1903]},', "sheets" : ',{t:2,r:"sheets",p:[71,134,1922]}," }"]},f:["Release"]}]}," ",{p:[75,5,1993],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"value",p:[76,6,2036]}]}]}],n:52,r:"data.materials",p:[59,3,1444]}," ",{t:4,f:[{p:[81,4,2119],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[82,5,2154],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[83,6,2183]}]}," ",{p:[85,5,2213],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[86,6,2256]}]}," ",{p:[88,5,2288],t:7,e:"section",a:{"class":"cell"},f:[{p:[89,6,2317],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[89,19,2330]}],placeholder:"###","class":"number"}}]}," ",{p:[91,5,2397],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[92,6,2440],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Smelt",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[92,58,2492]}],params:['{ "id" : ',{t:2,r:"id",p:[92,114,2548]},', "sheets" : ',{t:2,r:"sheets",p:[92,133,2567]}," }"]},f:["Smelt"]}]}," ",{p:[96,5,2635],t:7,e:"section",a:{"class":"cell",align:"right"},f:[]}]}],n:52,r:"data.alloys",p:[80,3,2093]}]}],n:50,x:{r:["data.materials","data.alloys"],s:"_0||_1"},p:[42,1,1060]}]},e.exports=a.extend(r.exports)},{341:341}],435:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:{button:[{p:[4,4,84],t:7,e:"ui-button",a:{icon:"remove",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[4,36,116]}],action:"empty_eject_beaker"},f:["Empty and eject"]}," ",{p:[7,4,225],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[7,35,256]}],action:"empty_beaker"},f:["Empty"]}," ",{p:[10,4,349],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[10,35,380]}],action:"eject_beaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{t:4,f:[{p:[15,4,514],t:7,e:"ui-section",f:[{t:4,f:[{p:[17,6,562],t:7,e:"span",a:{"class":"bad"},f:["The beaker is empty!"]}],n:50,r:"data.beaker_empty",p:[16,5,531]},{t:4,n:51,f:[{p:[19,6,626],t:7,e:"ui-subdisplay",a:{title:"Blood"},f:[{t:4,f:[{p:[21,8,692],t:7,e:"ui-section",a:{label:"Blood DNA"},f:[{t:2,r:"data.blood.dna",p:[21,38,722]}]}," ",{p:[22,8,761],t:7,e:"ui-section",a:{label:"Blood type"},f:[{t:2,r:"data.blood.type",p:[22,39,792]}]}],n:50,r:"data.has_blood",p:[20,7,662]},{t:4,n:51,f:[{p:[24,8,847],t:7,e:"ui-section",f:[{p:[25,9,868],t:7,e:"span",a:{"class":"average"},f:["No blood sample detected."]}]}],r:"data.has_blood"}]}],r:"data.beaker_empty"}]}],n:50,r:"data.has_beaker",p:[14,3,487]},{t:4,n:51,f:[{p:[32,4,1023],t:7,e:"ui-section",f:[{p:[33,5,1040],t:7,e:"span",a:{"class":"bad"},f:["No beaker loaded."]}]}],r:"data.has_beaker"}]}," ",{t:4,f:[{p:[38,3,1151],t:7,e:"ui-display",a:{title:"Diseases"},f:[{t:4,f:[{p:{button:[{t:4,f:[{p:[43,8,1301],t:7,e:"ui-button",a:{icon:"pencil",action:"rename_disease",state:[{t:2,x:{r:["can_rename"],s:'_0?"":"disabled"'},p:[43,64,1357]}],params:['{"index": ',{t:2,r:"index",p:[43,116,1409]},"}"]},f:["Name advanced disease"]}],n:50,r:"is_adv",p:[42,7,1279]}," ",{p:[47,7,1492],t:7,e:"ui-button",a:{icon:"flask",action:"create_culture_bottle",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[47,69,1554]}],params:['{"index": ',{t:2,r:"index",p:[47,124,1609]},"}"]},f:["Create virus culture bottle"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[40,24,1230]}],button:0},f:[" ",{p:[51,6,1699],t:7,e:"ui-section",a:{label:"Disease agent"},f:[{t:2,r:"agent",p:[51,40,1733]}]}," ",{p:[52,6,1761],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[52,38,1793]}]}," ",{p:[53,6,1827],t:7,e:"ui-section",a:{label:"Spread"},f:[{t:2,r:"spread",p:[53,33,1854]}]}," ",{p:[54,6,1883],t:7,e:"ui-section",a:{label:"Possible cure"},f:[{t:2,r:"cure",p:[54,40,1917]}]}," ",{t:4,f:[{p:[56,7,1966],t:7,e:"ui-section",a:{label:"Symptoms"},f:[{t:4,f:[{p:[58,9,2030],t:7,e:"ui-button",a:{action:"symptom_details",state:"",params:['{"picked_symptom": ',{t:2,r:"sym_index",p:[58,81,2102]},', "index": ',{t:2,r:"index",p:[58,105,2126]},"}"]},f:[{t:2,r:"name",p:[59,10,2148]}," "]},{p:[60,21,2177],t:7,e:"br"}],n:52,r:"symptoms",p:[57,8,2003]}]}," ",{p:[63,7,2227],t:7,e:"ui-section",a:{label:"Resistance"},f:[{t:2,r:"resistance",p:[63,38,2258]}]}," ",{p:[64,7,2292],t:7,e:"ui-section",a:{label:"Stealth"},f:[{t:2,r:"stealth",p:[64,35,2320]}]}," ",{p:[65,7,2351],t:7,e:"ui-section",a:{label:"Stage speed"},f:[{t:2,r:"stage_speed",p:[65,39,2383]}]}," ",{p:[66,7,2418],t:7,e:"ui-section",a:{label:"Transmittability"},f:[{t:2,r:"transmission",p:[66,44,2455]}]}],n:50,r:"is_adv",p:[55,6,1945]}]}],n:52,r:"data.viruses",p:[39,4,1184]},{t:4,n:51,f:[{p:[70,5,2532],t:7,e:"ui-section",f:[{p:[71,6,2550],t:7,e:"span",a:{"class":"average"},f:["No detectable virus in the blood sample."]}]}],r:"data.viruses"}]}," ",{p:[75,3,2669],t:7,e:"ui-display",a:{title:"Antibodies"},f:[{t:4,f:[{p:[77,5,2735],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[77,24,2754]}]},f:[{p:[78,7,2771],t:7,e:"ui-button",a:{icon:"eyedropper",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[78,43,2807]}],action:"create_vaccine_bottle",params:['{"index": ',{t:2,r:"id",p:[78,129,2893]},"}"]},f:["Create vaccine bottle"]}]}],n:52,r:"data.resistances",p:[76,4,2704]},{t:4,n:51,f:[{p:[83,5,2985],t:7,e:"ui-section",f:[{p:[84,6,3003],t:7,e:"span",a:{"class":"average"},f:["No antibodies detected in the blood sample."]}]}],r:"data.resistances"}]}],n:50,r:"data.has_blood",p:[37,2,1126]}],n:50,x:{r:["data.mode"],s:"_0==1"},p:[1,1,0]},{t:4,n:51,f:[{p:[90,2,3142],t:7,e:"ui-button",a:{icon:"undo",state:"",action:"back"},f:["Back"]}," ",{t:4,f:[{p:[94,4,3237],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[94,23,3256]}]},f:[{p:[95,4,3270],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[96,5,3287]}," ",{t:4,f:[{p:[98,5,3320],t:7,e:"br"}," ",{p:[99,5,3330],t:7,e:"b",f:["This symptom has been neutered, and has no effect. It will still affect the virus' statistics."]}],n:50,r:"neutered",p:[97,4,3299]}]}," ",{p:[102,4,3463],t:7,e:"ui-section",f:[{p:[103,5,3480],t:7,e:"ui-section",a:{label:"Level"},f:[{t:2,r:"level",p:[103,31,3506]}]}," ",{p:[104,5,3533],t:7,e:"ui-section",a:{label:"Resistance"},f:[{t:2,r:"resistance",p:[104,36,3564]}]}," ",{p:[105,5,3596],t:7,e:"ui-section",a:{label:"Stealth"},f:[{t:2,r:"stealth",p:[105,33,3624]}]}," ",{p:[106,5,3653],t:7,e:"ui-section",a:{label:"Stage speed"},f:[{t:2,r:"stage_speed",p:[106,37,3685]}]}," ",{p:[107,5,3718],t:7,e:"ui-section",a:{label:"Transmittability"},f:[{t:2,r:"transmission",p:[107,42,3755]}]}]}," ",{p:[109,4,3805],t:7,e:"ui-subdisplay",a:{title:"Effect Thresholds"},f:[{p:[110,5,3851],t:7,e:"ui-section",f:[{t:3,r:"threshold_desc",p:[110,17,3863]}]}]}]}],n:53,r:"data.symptom",p:[93,2,3211]}],x:{r:["data.mode"],s:"_0==1"}}]},e.exports=a.extend(r.exports)},{341:341}],436:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(484);e.exports={data:{filter:"",tooltiptext:function(t,e,n){var a="";return t&&(a+="REQUIREMENTS: "+t+" "),e&&(a+="CATALYSTS: "+e+" "),n&&(a+="TOOLS: "+n),a}},oninit:function(){var t=this;this.on({hover:function(t){this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}}),this.observe("filter",function(e,a,r){var i=null;i=t.get("data.display_compact")?t.findAll(".section"):t.findAll(".display:not(:first-child)"),(0,n.filterMulti)(i,t.get("filter").toLowerCase())},{init:!1})}}}(r),r.exports.template={v:3,t:[" ",{p:[48,1,1295],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[48,20,1314]},{t:4,f:[" : ",{t:2,r:"data.subcategory",p:[48,64,1358]}],n:50,r:"data.subcategory",p:[48,37,1331]}]},f:[{t:4,f:[{p:[50,3,1410],t:7,e:"ui-section",f:["Crafting... ",{p:[51,16,1438],t:7,e:"i",a:{"class":"fa-spin fa fa-spinner"}}]}],n:50,r:"data.busy",p:[49,2,1390]},{t:4,n:51,f:[{p:[54,3,1504],t:7,e:"ui-section",f:[{p:[55,4,1520],t:7,e:"table",a:{style:"width:100%"},f:[{p:[56,5,1551],t:7,e:"tr",f:[{p:[57,6,1561],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[58,7,1602],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardCat"},f:[{t:2,r:"data.prev_cat",p:[59,8,1660]}]}]}," ",{p:[62,6,1713],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[63,7,1754],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardCat"},f:[{t:2,r:"data.next_cat",p:[64,7,1811]}]}]}," ",{p:[67,6,1864],t:7,e:"td",a:{style:"float:right!important"},f:[{t:4,f:[{p:[69,7,1946],t:7,e:"ui-button",a:{icon:"lock",action:"toggle_recipes"},f:["Showing Craftable Recipes"]}],n:50,r:"data.display_craftable_only",p:[68,6,1904]},{t:4,n:51,f:[{p:[73,7,2066],t:7,e:"ui-button",a:{icon:"unlock",action:"toggle_recipes"},f:["Showing All Recipes"]}],r:"data.display_craftable_only"}]}," ",{p:[78,6,2191],t:7,e:"td",a:{style:"float:right!important"},f:[{p:[79,7,2232],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.display_compact"],s:'_0?"check-square-o":"square-o"'},p:[79,24,2249]}],action:"toggle_compact"},f:["Compact"]}]}]}," ",{p:[84,5,2391],t:7,e:"tr",f:[{t:4,f:[{p:[86,6,2430],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[87,7,2471],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardSubCat"},f:[{t:2,r:"data.prev_subcat",p:[88,8,2532]}]}]}," ",{p:[91,6,2588],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[92,7,2629],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardSubCat"},f:[{t:2,r:"data.next_subcat",p:[93,8,2690]}]}]}],n:50,r:"data.subcategory",p:[85,5,2400]}]}]}," ",{t:4,f:[{t:4,f:[" ",{p:[101,6,2892],t:7,e:"ui-input",a:{value:[{t:2,r:"filter",p:[101,23,2909]}],placeholder:"Filter.."}}],n:51,r:"data.display_compact",p:[100,5,2803]}],n:50,r:"config.fancy",p:[99,4,2778]}]}," ",{t:4,f:[{p:[106,5,3039],t:7,e:"ui-display",f:[{t:4,f:[{p:[108,6,3086],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[108,25,3105]}]},f:[{p:[109,7,3122],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[109,27,3142]}],"tooltip-side":"right",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[109,135,3250]},'"}'],icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.can_craft",p:[107,5,3056]}," ",{t:4,f:[{t:4,f:[{p:[116,7,3452],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[116,26,3471]}]},f:[{p:[117,8,3489],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[117,28,3509]}],"tooltip-side":"right",state:"disabled",icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.cant_craft",p:[115,6,3420]}],n:51,r:"data.display_craftable_only",p:[114,5,3382]}]}],n:50,r:"data.display_compact",p:[105,4,3006]},{t:4,n:51,f:[{t:4,f:[{p:[126,6,3822],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[126,25,3841]}]},f:[{t:4,f:[{p:[128,8,3882],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[129,9,3924]}]}],n:50,r:"req_text",p:[127,7,3858]}," ",{t:4,f:[{p:[133,8,4007],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[134,9,4046]}]}],n:50,r:"catalyst_text",p:[132,7,3978]}," ",{t:4,f:[{p:[138,8,4130],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[139,9,4165]}]}],n:50,r:"tool_text",p:[137,7,4105]}," ",{p:[142,7,4220],t:7,e:"ui-section",f:[{p:[143,8,4240],t:7,e:"ui-button",a:{icon:"gears",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[143,66,4298]},'"}']},f:["Craft"]}]}]}],n:52,r:"data.can_craft",p:[125,5,3792]}," ",{t:4,f:[{t:4,f:[{p:[151,7,4471],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[151,26,4490]}]},f:[{t:4,f:[{p:[153,9,4533],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[154,10,4576]}]}],n:50,r:"req_text",p:[152,8,4508]}," ",{t:4,f:[{p:[158,9,4663],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[159,10,4703]}]}],n:50,r:"catalyst_text",p:[157,8,4633]}," ",{t:4,f:[{p:[163,9,4791],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[164,10,4827]}]}],n:50,r:"tool_text",p:[162,8,4765]}]}],n:52,r:"data.cant_craft",p:[150,6,4439]}],n:51,r:"data.display_craftable_only",p:[149,5,4401]}],r:"data.display_compact"}],r:"data.busy"}]}]},e.exports=a.extend(r.exports)},{341:341,484:484}],437:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,34]}," connected to a tank."]}]}," ",{p:[4,1,110],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,147],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,181],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,187]}," kPa"]}]}," ",{p:[8,3,247],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,277],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,290]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,331]}]}]}]}," ",{p:[12,1,419],t:7,e:"ui-display",a:{title:"Pump"},f:[{p:[13,3,447],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,478],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,495]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,545]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,601]}]}]}," ",{p:[18,3,658],t:7,e:"ui-section",a:{label:"Direction"},f:[{p:[19,5,693],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"sign-out":"sign-in"'},p:[19,22,710]}],action:"direction"},f:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"Out":"In"'},p:[20,26,789]}]}]}," ",{p:[22,3,862],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,5,903],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.min_pressure",p:[23,18,916]}],max:[{t:2,r:"data.max_pressure",p:[23,46,944]}],value:[{t:2,r:"data.target_pressure",p:[24,14,980]}]},f:[{t:2,x:{r:["adata.target_pressure"],s:"Math.round(_0)"},p:[24,40,1006]}," kPa"]}]}," ",{p:[26,3,1075],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,1119],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.target_pressure","data.default_pressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,1152]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1300],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.target_pressure","data.min_pressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1331]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1470],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1564],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.target_pressure","data.max_pressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1594]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}," ",{p:{button:[{t:4,f:[{p:[39,7,1853],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[39,38,1884]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[38,5,1826]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[43,3,2e3],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[44,4,2030]}]}," ",{p:[46,3,2070],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[47,4,2103]}," kPa"]}],n:50,r:"data.holding",p:[42,3,1977]},{t:4,n:51,f:[{p:[50,3,2174],t:7,e:"ui-section",f:[{p:[51,4,2190],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{341:341}],438:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[3,1,69],t:7,e:"ui-notice",f:[{p:[4,3,84],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[4,23,104]}," connected to a tank."]}]}," ",{p:[6,1,182],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[7,3,220],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[8,5,255],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[8,11,261]}," kPa"]}]}," ",{p:[10,3,323],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[11,5,354],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[11,18,367]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[11,59,408]}]}]}]}," ",{p:[14,1,499],t:7,e:"ui-display",a:{title:"Filter"},f:[{p:[15,3,530],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[16,5,562],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[16,22,579]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[17,14,630]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[18,22,687]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[24,7,856],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[24,38,887]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[23,5,828]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[28,3,1007],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[29,4,1038]}]}," ",{p:[31,3,1080],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[32,4,1114]}," kPa"]}],n:50,r:"data.holding",p:[27,3,983]},{t:4,n:51,f:[{p:[35,3,1188],t:7,e:"ui-section",f:[{p:[36,4,1205],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}," ",{p:[40,1,1293],t:7,e:"ui-display",a:{title:"Filters"},f:[{t:4,f:[{p:[42,5,1345],t:7,e:"filters"}],n:53,r:"data",p:[41,3,1325]}]}]},r.exports.components=r.exports.components||{};var i={filters:t(457)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,457:457}],439:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" ",{p:[42,1,1035],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[44,5,1093],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[44,27,1115]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[46,38,1267]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[47,15,1323]}],yinc:"9"}}],n:50,r:"config.fancy",p:[43,3,1067]},{t:4,n:51,f:[{p:[49,5,1373],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[50,7,1411],t:7,e:"span",f:[{t:2,r:"data.supply",p:[50,13,1417]}]}]}," ",{p:[52,5,1464],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[53,9,1499],t:7,e:"span",f:[{t:2,r:"data.demand",p:[53,15,1505]}]}]}],r:"config.fancy"}]}," ",{p:[57,1,1574],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[58,3,1604],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[59,5,1629],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[60,5,1666],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[61,5,1705],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[62,5,1742],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[63,5,1781],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[64,5,1823],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[65,5,1864],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[68,5,1949],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[68,24,1968]}],nowrap:0},f:[{p:[69,7,1993],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[69,28,2014]}," %"]}," ",{p:[70,7,2072],t:7,e:"div",a:{"class":"content"},f:[{t:2,rx:{r:"adata.areas",m:[{t:30,n:"@index"},"load"]},p:[70,28,2093]}]}," ",{p:[71,7,2135],t:7,e:"div",a:{"class":"content"},f:[{p:[71,28,2156],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[71,41,2169]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[71,70,2198]}]}]}," ",{p:[72,7,2245],t:7,e:"div",a:{"class":"content"},f:[{p:[72,28,2266],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[72,41,2279]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[72,64,2302]}," [",{p:[72,87,2325],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[72,93,2331]}]},"]"]}]}," ",{p:[73,7,2380],t:7,e:"div",a:{"class":"content"},f:[{p:[73,28,2401],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[73,41,2414]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[73,64,2437]}," [",{p:[73,87,2460],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[73,93,2466]}]},"]"]}]}," ",{p:[74,7,2515],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2536],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[74,41,2549]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[74,64,2572]}," [",{p:[74,87,2595],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[74,93,2601]}]},"]"]}]}]}],n:52,r:"data.areas",p:[67,3,1923]}]}]},e.exports=a.extend(r.exports)},{341:341}],440:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,167],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,224],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,257],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,274]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,325]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,398]}]}]}],n:50,r:"data.headset",p:[12,3,199]},{t:4,n:51,f:[{p:[19,5,476],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,514],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,531]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,585]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,664]}]}]}," ",{p:[24,5,746],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,781],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,798]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,849]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,922]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1034],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1073],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1090]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1142]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1217]}]}]}],n:50,r:"data.command",p:[30,3,1009]}]}," ",{p:[38,1,1305],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1336],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1399],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1405]}]}],n:50,r:"data.freqlock",p:[40,5,1371]},{t:4,n:51,f:[{p:[43,7,1453],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1492]}],action:"frequency",params:'{"adjust": -1}'}}," ",{p:[44,7,1603],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1637]}],action:"frequency",params:'{"adjust": -.2}'}}," ",{p:[45,7,1749],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"tune": "input"}'},f:[{t:2,r:"readableFrequency",p:[45,78,1820]}]}," ",{p:[46,7,1860],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1893]}],action:"frequency",params:'{"adjust": .2}'}}," ",{p:[47,7,2004],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2042]}],action:"frequency",params:'{"adjust": 1}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2212],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2261],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2278]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2328]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2395]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2176]}," ",{t:4,f:[{p:[57,5,2522],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2598],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2615]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2671]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2746]},'"}']},f:[{t:2,r:"channel",p:[62,11,2772]}]},{p:[62,34,2795],t:7,e:"br"}],n:52,i:"channel",r:"data.channels",p:[58,7,2558]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2479]}]}]},e.exports=a.extend(r.exports)},{341:341}],441:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," "," "," "," "," "," "," "," ",{p:[11,1,550],t:7,e:"rdheader"}," ",{t:4,f:[{p:[13,2,583],t:7,e:"ui-display",a:{title:"CONSOLE LOCKED"},f:[{p:[14,3,621],t:7,e:"ui-button",a:{action:"Unlock"},f:["Unlock"]}]}],n:50,r:"data.locked",p:[12,1,562]},{t:4,f:[{p:[18,2,712],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[18,17,727]}]},f:[{p:[19,3,745],t:7,e:"tab",a:{name:"Technology"},f:[{p:[20,4,772],t:7,e:"techweb"}]}," ",{p:[22,3,794],t:7,e:"tab",a:{name:"View Node"},f:[{p:[23,4,820],t:7,e:"nodeview"}]}," ",{p:[25,3,843],t:7,e:"tab",a:{name:"View Design"},f:[{p:[26,4,871],t:7,e:"designview"}]}," ",{p:[28,3,896],t:7,e:"tab",a:{name:"Disk Operations - Design"},f:[{p:[29,4,937],t:7,e:"diskopsdesign"}]}," ",{p:[31,3,965],t:7,e:"tab",a:{name:"Disk Operations - Technology"},f:[{p:[32,4,1010],t:7,e:"diskopstech"}]}," ",{p:[34,3,1036],t:7,e:"tab",a:{name:"Deconstructive Analyzer"},f:[{p:[35,4,1076],t:7,e:"destruct"}]}," ",{p:[37,3,1099],t:7,e:"tab",a:{name:"Protolathe"},f:[{p:[38,4,1126],t:7,e:"protolathe"}]}," ",{p:[40,3,1151],t:7,e:"tab",a:{name:"Circuit Imprinter"},f:[{p:[41,4,1185],t:7,e:"circuit"}]}," ",{p:[43,3,1207],t:7,e:"tab",a:{name:"Settings"},f:[{p:[44,4,1232],t:7,e:"settings"}]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[17,1,690]}]},r.exports.components=r.exports.components||{};var i={settings:t(450),circuit:t(442),protolathe:t(448),destruct:t(444),diskopsdesign:t(445),diskopstech:t(446),designview:t(443),nodeview:t(447),techweb:t(451),rdheader:t(449)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,442:442,443:443,444:444,445:445,446:446,447:447,448:448,449:449,450:450,451:451}],442:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[3,3,56],t:7,e:"ui-display",a:{title:"Circuit Imprinter Busy!"}}],n:50,r:"data.circuitbusy",p:[2,2,29]},{t:4,n:51,f:[{p:[5,3,126],t:7,e:"ui-display",f:[{p:[6,4,142],t:7,e:"ui-section",f:["Search Available Designs: ",{p:[7,4,183],t:7,e:"input",a:{value:[{t:2,r:"textsearch",p:[7,17,196]}],placeholder:"Type Here","class":"text"}}," ",{p:[8,5,254],t:7,e:"ui-button",a:{action:"textSearch",params:['{"latheType" : "circuit", "inputText" : ',{t:2,r:"textsearch",p:[8,84,333]},"}"]},f:["Search"]}]}," ",{p:[10,4,389],t:7,e:"ui-section",f:["Materials: ",{t:2,r:"data.circuitmats",p:[10,27,412]}," / ",{t:2,r:"data.circuitmaxmats",p:[10,50,435]}]}," ",{p:[11,4,475],t:7,e:"ui-section",f:["Reagents: ",{t:2,r:"data.circuitchems",p:[11,26,497]}," / ",{t:2,r:"data.circuitmaxchems",p:[11,50,521]}]}," ",{p:[12,3,561],t:7,e:"ui-display",f:[{p:[14,3,577],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.lathe_tabs",p:[14,18,592]}]},f:[{p:[15,4,617],t:7,e:"tab",a:{name:"Category List"},f:[{t:4,f:[{p:[17,6,680],t:7,e:"ui-button",a:{action:"switchcat",state:[{t:2,x:{r:["data.circuitcat"],s:'_0=="{{name}}"?"selected":null'},p:[17,43,717]}],params:['{"type" : "circuit", "cat" : "',{t:2,r:"name",p:[17,135,809]},'"}']},f:[{t:2,r:"name",p:[17,147,821]}]}],n:52,r:"data.circuitcats",p:[16,5,648]}]}," ",{p:[20,4,869],t:7,e:"tab",a:{name:"Selected Category"},f:[{t:4,f:[{p:[22,6,935],t:7,e:"ui-section",f:[{t:2,r:"name",p:[22,18,947]},{t:2,r:"matstring",p:[22,26,955]}," ",{p:[23,7,975],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[23,40,1008]}],params:['{"latheType" : "circuit", "id" : "',{t:2,r:"id",p:[23,119,1087]},'"}']},f:["Print"]}]}],n:52,r:"data.circuitdes",p:[21,5,904]}]}," ",{p:[27,4,1161],t:7,e:"tab",a:{name:"Search Results"},f:[{t:4,f:[{p:[29,6,1226],t:7,e:"ui-section",f:[{t:2,r:"name",p:[29,18,1238]},{t:2,r:"matstring",p:[29,26,1246]}," ",{p:[30,7,1266],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[30,40,1299]}],params:['{"latheType" : "circuit", "id" : "',{t:2,r:"id",p:[30,119,1378]},'"}']},f:["Print"]}]}],n:52,r:"data.circuitmatch",p:[28,5,1193]}]}," ",{p:[34,4,1452],t:7,e:"tab",a:{name:"Materials"},f:[{t:4,f:[{p:[36,6,1515],t:7,e:"ui-section",f:[{t:2,r:"name",p:[36,18,1527]}," : ",{t:2,r:"amount",p:[36,29,1538]}," cm3 - ",{t:4,f:[{p:[38,7,1586],t:7,e:"input",a:{value:[{t:2,r:"number",p:[38,20,1599]}],placeholder:["1-",{t:2,r:"sheets",p:[38,46,1625]}],"class":"number"}}," ",{p:[39,7,1660],t:7,e:"ui-button",a:{action:"releasemats",params:['{"latheType" : "circuit", "mat_id" : ',{t:2,r:"mat_id",p:[39,84,1737]},', "sheets" : ',{t:2,
-r:"number",p:[39,107,1760]},"}"]},f:["Release"]}],n:50,x:{r:["sheets"],s:"_0>0"},p:[37,6,1561]}]}],n:52,r:"data.circuitmat_list",p:[35,5,1479]}]}," ",{p:[44,4,1852],t:7,e:"tab",a:{name:"Chemicals"},f:[{t:4,f:[{p:[46,6,1916],t:7,e:"ui-section",f:[{t:2,r:"name",p:[46,18,1928]}," : ",{t:2,r:"amount",p:[46,29,1939]}," - ",{p:[47,7,1959],t:7,e:"ui-button",a:{action:"purgechem",params:['{"latheType" : "circuit", "name" : ',{t:2,r:"name",p:[47,80,2032]},', "id" : ',{t:2,r:"reagentid",p:[47,97,2049]},"}"]},f:["Purge"]}]}],n:52,r:"data.circuitchem_list",p:[45,5,1879]}]}]}]}]}],r:"data.circuitbusy"}],n:50,r:"data.circuit_linked",p:[1,1,0]},{t:4,n:51,f:[{p:[55,2,2162],t:7,e:"ui-display",a:{title:"No Linked Circuit Imprinter"}}],r:"data.circuit_linked"}]},e.exports=a.extend(r.exports)},{341:341}],443:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,30],t:7,e:"ui-display",a:{title:[{t:2,r:"data.sdesign_name",p:[2,21,49]}]},f:[{p:[3,3,75],t:7,e:"ui-section",a:{title:"Description"},f:[{t:2,r:"data.sdesign_desc",p:[3,35,107]}]}]}," ",{p:[5,2,158],t:7,e:"ui-display",a:{title:"Lathe Types"},f:[{t:4,f:[{p:[7,4,233],t:7,e:"ui-section",a:{title:"Circuit Imprinter"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&1"},p:[6,3,193]}," ",{t:4,f:[{p:[10,4,337],t:7,e:"ui-section",a:{title:"Protolathe"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&2"},p:[9,3,297]}," ",{t:4,f:[{p:[13,4,434],t:7,e:"ui-section",a:{title:"Autolathe"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&4"},p:[12,3,394]}," ",{t:4,f:[{p:[16,4,530],t:7,e:"ui-section",a:{title:"Crafting Fabricator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&8"},p:[15,3,490]}," ",{t:4,f:[{p:[19,4,637],t:7,e:"ui-section",a:{title:"Exosuit Fabricator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&16"},p:[18,3,596]}," ",{t:4,f:[{p:[22,4,743],t:7,e:"ui-section",a:{title:"Biogenerator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&32"},p:[21,3,702]}," ",{t:4,f:[{p:[25,4,843],t:7,e:"ui-section",a:{title:"Limb Grower"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&64"},p:[24,3,802]}," ",{t:4,f:[{p:[28,4,943],t:7,e:"ui-section",a:{title:"Ore Smelter"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&128"},p:[27,3,901]}]}," ",{p:[31,2,1015],t:7,e:"ui-display",a:{title:"Materials"},f:[{t:4,f:[{p:[33,4,1084],t:7,e:"ui-section",a:{title:[{t:2,r:"matname",p:[33,23,1103]}]},f:[{t:2,r:"matamt",p:[33,36,1116]}," cm^3"]}],n:52,r:"data.sdesign_materials",p:[32,3,1048]}]}],n:50,r:"data.design_selected",p:[1,1,0]},{t:4,f:[{p:[38,2,1211],t:7,e:"ui-display",a:{title:"No Design Selected."}}],n:50,x:{r:["data.design_selected"],s:"!_0"},p:[37,1,1180]}]},e.exports=a.extend(r.exports)},{341:341}],444:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[4,3,57],t:7,e:"ui-display",a:{title:"Destructive Analyzer Busy!"}}],n:50,r:"data.destroybusy",p:[3,2,30]},{t:4,n:51,f:[{t:4,f:[{p:[7,4,162],t:7,e:"ui-display",a:{title:"Destructive Analyzer Unloaded"}}],n:50,x:{r:["data.destroy_loaded"],s:"!_0"},p:[6,3,130]},{t:4,n:51,f:[{p:[9,4,240],t:7,e:"ui-display",a:{title:"Loaded Item"},f:[{p:[10,4,276],t:7,e:"ui-section",a:{title:"Name"},f:[{t:2,r:"data.destroy_name",p:[10,29,301]}]}]}," ",{p:[12,4,356],t:7,e:"ui-display",a:{title:"Boost Nodes"},f:[{t:4,f:[{p:[14,6,425],t:7,e:"ui-section",a:{title:[{t:2,r:"name",p:[14,25,444]}," | ",{t:2,r:"value",p:[14,36,455]}]},f:[{p:[15,7,473],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["allow"],s:'_0?null:"disabled"'},p:[15,25,491]}],action:"deconstruct",params:['{"id":',{t:2,r:"id",p:[15,90,556]},"}"]},f:["Deconstruct and Boost"]}]}],n:52,r:"data.boost_paths",p:[13,5,393]}]}," ",{p:[19,4,652],t:7,e:"ui-button",a:{action:"eject_da"},f:["Eject Item"]}],x:{r:["data.destroy_loaded"],s:"!_0"}}],r:"data.destroybusy"}],n:50,r:"data.destroy_linked",p:[2,1,1]},{t:4,n:51,f:[{p:[23,2,733],t:7,e:"ui-display",a:{title:"No Linked Destructive Analyzer"}}],r:"data.destroy_linked"}]},e.exports=a.extend(r.exports)},{341:341}],445:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[3,2,22],t:7,e:"ui-display",a:{title:"No Design Disk Loaded"}}],n:50,x:{r:["data.ddisk"],s:"!_0"},p:[2,1,1]},{t:4,n:51,f:[{t:4,f:[{p:[6,3,116],t:7,e:"ui-display",a:{title:"Design Disk Updating"}}],n:50,r:"data.ddisk_update",p:[5,2,88]},{t:4,n:51,f:[{t:4,f:[{p:[9,4,213],t:7,e:"ui-display",a:{title:"Design Disk"},f:[{p:[10,5,250],t:7,e:"ui-section",a:{title:"Disk Space"},f:["Disk Capacity: ",{t:2,r:"data.ddisk_size",p:[10,51,296]}," blueprints."]}," ",{p:[11,5,345],t:7,e:"ui-section",a:{title:"Disk IO"},f:[{p:[11,33,373],t:7,e:"ui-button",a:{action:"ddisk_upall"},f:["Upload all designs"]}]}," ",{p:[12,5,453],t:7,e:"ui-section",a:{title:"Clear Disk"},f:[{p:[12,36,484],t:7,e:"ui-button",a:{action:"clear_designdisk",style:"danger"},f:["WIPE ALL DATA"]}]}," ",{p:[13,5,579],t:7,e:"ui-section",a:{title:"Eject Disk"},f:[{p:[13,36,610],t:7,e:"ui-button",a:{action:"eject_designdisk"},f:["Eject Disk"]}]}]}," ",{p:[15,4,703],t:7,e:"ui-display",a:{title:"Disk Contents"},f:[{t:4,f:[{p:[17,6,776],t:7,e:"ui-section",a:{title:"Number"},f:["#",{t:2,r:"pos",p:[17,34,804]},": ",{t:4,f:[{p:[19,8,848],t:7,e:"ui-button",a:{action:"upload_empty_ddisk_slot",params:['{"slot": "',{t:2,r:"pos",p:[19,70,910]},'"}']},f:["Upload to Empty Slot"]}],n:50,x:{r:["id"],s:'_0=="null"'},p:[18,7,820]},{t:4,n:51,f:[{p:[21,8,976],t:7,e:"ui-button",a:{action:"select_design",params:['{"id": "',{t:2,r:"id",p:[21,58,1026]},'"}'],state:[{t:2,x:{r:["data.sdesign_id","id"],s:'_0==_1?"selected":null'},p:[21,75,1043]}]},f:[{t:2,r:"name",p:[21,122,1090]}]}," ",{p:[22,8,1118],t:7,e:"ui-button",a:{action:"ddisk_erasepos",style:"danger",params:['{"id": "',{t:2,r:"id",p:[22,74,1184]},'"}'],state:[{t:2,x:{r:["id"],s:'_0=="null"?"disabled":null'},p:[22,91,1201]}]},f:["Delete Slot"]}],x:{r:["id"],s:'_0=="null"'}}]}],n:52,r:"data.ddisk_designs",p:[16,5,742]}]}],n:50,x:{r:["data.ddisk_upload"],s:"!_0"},p:[8,3,183]},{t:4,n:51,f:[{p:[28,4,1340],t:7,e:"ui-display",a:{title:"Upload Design to Disk"},f:[{p:[28,46,1382],t:7,e:"ui-section",f:["Available Designs:"]}]}," ",{t:4,f:[{p:[30,5,1484],t:7,e:"ui-section",f:[{p:[30,17,1496],t:7,e:"ui-button",a:{action:"ddisk_uploaddesign",params:['{"id": "',{t:2,r:"id",p:[30,72,1551]},'"}']},f:[{t:2,r:"name",p:[30,82,1561]}]}]}],n:52,r:"data.ddisk_possible_designs",p:[29,4,1442]}],x:{r:["data.ddisk_upload"],s:"!_0"}}],r:"data.ddisk_update"}],x:{r:["data.ddisk"],s:"!_0"}}]},e.exports=a.extend(r.exports)},{341:341}],446:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[3,2,22],t:7,e:"ui-display",a:{title:"No Technology Disk Loaded"}}],n:50,x:{r:["data.tdisk"],s:"!_0"},p:[2,1,1]},{t:4,n:51,f:[{t:4,f:[{p:[6,3,120],t:7,e:"ui-display",a:{title:"Technology Disk Updating"}}],n:50,r:"data.tdisk_update",p:[5,2,92]},{t:4,n:51,f:[{p:[8,3,191],t:7,e:"ui-display",a:{title:"Technology Disk"},f:[{p:[9,4,231],t:7,e:"ui-section",a:{title:"Disk IO"},f:[{p:[9,32,259],t:7,e:"ui-button",a:{action:"tdisk_down"},f:["Download Research to Disk"]},{p:[9,100,327],t:7,e:"ui-button",a:{action:"tdisk_up"},f:["Upload Research from Disk"]}," ",{p:[10,4,397],t:7,e:"ui-section",a:{title:"Clear Disk"},f:[{p:[10,35,428],t:7,e:"ui-button",a:{action:"clear_techdisk",style:"danger"},f:["WIPE ALL DATA"]}]}," ",{p:[11,4,520],t:7,e:"ui-section",a:{title:"Eject Disk"},f:[{p:[11,35,551],t:7,e:"ui-button",a:{action:"eject_techdisk"},f:["Eject Disk"]}]}]}]}," ",{p:[13,3,640],t:7,e:"ui-display",a:{title:"Disk Contents"},f:[{t:4,f:[{p:[15,5,709],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[15,53,757]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[15,70,774]}]},f:[{t:2,r:"display_name",p:[15,115,819]}]}],n:52,r:"data.tdisk_nodes",p:[14,4,678]}]}],r:"data.tdisk_update"}],x:{r:["data.tdisk"],s:"!_0"}}]},e.exports=a.extend(r.exports)},{341:341}],447:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,28],t:7,e:"ui-display",a:{title:[{t:2,r:"data.snode_name",p:[2,21,47]}]},f:[{p:[3,3,71],t:7,e:"ui-section",a:{title:"Description"},f:["Description: ",{t:2,r:"data.snode_desc",p:[3,48,116]}]}," ",{p:[4,3,151],t:7,e:"ui-section",a:{title:"Point Cost"},f:["Point Cost: ",{t:2,r:"data.snode_cost",p:[4,46,194]}]}," ",{p:[5,3,229],t:7,e:"ui-section",a:{title:"Export Price"},f:["Export Price: ",{t:2,r:"data.snode_export",p:[5,50,276]}]}," ",{p:[6,3,313],t:7,e:"ui-button",a:{action:"research_node",params:['{"id"="',{t:2,r:"id",p:[6,52,362]},'"}'],state:[{t:2,x:{r:["data.snode_researched"],s:'_0?"disabled":null'},p:[6,69,379]}]},f:[{t:2,x:{r:["data.snode_researched"],s:'_0?"Researched":"Research Node"'},p:[6,115,425]}]}]}," ",{p:[8,2,511],t:7,e:"ui-display",a:{title:"Prerequisites"},f:[{t:4,f:[{p:[10,4,579],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[10,52,627]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[10,69,644]}]},f:[{t:2,r:"display_name",p:[10,114,689]}]}],n:52,r:"data.node_prereqs",p:[9,3,548]}]}," ",{p:[13,2,747],t:7,e:"ui-display",a:{title:"Unlocks"},f:[{t:4,f:[{p:[15,4,809],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[15,52,857]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[15,69,874]}]},f:[{t:2,r:"display_name",p:[15,114,919]}]}],n:52,r:"data.node_unlocks",p:[14,3,778]}]}," ",{p:[18,2,977],t:7,e:"ui-display",a:{title:"Designs"},f:[{t:4,f:[{p:[20,4,1039],t:7,e:"ui-button",a:{action:"select_design",params:['{"id": "',{t:2,r:"id",p:[20,54,1089]},'"}'],state:[{t:2,x:{r:["data.sdesign_id","id"],s:'_0==_1?"selected":null'},p:[20,71,1106]}]},f:[{t:2,r:"name",p:[20,118,1153]}]}],n:52,r:"data.node_designs",p:[19,3,1008]}]}],n:50,r:"data.node_selected",p:[1,1,0]},{t:4,f:[{p:[25,2,1239],t:7,e:"ui-display",a:{title:"No Node Selected."}}],n:50,x:{r:["data.node_selected"],s:"!_0"},p:[24,1,1210]}]},e.exports=a.extend(r.exports)},{341:341}],448:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[3,3,57],t:7,e:"ui-display",a:{title:"Protolathe Busy!"}}],n:50,r:"data.protobusy",p:[2,2,32]},{t:4,n:51,f:[{p:[5,3,120],t:7,e:"ui-display",f:[{p:[6,4,136],t:7,e:"ui-section",f:["Search Available Designs: ",{p:[7,4,177],t:7,e:"input",a:{value:[{t:2,r:"textsearch",p:[7,17,190]}],placeholder:"Type Here","class":"text"}}," ",{p:[8,5,248],t:7,e:"ui-button",a:{action:"textSearch",params:['{"latheType" : "proto", "inputText" : ',{t:2,r:"textsearch",p:[8,82,325]},"}"]},f:["Search"]}]}," ",{p:[10,4,381],t:7,e:"ui-section",f:["Materials: ",{t:2,r:"data.protomats",p:[10,27,404]}," / ",{t:2,r:"data.protomaxmats",p:[10,48,425]}]}," ",{p:[11,4,463],t:7,e:"ui-section",f:["Reagents: ",{t:2,r:"data.protochems",p:[11,26,485]}," / ",{t:2,r:"data.protomaxchems",p:[11,48,507]}]}," ",{p:[12,3,545],t:7,e:"ui-display",f:[{p:[14,3,561],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.lathe_tabs",p:[14,18,576]}]},f:[{p:[15,4,601],t:7,e:"tab",a:{name:"Category List"},f:[{t:4,f:[{p:[17,6,662],t:7,e:"ui-button",a:{action:"switchcat",state:[{t:2,x:{r:["data.protocat","name"],s:'_0==_1?"selected":null'},p:[17,43,699]}],params:['{"type" : "proto", "cat" : "',{t:2,r:"name",p:[17,125,781]},'"}']},f:[{t:2,r:"name",p:[17,137,793]}]}],n:52,r:"data.protocats",p:[16,5,632]}]}," ",{p:[20,4,841],t:7,e:"tab",a:{name:"Selected Category"},f:[{t:4,f:[{p:[22,6,905],t:7,e:"ui-section",f:[{t:2,r:"name",p:[22,18,917]},{t:2,r:"matstring",p:[22,26,925]}," ",{t:4,f:[{p:[24,8,973],t:7,e:"input",a:{value:[{t:2,r:"number",p:[24,21,986]}],placeholder:["1-",{t:2,x:{r:["canprint"],s:"_0>10?10:_0"},p:[24,47,1012]}],"class":"number"}}],n:50,x:{r:["canprint"],s:"_0>1"},p:[23,7,945]}," ",{p:[26,7,1083],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[26,40,1116]}],params:['{"latheType" : "proto", "id" : "',{t:2,r:"id",p:[26,117,1193]},'", "amount" : "',{t:2,r:"number",p:[26,138,1214]},'"}']},f:["Print"]}]}],n:52,r:"data.protodes",p:[21,5,876]}]}," ",{p:[30,4,1292],t:7,e:"tab",a:{name:"Search Results"},f:[{t:4,f:[{p:[32,6,1355],t:7,e:"ui-section",f:[{t:2,r:"name",p:[32,18,1367]},{t:2,r:"matstring",p:[32,26,1375]}," ",{t:4,f:[{p:[34,8,1423],t:7,e:"input",a:{value:[{t:2,r:"number",p:[34,21,1436]}],placeholder:["1-",{t:2,x:{r:["canprint"],s:"_0>10?10:_0"},p:[34,47,1462]}],"class":"number"}}],n:50,x:{r:["canprint"],s:"_0>1"},p:[33,7,1395]}," ",{p:[36,7,1533],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[36,40,1566]}],params:['{"latheType" : "proto", "id" : "',{t:2,r:"id",p:[36,117,1643]},'", "amount" : "',{t:2,r:"number",p:[36,138,1664]},'"}']},f:["Print"]}]}],n:52,r:"data.protomatch",p:[31,5,1324]}]}," ",{p:[40,4,1742],t:7,e:"tab",a:{name:"Materials"},f:[{t:4,f:[{p:[42,6,1803],t:7,e:"ui-section",f:[{t:2,r:"name",p:[42,18,1815]}," : ",{t:2,r:"amount",p:[42,29,1826]}," cm3 - ",{t:4,f:[{p:[44,7,1874],t:7,e:"input",a:{value:[{t:2,r:"number",p:[44,20,1887]}],placeholder:["1-",{t:2,r:"sheets",p:[44,46,1913]}],"class":"number"}}," ",{p:[45,7,1948],t:7,e:"ui-button",a:{action:"releasemats",params:['{"latheType" : "proto", "mat_id" : ',{t:2,r:"mat_id",p:[45,82,2023]},', "sheets" : ',{t:2,r:"number",p:[45,105,2046]},"}"]},f:["Release"]}],n:50,x:{r:["sheets"],s:"_0>0"},p:[43,6,1849]}]}],n:52,r:"data.protomat_list",p:[41,5,1769]}]}," ",{p:[50,4,2138],t:7,e:"tab",a:{name:"Chemicals"},f:[{t:4,f:[{p:[52,6,2200],t:7,e:"ui-section",f:[{t:2,r:"name",p:[52,18,2212]}," : ",{t:2,r:"amount",p:[52,29,2223]}," - ",{p:[53,7,2243],t:7,e:"ui-button",a:{action:"purgechem",params:['{"latheType" : "proto", "name" : ',{t:2,r:"name",p:[53,78,2314]},', "id" : ',{t:2,r:"reagentid",p:[53,95,2331]},"}"]},f:["Purge"]}]}],n:52,r:"data.protochem_list",p:[51,5,2165]}]}]}]}]}],r:"data.protobusy"}],n:50,r:"data.protolathe_linked",p:[1,1,0]},{t:4,n:51,f:[{p:[61,2,2444],t:7,e:"ui-display",a:{title:"No Linked Protolathe"}}],r:"data.protolathe_linked"}]},e.exports=a.extend(r.exports)},{341:341}],449:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,1,13],t:7,e:"span",a:{"class":"memoedit"},f:["Nanotrasen R&D Console"]},{p:[2,53,65],t:7,e:"br"}," Available Points: ",{p:[3,19,89],t:7,e:"ui-section",a:{title:"Research Points"},f:[{t:2,r:"data.research_points_stored",p:[3,55,125]}]}," ",{p:[4,1,170],t:7,e:"ui-section",a:{title:["Page Selection - ",{t:2,r:"page",p:[4,37,206]}]},f:[{p:[4,47,216],t:7,e:"input",a:{value:[{t:2,r:"pageselect",p:[4,60,229]}],placeholder:"1","class":"number"}}," Select Page: ",{p:[5,14,290],t:7,e:"ui-button",a:{action:"page",params:['{"num" : "',{t:2,r:"pageselect",p:[5,57,333]},'"}']},f:["[Go]"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],450:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"span",a:{"class":"bad"},f:["Settings"]},{p:[1,34,33],t:7,e:"br"},{p:[1,39,38],t:7,e:"br"}," ",{p:[2,1,44],t:7,e:"ui-button",a:{action:"Resync"},f:["RESYNC MACHINERY"]},{p:[2,56,99],t:7,e:"br"}," ",{p:[3,1,105],t:7,e:"ui-button",a:{action:"Lock"},f:["LOCK"]}," ",{p:[4,1,147],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "destroy"}',state:[{t:2,x:{r:["data.destroy_linked"],s:'_0?null:"disabled"'},p:[4,71,217]}]},f:["Disconnect Destructive Analyzer"]}," ",{p:[5,1,305],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "lathe"}',state:[{t:2,x:{r:["data.protolathe_linked"],s:'_0?null:"disabled"'},p:[5,69,373]}]},f:["Disconnect Protolathe"]}," ",{p:[6,1,454],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "imprinter"}',state:[{t:2,x:{r:["data.circuit_linked"],s:'_0?null:"disabled"'},p:[6,73,526]}]},f:["Disconnect Circuit Imprinter"]}]},e.exports=a.extend(r.exports)},{341:341}],451:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Available for Research"},f:[{t:4,f:[{p:[3,3,76],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[3,51,124]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[3,68,141]}]},f:[{t:2,r:"display_name",p:[3,113,186]}]}],n:52,r:"data.techweb_avail",p:[2,2,45]}]}," ",{p:[6,1,240],t:7,e:"ui-display",a:{title:"Locked Nodes"},f:[{t:4,f:[{p:[8,3,307],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[8,51,355]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[8,68,372]}]},f:[{t:2,r:"display_name",p:[8,113,417]}]}],n:52,r:"data.techweb_locked",p:[7,2,275]}]}," ",{p:[11,1,472],t:7,e:"ui-display",a:{title:"Researched Nodes"},f:[{t:4,f:[{p:[13,3,547],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[13,51,595]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[13,68,612]}]},f:[{t:2,r:"display_name",p:[13,113,657]}]}],n:52,r:"data.techweb_researched",p:[12,2,511]}]}]},e.exports=a.extend(r.exports)},{341:341}],452:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,1,24],t:7,e:"ui-notice",f:[{p:[3,3,38],t:7,e:"span",f:["The grinder is currently processing and cannot be used."]}]}],n:50,r:"data.processing",p:[1,1,0]},{p:{button:[{p:[8,5,201],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.operating","data.contents"],s:'(_0==0)&&_1?null:"disabled"'},p:[8,36,232]}],action:"eject"},f:["Eject Contents"]}]},t:7,e:"ui-display",a:{title:"Processing Chamber",button:0},f:[" ",{p:[10,3,355],t:7,e:"ui-section",a:{label:"Grinding"},f:[{p:[11,5,389],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.operating"],s:'_0?"average":"good"'},p:[11,18,402]}]},f:[{t:2,x:{r:["data.operating"],s:'_0?"Busy":"Ready"'},p:[11,59,443]}]}," ",{p:[12,2,489],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.operating","data.contents"],s:'(_0==0)&&_1?null:"disabled"'},p:[12,35,522]}],action:"grind"},f:["Activate"]}]}," ",{p:[14,3,640],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[17,9,739],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:["The ",{t:2,r:"name",p:[17,56,786]}]},{p:[17,71,801],t:7,e:"br"}],n:52,r:"adata.contentslist",p:[16,7,702]},{t:4,n:51,f:[{p:[19,9,830],t:7,e:"span",f:["No Contents"]}],r:"adata.contentslist"}],n:50,r:"data.contents",p:[15,5,674]},{t:4,n:51,f:[{p:[22,7,890],t:7,e:"span",f:["No Contents"]}],r:"data.contents"}]}]}," ",{p:{button:[{p:[28,5,1020],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.operating","data.isBeakerLoaded"],s:'(_0==0)&&_1?null:"disabled"'},p:[28,36,1051]}],action:"detach"},f:["Detach"]}]},t:7,e:"ui-display",a:{title:"Container",button:0},f:[" ",{p:[30,3,1173],t:7,e:"ui-section",a:{label:"Reagents"},f:[{t:4,f:[{p:[32,7,1241],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[32,13,1247]},"/",{t:2,r:"data.beakerMaxVolume",p:[32,55,1289]}," Units"]}," ",{p:[33,7,1333],t:7,e:"br"}," ",{t:4,f:[{p:[35,9,1384],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[35,52,1427]}," units of ",{t:2,r:"name",p:[35,87,1462]}]},{p:[35,102,1477],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[34,7,1345]},{t:4,n:51,f:[{p:[37,9,1506],t:7,e:"span",a:{"class":"bad"},f:["Container Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[31,5,1207]},{t:4,n:51,f:[{p:[40,7,1582],t:7,e:"span",a:{"class":"average"},f:["No Container"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],453:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Direction"},f:[{t:4,f:[{p:[3,3,62],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,5,101],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[5,23,119]}],action:"setdir",params:['{"dir": ',{t:2,r:"dir",p:[6,22,190]},', "flipped": ',{t:2,r:"flipped",p:[6,42,210]},"}"]},f:[{p:[6,56,224],t:7,e:"span",a:{"class":["pipes32x32 ",{t:2,r:"dir",p:[6,80,248]},"-",{t:2,r:"icon_state",p:[6,88,256]}],title:[{t:2,r:"dir_name",p:[6,111,279]}]}}]}],n:52,r:"previews",p:[4,4,78]}]}],n:52,r:"data.preview_rows",p:[2,2,32]}]}," ",{t:4,f:[{p:[12,2,395],t:7,e:"ui-display",a:{title:"Color"},f:[{t:4,f:[{p:[14,4,455],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["@key","data.selected_color"],s:'_0==_1?"selected":null'},p:[14,22,473]}],action:"color",params:['{"paint_color": ',{t:2,r:"@key",p:[15,44,569]},"}"]},f:[{t:2,r:"@key",p:[15,55,580]}]}],n:52,r:"data.paint_colors",p:[13,3,424]}]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[11,1,367]},{p:[19,1,636],t:7,e:"ui-display",a:{title:"Utilities"},f:[{p:[20,2,668],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&1?"check-square-o":"square-o"'},p:[20,19,685]}],action:"mode",params:'{"mode": 1}'},f:["Build"]}," ",{p:[22,2,792],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&2?"check-square-o":"square-o"'},p:[22,19,809]}],action:"mode",params:'{"mode": 2}'},f:["Wrench"]}," ",{p:[24,2,917],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&4?"check-square-o":"square-o"'},p:[24,19,934]}],action:"mode",params:'{"mode": 4}'},f:["Destroy"]}," ",{t:4,f:[{p:[27,3,1072],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&8?"check-square-o":"square-o"'},p:[27,20,1089]}],action:"mode",params:'{"mode": 8}'},f:["Paint"]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[26,2,1043]}]}," ",{p:[31,1,1219],t:7,e:"ui-display",a:{title:"Category"},f:[{p:[32,2,1250],t:7,e:"ui-section",f:[{p:[33,3,1265],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==0?"check-square-o":"square-o"'},p:[33,20,1282]}],state:[{t:2,x:{r:["data.category"],s:'_0<=0?"selected":null'},p:[33,83,1345]}],action:"category",params:'{"category": 0}'},f:["Atmospherics"]}," ",{p:[35,3,1462],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==1?"check-square-o":"square-o"'},p:[35,20,1479]}],state:[{t:2,x:{r:["data.category"],s:'_0==1?"selected":null'},p:[35,83,1542]}],action:"category",params:'{"category": 1}'},f:["Disposals"]}," ",{p:[37,3,1656],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==2?"check-square-o":"square-o"'},p:[37,20,1673]}],state:[{t:2,x:{r:["data.category"],s:'_0==2?"selected":null'},p:[37,83,1736]}],action:"category",params:'{"category": 2}'},f:["Transit Tubes"]}]}," ",{t:4,f:[{p:[41,3,1897],t:7,e:"ui-section",a:{label:"Piping Layer"},f:[{p:[42,4,1934],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==1?"selected":null'},p:[42,22,1952]}],action:"piping_layer",params:'{"piping_layer": 1}'},f:["1"]}," ",{p:[44,4,2072],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==2?"selected":null'},p:[44,22,2090]}],action:"piping_layer",params:'{"piping_layer": 2}'},f:["2"]}," ",{p:[46,4,2210],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==3?"selected":null'},p:[46,22,2228]}],action:"piping_layer",params:'{"piping_layer": 3}'},f:["3"]}]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[40,2,1868]}]}," ",{t:4,f:[{p:[52,2,2411],t:7,e:"ui-display",a:{title:[{t:2,r:"cat_name",p:[52,21,2430]}]},f:[{t:4,f:[{p:[54,4,2468],t:7,e:"ui-section",f:[{p:[55,5,2485],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[55,23,2503]}],action:"pipe_type",params:['{"pipe_type": ',{t:2,r:"pipe_index",p:[56,28,2583]},', "category": ',{t:2,r:"cat_name",p:[56,56,2611]},"}"]},f:[{t:2,r:"pipe_name",p:[56,71,2626]}]}]}],n:52,r:"recipes",p:[53,3,2447]}]}],n:52,r:"data.categories",p:[51,1,2384]}]},e.exports=a.extend(r.exports)},{341:341}],454:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Color"},f:[{t:4,f:[{p:[3,3,58],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[3,21,76]}],action:"color",params:['{"paint_color": ',{t:2,r:"color_name",p:[4,28,152]},"}"]},f:[{t:2,r:"color_name",p:[4,45,169]}]}],n:52,r:"data.paint_colors",p:[2,2,28]}]}]},e.exports=a.extend(r.exports)},{341:341}],455:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Direction"},f:[{t:4,f:[{p:[3,3,62],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,5,101],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[5,23,119]}],action:"setdir",params:['{"dir": ',{t:2,r:"dir",p:[6,22,190]},', "flipped": ',{t:2,r:"flipped",p:[6,42,210]},"}"]},f:[{p:[6,56,224],t:7,e:"img",a:{src:["pipe.",{t:2,r:"dir",p:[6,71,239]},".",{t:2,r:"icon_state",p:[6,79,247]},".png"],title:[{t:2,r:"dir_name",p:[6,106,274]}]}}]}],n:52,r:"previews",p:[4,4,78]}]}],n:52,r:"data.preview_rows",p:[2,2,32]}]}]},e.exports=a.extend(r.exports)},{341:341}],456:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,22],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,38]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,77],t:7,e:"ui-display",a:{title:"Satellite Network Control",button:0},f:[{t:4,f:[{p:[8,4,161],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[9,9,201],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[9,31,223]}]}," ",{p:[10,9,244],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"mode",p:[10,30,265]}]}," ",{p:[11,9,288],t:7,e:"div",a:{"class":"content"},f:[{p:[12,11,320],t:7,e:"ui-button",a:{action:"toggle",params:['{"id": "',{t:2,r:"id",p:[12,54,363]},'"}']},f:[{t:2,x:{r:["active"],s:'_0?"Deactivate":"Activate"'},p:[12,64,373]}]}]}]}],n:52,r:"data.satellites",p:[7,2,132]}]}," ",{t:4,f:[{p:[18,1,511],t:7,e:"ui-display",a:{title:"Station Shield Coverage"},f:[{p:[19,3,558],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.meteor_shield_coverage_max",p:[19,24,579]}],value:[{t:2,r:"data.meteor_shield_coverage",p:[19,68,623]}]},f:[{t:2,x:{r:["data.meteor_shield_coverage","data.meteor_shield_coverage_max"],s:"100*_0/_1"},p:[19,101,656]}," %"]}," ",{p:[20,1,739],t:7,e:"ui-display",f:[]}]}],n:50,r:"data.meteor_shield",p:[17,1,484]}]},e.exports=a.extend(r.exports)},{341:341}],457:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,25],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["enabled"],s:'_0?"check-square-o":"square-o"'},p:[2,20,42]}],style:[{t:2,x:{r:["enabled"],s:'_0?"selected":null'},p:[2,72,94]}],action:"toggle_filter",params:['{"id_tag": "',{t:2,r:"id_tag",p:[3,48,174]},'", "val": ',{t:2,r:"gas_id",p:[3,68,194]},"}"]},f:[{t:2,r:"gas_name",p:[3,81,207]}]}],n:52,r:"filter_types",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],458:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," ",{p:[5,1,196],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[5,16,211]}]},f:[{p:[6,2,228],t:7,e:"tab",a:{name:"Status"},f:[{p:[7,3,250],t:7,e:"status"}]}," ",{p:[9,2,269],t:7,e:"tab",a:{name:"Templates"},f:[{p:[10,3,294],t:7,e:"templates"}]}," ",{p:[12,2,316],t:7,e:"tab",a:{name:"Modification"},f:[{t:4,f:[{p:[14,3,368],t:7,e:"modification"}],n:50,r:"data.selected",p:[13,3,344]}," ",{t:4,f:[{p:[17,3,421],t:7,e:"span",a:{"class":"bad"},f:["No shuttle selected."]}],n:50,x:{r:["data.selected"],s:"!_0"},p:[16,3,396]}]}]}]},r.exports.components=r.exports.components||{};var i={modification:t(459),templates:t(461),status:t(460)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,459:459,460:460,461:461}],459:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:["Selected: ",{t:2,r:"data.selected.name",p:[1,30,29]}]},f:[{t:4,f:[{p:[3,5,94],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.selected.description",p:[3,37,126]}]}],n:50,r:"data.selected.description",p:[2,3,56]}," ",{t:4,f:[{p:[6,5,219],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"data.selected.admin_notes",p:[6,37,251]}]}],n:50,r:"data.selected.admin_notes",p:[5,3,181]}]}," ",{t:4,f:[{p:[11,3,351],t:7,e:"ui-display",a:{title:["Existing Shuttle: ",{t:2,r:"data.existing_shuttle.name",p:[11,40,388]}]},f:["Status: ",{t:2,r:"data.existing_shuttle.status",p:[12,13,433]}," ",{t:4,f:["(",{t:2,r:"data.existing_shuttle.timeleft",p:[14,8,513]},")"],n:50,r:"data.existing_shuttle.timer",p:[13,5,470]}," ",{p:[16,5,565],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"data.existing_shuttle.id",p:[17,41,633]},'"}']},f:["Jump To"]}]}],n:50,r:"data.existing_shuttle",p:[10,1,319]},{t:4,f:[{p:[24,3,755],t:7,e:"ui-display",a:{title:"Existing Shuttle: None"}}],n:50,x:{r:["data.existing_shuttle"],s:"!_0"},p:[23,1,722]},{p:[27,1,821],t:7,e:"ui-button",a:{action:"preview",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[28,27,875]},'"}']},f:["Preview"]}," ",{p:[31,1,931],t:7,e:"ui-button",a:{action:"load",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[32,27,982]},'"}'],style:"danger"},f:["Load"]}," ",{p:[37,1,1053],t:7,e:"ui-display",a:{title:"Status"},f:[]}]},e.exports=a.extend(r.exports)},{341:341}],460:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"table",a:{width:"100%"},f:[{t:4,f:[{p:[3,3,47],t:7,e:"tr",f:[{p:[4,5,56],t:7,e:"td",f:[{p:[5,7,67],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"id",p:[5,69,129]},'"}']},f:["JMP"]}]}," ",{p:[9,5,185],t:7,e:"td",f:[{p:[10,7,196],t:7,e:"ui-button",a:{action:"fly",params:['{"id": "',{t:2,r:"id",p:[10,47,236]},'"}'],state:[{t:2,x:{r:["can_fly"],s:'_0?null:"disabled"'},p:[10,64,253]}]},f:["Fly"]}]}," ",{p:[14,5,332],t:7,e:"td",f:[{t:2,r:"name",p:[15,7,343]}," (",{p:[15,17,353],t:7,e:"code",f:[{t:2,r:"id",p:[15,23,359]}]},")"]}," ",{p:[17,5,388],t:7,e:"td",f:[{t:2,r:"status",p:[18,7,399]}]}," ",{p:[20,5,424],t:7,e:"td",f:[{t:4,f:[{t:2,r:"mode",p:[22,9,456]}],n:50,r:"mode",p:[21,7,435]}," ",{t:4,f:["(",{t:2,r:"timeleft",p:[25,10,508]},") ",{p:[26,9,530],t:7,e:"ui-button",a:{action:"fast_travel",params:['{"id": "',{t:2,r:"id",p:[26,57,578]},'"}'],state:[{t:2,x:{r:["can_fast_travel"],s:'_0?null:"disabled"'},p:[26,74,595]}]},f:["Fast Travel"]}],n:50,r:"timer",p:[24,7,485]}]}]}],n:52,r:"data.shuttles",p:[2,1,21]}]}]},e.exports=a.extend(r.exports)},{341:341}],461:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.templates_tabs",p:[1,16,15]}]},f:[{t:4,f:[{p:[3,5,72],t:7,e:"tab",a:{name:[{t:2,r:"port_id",p:[3,16,83]}]},f:[{t:4,f:[{p:[5,9,131],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[5,28,150]}]},f:[{t:4,f:[{p:[7,13,203],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[7,45,235]}]}],n:50,r:"description",p:[6,11,171]}," ",{t:4,f:[{p:[10,13,324],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"admin_notes",p:[10,45,356]}]}],n:50,r:"admin_notes",p:[9,11,292]}," ",{p:[13,11,414],t:7,e:"ui-button",a:{action:"select_template",params:['{"shuttle_id": "',{t:2,r:"shuttle_id",p:[14,37,486]},'"}'],state:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"selected":null'},p:[15,20,523]}]},f:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"Selected":"Select"'},p:[17,13,614]}]}]}],n:52,r:"templates",p:[4,7,103]}]}],n:52,r:"data.templates",p:[2,3,43]}]}]},e.exports=a.extend(r.exports)},{341:341}],462:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[2,3,33],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[3,3,66],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[3,9,72]}]}]}," ",{t:4,f:[{p:[6,5,186],t:7,e:"ui-section",a:{label:"State"},f:[{p:[7,7,220],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.statstate",p:[7,20,233]}]},f:[{t:2,r:"data.occupant.stat",p:[7,49,262]}]}]}," ",{p:[9,5,315],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[10,7,350],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[10,20,363]}],max:[{t:2,r:"data.occupant.maxHealth",p:[10,54,397]}],value:[{t:2,r:"data.occupant.health",p:[10,90,433]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[11,16,475]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[11,68,527]}]}]}," ",{t:4,f:[{p:[14,7,764],t:7,e:"ui-section",a:{
-label:[{t:2,r:"label",p:[14,26,783]}]},f:[{p:[15,9,804],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[15,30,825]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[15,66,861]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[15,103,898]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[13,5,598]}," ",{t:4,f:[{p:[19,7,1020],t:7,e:"ui-section",a:{label:"Blood"},f:[{p:[20,9,1056],t:7,e:"ui-section",a:{label:"Volume"},f:[{p:[21,11,1095],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.blood.maxBloodVolume",p:[21,32,1116]}],value:[{t:2,r:"data.occupant.blood.currentBloodVolume",p:[21,79,1163]}],state:[{t:2,x:{r:["data.occupant.blood.currentBloodVolume","data.occupant.blood.dangerBloodVolume"],s:'_0<=_1?"bad":"good"'},p:[21,130,1214]}]},f:[{t:3,x:{r:["data.occupant.blood.currentBloodVolume","data.occupant.blood.dangerBloodVolume"],s:'_0<=_1?"LOW ":"OK"'},p:[21,232,1316]}," - ",{t:2,x:{r:["data.occupant.blood.currentBloodVolume"],s:"Math.round(_0)"},p:[21,342,1426]}," cl"]}]}," ",{p:[23,9,1525],t:7,e:"ui-section",a:{label:"Type"},f:[{p:[24,11,1562],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:"data.occupant.blood.bloodType",p:[24,35,1586]}]}]}]}],n:50,r:"data.occupant.blood",p:[18,5,985]}," ",{p:[28,5,1689],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[29,9,1725],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[29,22,1738]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[29,68,1784]}]}]}," ",{p:[31,5,1867],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[32,9,1903],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[32,22,1916]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[32,68,1962]}]}]}," ",{t:4,f:[{p:[35,3,2083],t:7,e:"ui-section",a:{label:"Failing Organs"},f:[{t:4,f:[{p:[37,5,2167],t:7,e:"span",a:{"class":"bad"},f:[{t:2,r:"name",p:[37,24,2186]}]}],n:52,r:"data.occupant.failing_organs",p:[36,4,2123]}]}],n:50,r:"data.occupant.failing_organs",p:[34,2,2043]}," ",{p:[41,5,2249],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[43,11,2336],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[43,54,2379]}," units of ",{t:2,r:"name",p:[43,89,2414]}]},{p:[43,104,2429],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[42,9,2291]},{t:4,n:51,f:[{p:[45,11,2464],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[5,3,159]}]}," ",{p:[50,1,2560],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[51,2,2592],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[52,5,2623],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[52,22,2640]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[52,71,2689]}]}]}," ",{p:[55,3,2756],t:7,e:"ui-section",a:{label:"Synthesize"},f:[{t:4,f:[{p:[57,7,2826],t:7,e:"ui-button",a:{grid:0,state:[{t:2,x:{r:["synth_allowed"],s:'_0?null:"disabled"'},p:[57,30,2849]}],action:"synth",params:['{"chem": "',{t:2,r:"id",p:[57,102,2921]},'"}']},f:[{t:2,r:"name",p:[57,112,2931]}]}],n:52,r:"data.synthchems",p:[56,5,2793]}]}," ",{p:[61,3,2989],t:7,e:"ui-section",a:{label:"Inject"},f:[{p:[62,2,3019],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[63,3,3052],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[64,4,3086],t:7,e:"section",a:{"class":"compressedcell"},f:["Name"]}," ",{p:[68,4,3150],t:7,e:"section",a:{"class":"compressedcell"},f:["Volume"]}," ",{t:4,f:[{p:[73,5,3250],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[74,6,3289],t:7,e:"span",f:["Purity"]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=4"},p:[72,4,3216]}," ",{t:4,f:[{p:[79,5,3377],t:7,e:"section",a:{"class":"compressedcell"},f:[]}],n:50,x:{r:["data.efficiency"],s:"_0>=3"},p:[78,4,3343]}," ",{t:4,f:[{p:[84,5,3478],t:7,e:"section",a:{"class":"compressedcell"},f:[]}],n:50,x:{r:["data.efficiency"],s:"_0>=2"},p:[83,4,3444]}," ",{p:[88,4,3545],t:7,e:"section",a:{"class":"compressedcell"},f:[]}," ",{p:[91,4,3599],t:7,e:"section",a:{"class":"compressedcell"},f:[]}]}," ",{t:4,f:[{p:[96,4,3691],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[97,5,3726],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[98,6,3765],t:7,e:"span",f:[{p:[98,12,3771],t:7,e:"b",f:[{t:2,r:"name",p:[98,15,3774]}]}]}]}," ",{p:[101,5,3817],t:7,e:"section",a:{"class":"compressedcell",align:"center"},f:[{p:[102,6,3871],t:7,e:"span",f:[{t:2,r:"vol",p:[102,12,3877]},"u"]}]}," ",{t:4,f:[{p:[106,6,3953],t:7,e:"section",a:{"class":"compressedcell",align:"center"},f:[{p:[107,7,4008],t:7,e:"span",f:[{t:2,r:"purity",p:[107,13,4014]}]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=4"},p:[105,7,3918]}," ",{t:4,f:[{p:[112,6,4106],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[113,7,4146],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[113,25,4164]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[113,109,4248]},'", "volume": 1}']},f:["1"]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=3"},p:[111,5,4071]}," ",{t:4,f:[{p:[118,6,4358],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[119,7,4398],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[119,25,4416]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[119,109,4500]},'", "volume": 5}']},f:["5"]}]}],n:50,x:{r:["adata.efficiency"],s:"_0>=2"},p:[117,5,4322]}," ",{p:[123,5,4574],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[124,6,4613],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[124,24,4631]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[124,108,4715]},'", "volume": 10}']},f:["10"]}]}," ",{p:[127,5,4777],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[128,6,4816],t:7,e:"ui-button",a:{action:"purge",params:['{"chem": "',{t:2,r:"id",p:[128,50,4860]},'"}']},f:["Purge"]},{p:[128,77,4887],t:7,e:"br"}]}]}],n:52,r:"data.chems",p:[95,3,3666]}]}]}," ",{p:[135,3,4968],t:7,e:"ui-section",a:{label:"Capacity"},f:[{p:[136,5,5003],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.tot_capacity",p:[136,24,5022]}],value:[{t:2,r:"data.current_vol",p:[136,54,5052]}],state:[{t:2,r:"data.current_vol",p:[137,12,5086]}]},f:[{t:2,r:"data.current_vol",p:[137,34,5108]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],463:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,24],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,43]}],labelcolor:[{t:2,r:"htmlcolor",p:[2,44,65]}],candystripe:0,right:0},f:[{p:[3,5,103],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,32,130],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0=="Dead"?"bad bold":_0=="Unconscious"?"average bold":"good"'},p:[3,45,143]}]},f:[{t:2,r:"status",p:[3,132,230]}]}]}," ",{p:[4,5,265],t:7,e:"ui-section",a:{label:"Jelly"},f:[{t:2,r:"exoticblood",p:[4,31,291]}]}," ",{p:[5,5,324],t:7,e:"ui-section",a:{label:"Location"},f:[{t:2,r:"area",p:[5,34,353]}]}," ",{p:[7,5,380],t:7,e:"ui-button",a:{state:[{t:2,r:"swap_button_state",p:[8,14,404]}],action:"swap",params:['{"ref": "',{t:2,r:"ref",p:[9,38,464]},'"}']},f:[{t:4,f:["You Are Here"],n:50,x:{r:["occupied"],s:'_0=="owner"'},p:[10,7,482]},{t:4,n:51,f:[{t:4,f:["Occupied"],n:50,x:{r:["occupied"],s:'_0=="stranger"'},p:[13,9,554]},{t:4,n:51,f:["Swap"],x:{r:["occupied"],s:'_0=="stranger"'}}],x:{r:["occupied"],s:'_0=="owner"'}}]}]}],n:52,r:"data.bodies",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],464:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,23,79],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.drying"],s:'_0?"stop":"tint"'},p:[4,40,96]}],action:"Dry"},f:[{t:2,x:{r:["data.drying"],s:'_0?"Stop drying":"Dry"'},p:[4,88,144]}]}],n:50,r:"data.isdryer",p:[4,3,59]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[7,3,252],t:7,e:"ui-notice",f:[{p:[8,5,268],t:7,e:"span",f:["Unfortunately, this ",{t:2,r:"data.name",p:[8,31,294]}," is empty."]}]}],n:50,x:{r:["data.contents.length"],s:"_0==0"},p:[6,1,216]},{t:4,n:51,f:[{p:[11,1,349],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[12,2,380],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[13,4,413],t:7,e:"section",a:{"class":"cell bold"},f:["Item"]}," ",{p:[16,4,467],t:7,e:"section",a:{"class":"cell bold"},f:["Quantity"]}," ",{p:[19,4,525],t:7,e:"section",a:{"class":"cell bold",align:"center"},f:[{t:4,f:[{t:2,r:"data.verb",p:[20,22,589]}],n:50,r:"data.verb",p:[20,5,572]},{t:4,n:51,f:["Dispense"],r:"data.verb"}]}]}," ",{t:4,f:[{p:[24,3,680],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[25,4,713],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[26,5,740]}]}," ",{p:[28,4,766],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[29,5,807]}]}," ",{p:[31,4,835],t:7,e:"section",a:{"class":"table",alight:"right"},f:[{p:[32,5,878],t:7,e:"section",a:{"class":"cell"}}," ",{p:[33,5,915],t:7,e:"section",a:{"class":"cell"},f:[{p:[34,6,943],t:7,e:"ui-button",a:{grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[34,45,982]}],params:['{ "name" : ',{t:2,r:"name",p:[34,102,1039]},', "amount" : 1 }']},f:["One"]}]}," ",{p:[38,5,1114],t:7,e:"section",a:{"class":"cell"},f:[{p:[39,6,1142],t:7,e:"ui-button",a:{grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>1)?null:"disabled"'},p:[39,45,1181]}],params:['{ "name" : ',{t:2,r:"name",p:[39,101,1237]}," }"]},f:["Many"]}]}]}]}],n:52,r:"data.contents",p:[23,2,654]}]}],x:{r:["data.contents.length"],s:"_0==0"}}]}]},e.exports=a.extend(r.exports)},{341:341}],465:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[24,1,640],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,671],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,710],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,743]}],state:[{t:2,r:"capacityPercentState",p:[26,71,776]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,802]},"%"]}]}]}," ",{p:[29,1,880],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,909],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,946],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,963]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,1015]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1082]}]},"  [",{p:[34,6,1149],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1162]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1178]}]},"]"]}," ",{p:[36,3,1300],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1338],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1359]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1390]}]},f:[{t:2,r:"adata.inputLevel_text",p:[37,78,1411]}]}]}," ",{p:[39,3,1463],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1501],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1540]}],action:"input",params:'{"target": "min"}'}}," ",{p:[41,5,1634],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1668]}],action:"input",params:'{"adjust": -10000}'}}," ",{p:[42,5,1763],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"target": "input"}'},f:["Set"]}," ",{p:[43,5,1852],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1885]}],action:"input",params:'{"adjust": 10000}'}}," ",{p:[44,5,1996],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2034]}],action:"input",params:'{"target": "max"}'}}]}," ",{p:[46,3,2159],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2192],t:7,e:"span",f:[{t:2,r:"adata.inputAvailable",p:[47,9,2198]}]}]}]}," ",{p:[50,1,2259],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2289],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2326],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2343]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2398]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2467]}]},"  [",{p:[55,6,2533],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2546]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2563]}]},"]"]}," ",{p:[57,3,2668],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2707],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2728]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2760]}]},f:[{t:2,r:"adata.outputLevel_text",p:[58,80,2782]}]}]}," ",{p:[60,3,2835],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2874],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,2913]}],action:"output",params:'{"target": "min"}'}}," ",{p:[62,5,3009],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3043]}],action:"output",params:'{"adjust": -10000}'}}," ",{p:[63,5,3140],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"target": "input"}'},f:["Set"]}," ",{p:[64,5,3230],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3263]}],action:"output",params:'{"adjust": 10000}'}}," ",{p:[65,5,3377],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3415]}],action:"output",params:'{"target": "max"}'}}]}," ",{p:[67,3,3543],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3577],t:7,e:"span",f:[{t:2,r:"adata.outputUsed",p:[68,9,3583]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],466:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:["\ufeff",{t:4,f:[" ",{p:[2,2,32],t:7,e:"ui-display",a:{title:"Dispersal Tank"},f:[{p:[3,3,71],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[4,4,101],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.active"],s:'_0?"power-off":"close"'},p:[4,21,118]}],style:[{t:2,x:{r:["data.active"],s:'_0?"selected":null'},p:[5,12,170]}],state:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?null:"disabled"'},p:[6,12,218]}],action:"power"},f:[{t:2,x:{r:["data.active"],s:'_0?"On":"Off"'},p:[7,20,280]}]}]}," ",{p:[10,3,345],t:7,e:"ui-section",a:{label:"Smoke Radius Setting"},f:[{p:[11,5,391],t:7,e:"div",a:{"class":"content",style:"float:left"},f:[{p:[12,6,437],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=1?null:"disabled"'},p:[12,36,467]}],style:[{t:2,x:{r:["data.setting"],s:'_0==1?"selected":null'},p:[12,89,520]}],action:"setting",params:'{"amount": 1}'},f:["3"]}," ",{p:[13,6,622],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=2?null:"disabled"'},p:[13,36,652]}],style:[{t:2,x:{r:["data.setting"],s:'_0==2?"selected":null'},p:[13,89,705]}],action:"setting",params:'{"amount": 2}'},f:["6"]}," ",{p:[14,6,807],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=3?null:"disabled"'},p:[14,36,837]}],style:[{t:2,x:{r:["data.setting"],s:'_0==3?"selected":null'},p:[14,89,890]}],action:"setting",params:'{"amount": 3}'},f:["9"]}," ",{p:[15,6,992],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=4?null:"disabled"'},p:[15,36,1022]}],style:[{t:2,x:{r:["data.setting"],s:'_0==4?"selected":null'},p:[15,89,1075]}],action:"setting",params:'{"amount": 4}'},f:["12"]}," ",{p:[16,6,1178],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=5?null:"disabled"'},p:[16,36,1208]}],style:[{t:2,x:{r:["data.setting"],s:'_0==5?"selected":null'},p:[16,89,1261]}],action:"setting",params:'{"amount": 5}'},f:["15"]}]}]}," ",{p:[19,3,1392],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[21,6,1456],t:7,e:"span",f:[{t:2,x:{r:["adata.TankCurrentVolume"],s:"Math.round(_0)"},p:[21,12,1462]},"/",{t:2,r:"data.TankMaxVolume",p:[21,52,1502]}," Units"]}," ",{p:[22,6,1543],t:7,e:"br"}," ",{p:[23,5,1553],t:7,e:"br"}," ",{t:4,f:[{p:[25,7,1599],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[25,50,1642]}," units of ",{t:2,r:"name",p:[25,85,1677]}]},{p:[25,100,1692],t:7,e:"br"}],n:52,r:"adata.TankContents",p:[24,6,1564]}],n:50,r:"data.isTankLoaded",p:[20,4,1425]},{t:4,n:51,f:[{p:[28,6,1730],t:7,e:"span",a:{"class":"bad"},f:["Tank Empty"]}],r:"data.isTankLoaded"}," ",{p:[30,4,1780],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"Eject":"Close"'},p:[30,21,1797]}],style:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"selected":null'},p:[31,12,1851]}],state:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?null:"disabled"'},p:[32,12,1905]}],action:"purge"},f:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"Purge Contents":"No chemicals detected"'},p:[33,20,1967]}]}]}]}],n:50,x:{r:["data.screen"],s:'_0=="home"'},p:[1,2,1]}]},e.exports=a.extend(r.exports)},{341:341}],467:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,71]},"W"]}," ",{p:[5,3,122],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,159],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,165]},"° (",{t:2,r:"data.direction",p:[6,45,199]},")"]}]}," ",{p:[8,3,244],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,282],t:7,e:"ui-button",a:{icon:"step-backward",action:"angle",params:'{"adjust": -15}'},f:["15°"]}," ",{p:[10,5,378],t:7,e:"ui-button",a:{icon:"backward",action:"angle",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[11,5,467],t:7,e:"ui-button",a:{icon:"forward",action:"angle",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[12,5,554],t:7,e:"ui-button",a:{icon:"step-forward",action:"angle",params:'{"adjust": 15}'},f:["15°"]}]}]}," ",{p:[15,1,673],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,705],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,743],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,774]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,889],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,922]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1039],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1072]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1239],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1276],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1282]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1326]},")"]}]}," ",{p:[27,3,1373],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1410],t:7,e:"ui-button",a:{icon:"fast-backward",action:"rate",params:'{"adjust": -180}'},f:["180°"]}," ",{p:[29,5,1507],t:7,e:"ui-button",a:{icon:"step-backward",action:"rate",params:'{"adjust": -30}'},f:["30°"]}," ",{p:[30,5,1602],t:7,e:"ui-button",a:{icon:"backward",action:"rate",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[31,5,1690],t:7,e:"ui-button",a:{icon:"forward",action:"rate",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[32,5,1776],t:7,e:"ui-button",a:{icon:"step-forward",action:"rate",params:'{"adjust": 30}'},f:["30°"]}," ",{p:[33,5,1869],t:7,e:"ui-button",a:{icon:"fast-forward",action:"rate",params:'{"adjust": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2051],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2130],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2169],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2182]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2227]},"Found"]}]}," ",{p:[43,2,2296],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2332],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2345]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2389]}," Panels Connected"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],468:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,7,84],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[4,38,115]}],action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[3,5,60]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[7,3,220],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[8,5,251],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[8,22,268]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[9,14,318]}],state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[9,54,358]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[10,22,422]}]}]}," ",{p:[12,3,479],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[14,7,541],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[14,40,574]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[14,61,595]},"%"]}],n:50,r:"data.hasPowercell",p:[13,5,509]},{t:4,n:51,f:[{p:[16,4,652],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[20,1,725],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[21,3,759],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[22,3,802],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[22,9,808]},"°C"]}]}," ",{p:[24,2,871],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[25,3,913],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[25,9,919]},"°C"]}]}," ",{t:4,f:[{p:[28,5,1004],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[29,7,1045],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[29,46,1084]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[30,7,1189],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[30,41,1223]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[31,7,1327],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:["Set"]}," ",{p:[32,7,1419],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[32,40,1452]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[33,7,1555],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[33,45,1593]}],action:"target",params:'{"adjust": 20}'}}]}],n:50,r:"data.open",p:[27,3,982]}," ",{p:[36,3,1719],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[38,7,1771],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[38,46,1810]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[39,7,1918],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[39,48,1959]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[40,7,2067],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[40,41,2101]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[37,3,1747]},{t:4,n:51,f:[{p:[42,4,2217],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[42,10,2223]}]}],r:"data.open"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],469:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:{button:[{p:[4,8,97],t:7,e:"ui-button",a:{action:"jump",params:['{"name" : ',{t:2,r:"name",p:[4,51,140]},"}"]},f:["Jump"]}," ",{p:[7,9,195],t:7,e:"ui-button",a:{action:"spawn",params:['{"name" : ',{t:2,r:"name",p:[7,53,239]},"}"]},f:["Spawn"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[2,22,46]}],button:0},f:[" ",{p:[11,3,308],t:7,e:"ui-section",a:{label:"Description"},f:[{p:[12,5,346],t:7,e:"span",f:[{t:3,r:"desc",p:[12,11,352]}]}]}," ",{p:[14,3,390],t:7,e:"ui-section",a:{label:"Spawners left"},f:[{p:[15,5,430],t:7,e:"span",f:[{t:2,r:"amount_left",p:[15,11,436]}]}]}]}],n:52,r:"data.spawners",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],470:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,30],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,49]}," Alarms"]},f:[{p:[3,5,72],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,103],t:7,e:"li",f:[{t:2,r:".",p:[5,13,107]}]}],n:52,r:".",p:[4,7,83]},{t:4,n:51,f:[{p:[7,9,141],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],471:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,41],t:7,e:"ui-notice",f:[{p:[3,5,57],t:7,e:"span",f:["Biological entity detected in contents. Please remove."]}]}],n:50,x:{r:["data.occupied","data.safeties"],s:"_0&&_1"},p:[1,1,0]},{t:4,f:[{p:[7,3,173],t:7,e:"ui-notice",f:[{p:[8,5,189],t:7,e:"span",f:["Contents are being disinfected. Please wait."]}]}],n:50,r:"data.uv_active",p:[6,1,148]},{t:4,n:51,f:[{p:{button:[{t:4,f:[{p:[13,25,357],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,42,374]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[13,93,425]}]}],n:50,x:{r:["data.open"],s:"!_0"},p:[13,7,339]}," ",{t:4,f:[{p:[14,27,506],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"sign-out":"sign-in"'},p:[14,44,523]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Close":"Open"'},p:[14,98,577]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[14,7,486]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[17,7,676],t:7,e:"ui-notice",f:[{p:[18,9,696],t:7,e:"span",f:["Unit Locked"]}]}],n:50,r:"data.locked",p:[16,5,650]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.open"],s:"_0"},f:[{p:[21,9,773],t:7,e:"ui-section",a:{label:"Helmet"},f:[{p:[22,11,811],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.helmet"],s:'_0?"square":"square-o"'},p:[22,28,828]}],state:[{t:2,x:{r:["data.helmet"],s:'_0?null:"disabled"'},p:[22,75,875]}],action:"dispense",params:'{"item": "helmet"}'},f:[{t:2,x:{r:["data.helmet"],s:'_0||"Empty"'},p:[23,59,970]}]}]}," ",{p:[25,9,1039],t:7,e:"ui-section",a:{label:"Suit"},f:[{p:[26,11,1075],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.suit"],s:'_0?"square":"square-o"'},p:[26,28,1092]}],state:[{t:2,x:{r:["data.suit"],s:'_0?null:"disabled"'},p:[26,74,1138]}],action:"dispense",params:'{"item": "suit"}'},f:[{t:2,x:{r:["data.suit"],s:'_0||"Empty"'},p:[27,57,1229]}]}]}," ",{p:[29,9,1296],t:7,e:"ui-section",a:{label:"Mask"},f:[{p:[30,11,1332],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mask"],s:'_0?"square":"square-o"'},p:[30,28,1349]}],state:[{t:2,x:{r:["data.mask"],s:'_0?null:"disabled"'},p:[30,74,1395]}],action:"dispense",params:'{"item": "mask"}'},f:[{t:2,x:{r:["data.mask"],s:'_0||"Empty"'},p:[31,57,1486]}]}]}," ",{p:[33,9,1553],t:7,e:"ui-section",a:{label:"Storage"},f:[{p:[34,11,1592],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.storage"],s:'_0?"square":"square-o"'},p:[34,28,1609]}],state:[{t:2,x:{r:["data.storage"],s:'_0?null:"disabled"'},p:[34,77,1658]}],action:"dispense",params:'{"item": "storage"}'},f:[{t:2,x:{r:["data.storage"],s:'_0||"Empty"'},p:[35,60,1755]}]}]}]},{t:4,n:50,x:{r:["data.open"],s:"!(_0)"},f:[" ",{p:[38,7,1836],t:7,e:"ui-button",a:{icon:"recycle",state:[{t:2,x:{r:["data.occupied","data.safeties"],s:'_0&&_1?"disabled":null'},p:[38,40,1869]}],action:"uv"},f:["Disinfect"]}]}],r:"data.locked"}]}],r:"data.uv_active"}]},e.exports=a.extend(r.exports)},{341:341}],472:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,5,17],t:7,e:"ui-section",a:{label:"Dispense"},f:[{p:[3,9,55],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.plasma"],s:'_0?"square":"square-o"'},p:[3,26,72]}],state:[{t:2,x:{r:["data.plasma"],s:'_0?null:"disabled"'},p:[3,74,120]}],action:"plasma"},f:["Plasma (",{t:2,x:{r:["adata.plasma"],s:"Math.round(_0)"},p:[4,37,193]},")"]}," ",{p:[5,9,243],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oxygen"],s:'_0?"square":"square-o"'},p:[5,26,260]}],state:[{t:2,x:{r:["data.oxygen"],s:'_0?null:"disabled"'},p:[5,74,308]}],action:"oxygen"},f:["Oxygen (",{t:2,x:{r:["adata.oxygen"],s:"Math.round(_0)"},p:[6,37,381]},")"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],473:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,282],t:7,e:"ui-notice",f:[{p:[15,3,296],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.connected"],s:'_0?"is":"is not"'},p:[15,23,316]}," connected to a mask."]}]}," ",{p:[17,1,393],t:7,e:"ui-display",f:[{p:[18,3,408],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,449],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,483]}],state:[{t:2,r:"tankPressureState",p:[20,16,521]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,544]}," kPa"]}]}," ",{p:[22,3,610],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,652],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,665]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,699]}],value:[{t:2,r:"data.releasePressure",p:[24,14,741]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,767]}," kPa"]}]}," ",{p:[26,3,836],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,880],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,913]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1067],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1098]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1243],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1337],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1367]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],474:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,5,32],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[3,9,73],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[3,15,79]}," K"]}]}," ",{p:[5,5,147],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,9,185],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[6,15,191]}," kPa"]}]}]}," ",{p:[9,1,268],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[10,5,302],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,337],t:7,e:"ui-button",a:{icon:[{
-t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[11,26,354]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[11,70,398]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[12,28,458]}]}]}," ",{p:[14,5,518],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[15,9,566],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[15,48,605]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[17,9,717],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[17,43,751]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[19,9,862],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[19,79,932]}]}," ",{p:[20,9,984],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[20,42,1017]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[22,9,1127],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[22,47,1165]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],475:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 1:return"good";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[13,1,161],t:7,e:"ui-notice",f:[{p:[14,2,174],t:7,e:"ui-section",a:{label:"Reconnect"},f:[{p:[15,3,207],t:7,e:"div",a:{style:"float:right"},f:[{p:[16,4,236],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]}]}]}," ",{p:[20,1,340],t:7,e:"ui-display",a:{title:"Turbine Controller"},f:[{p:[21,2,381],t:7,e:"ui-section",a:{label:"Status"},f:[{t:4,f:[{p:[23,4,434],t:7,e:"span",a:{"class":"bad"},f:["Broken"]}],n:50,r:"data.broken",p:[22,3,411]},{t:4,n:51,f:[{p:[25,4,480],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.online"],s:"_0(_1)"},p:[25,17,493]}]},f:[{t:2,x:{r:["data.online","data.compressor_broke","data.turbine_broke"],s:'_0&&!(_1||_2)?"Online":"Offline"'},p:[25,46,522]}]}],r:"data.broken"}," ",{p:[27,3,630],t:7,e:"div",a:{style:"float:right"},f:[{p:[28,4,659],t:7,e:"ui-button",a:{icon:"power-off",action:"power-on",state:[{t:2,r:"data.broken",p:[28,57,712]}],style:[{t:2,x:{r:["data.online"],s:'_0?"selected":""'},p:[28,81,736]}]},f:["On"]}," ",{p:[29,4,789],t:7,e:"ui-button",a:{icon:"close",action:"power-off",state:[{t:2,r:"data.broken",p:[29,54,839]}],style:[{t:2,x:{r:["data.online"],s:'_0?"":"selected"'},p:[29,78,863]}]},f:["Off"]}]}," ",{t:4,f:[{p:[32,4,958],t:7,e:"br"}," [ ",{p:[33,6,968],t:7,e:"span",a:{"class":"bad"},f:["Compressor is inoperable"]}," ]"],n:50,r:"data.compressor_broke",p:[31,3,925]}," ",{t:4,f:[{p:[36,4,1062],t:7,e:"br"}," [ ",{p:[37,6,1072],t:7,e:"span",a:{"class":"bad"},f:["Turbine is inoperable"]}," ]"],n:50,r:"data.turbine_broke",p:[35,3,1032]}]}]}," ",{p:[41,1,1160],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[42,2,1189],t:7,e:"ui-section",a:{label:"Turbine Speed"},f:[{p:[43,3,1226],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.rpm"],s:'_0?"--":_1'},p:[43,9,1232]}," RPM"]}]}," ",{p:[45,2,1293],t:7,e:"ui-section",a:{label:"Internal Temp"},f:[{p:[46,3,1330],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.temp"],s:'_0?"--":_1'},p:[46,9,1336]}," K"]}]}," ",{p:[48,2,1396],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{p:[49,3,1435],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.power"],s:'_0?"--":_1'},p:[49,9,1441]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],476:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{},oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(r),r.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[23,7,460],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[22,5,432]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[26,3,543],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[27,5,587],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[27,18,600]}]},f:[{t:2,r:"data.telecrystals",p:[27,62,644]}," TC"]}]}]}," ",{t:4,f:[{p:[31,3,734],t:7,e:"ui-display",f:[{p:[32,2,748],t:7,e:"ui-button",a:{action:"select",params:['{"category": "',{t:2,r:"name",p:[32,51,797]},'"}']},f:[{t:2,r:"name",p:[32,63,809]}]}," ",{t:4,f:[{p:[34,4,850],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[34,23,869]}],candystripe:0,right:0},f:[{p:[35,3,900],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[35,23,920]},": ",{t:2,r:"desc",p:[35,33,930]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[36,12,971]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[37,40,1129]},'", "item": ',{t:2,r:"name",p:[37,63,1152]},', "cost": ',{t:2,r:"cost",p:[37,81,1170]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[38,43,1223]}," TC"]}]}],n:52,r:"items",p:[33,2,831]}]}],n:52,r:"data.categories",p:[30,1,706]}]},e.exports=a.extend(r.exports)},{341:341}],477:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{healthState:function(t){var e=this.get("data.vr_avatar.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,292],t:7,e:"ui-display",f:[{t:4,f:[{p:[16,3,331],t:7,e:"ui-notice",f:[{p:[17,4,347],t:7,e:"span",f:["Safety restraints disabled."]}]}],n:50,r:"data.emagged",p:[15,2,307]}," ",{t:4,f:[{p:[21,3,442],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:[{p:[22,4,482],t:7,e:"ui-section",a:{label:"Name"},f:[{t:2,r:"data.vr_avatar.name",p:[23,5,513]}]}," ",{t:4,f:[{p:[26,5,586],t:7,e:"ui-section",a:{label:"Status"},f:[{t:2,r:"data.vr_avatar.status",p:[27,6,620]}]}," ",{p:[29,5,670],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[30,6,704],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.vr_avatar.maxhealth",p:[30,27,725]}],value:[{t:2,r:"adata.vr_avatar.health",p:[30,65,763]}],state:[{t:2,x:{r:["healthState","adata.vr_avatar.health"],s:"_0(_1)"},p:[30,100,798]}]},f:[{t:2,x:{r:["adata.vr_avatar.health"],s:"Math.round(_0)"},p:[30,141,839]},"/",{t:2,r:"adata.vr_avatar.maxhealth",p:[30,180,878]}]}]}],n:50,r:"data.isliving",p:[25,4,559]}]}],n:50,r:"data.vr_avatar",p:[20,2,416]},{t:4,n:51,f:[{p:[35,3,979],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:["No Virtual Avatar detected"]}],r:"data.vr_avatar"}," ",{p:[39,2,1075],t:7,e:"ui-display",a:{title:"VR Commands"},f:[{p:[40,3,1111],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.toggle_open"],s:'_0?"times":"plus"'},p:[40,20,1128]}],action:"toggle_open"},f:[{t:2,x:{r:["data.toggle_open"],s:'_0?"Close":"Open"'},p:[41,4,1195]}," the VR Sleeper"]}," ",{t:4,f:[{p:[44,4,1297],t:7,e:"ui-button",a:{icon:"signal",action:"vr_connect"},f:["Connect to VR"]}],n:50,r:"data.isoccupant",p:[43,3,1269]}," ",{t:4,f:[{p:[49,4,1420],t:7,e:"ui-button",a:{icon:"ban",action:"delete_avatar"},f:["Delete Virtual Avatar"]}],n:50,r:"data.vr_avatar",p:[48,3,1393]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],478:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=a.extend(r.exports)},{341:341}],479:[function(t,e,n){(function(e){"use strict";var n=t(341),a=e.interopRequireDefault(n);t(331),t(1),t(327),t(330);var r=t(480),i=e.interopRequireDefault(r),o=t(481),s=t(328),p=t(329),u=e.interopRequireDefault(p);a["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(485)),window.initialize=function(e){window.tgui=window.tgui||new i["default"]({el:"#container",data:function(){var n=JSON.parse(e);return{constants:t(482),text:t(486),config:n.config,data:n.data,adata:n.data}}})};var c=document.getElementById("data"),l=c.textContent,d=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,o.act)(d,"tgui:initialize"),(0,s.loadCSS)("font-awesome.min.css");var f=new u["default"]("FontAwesome");f.check("").then(function(){return document.body.classList.add("icons")})["catch"](function(){return document.body.classList.add("no-icons")})}).call(this,t("babel/external-helpers"))},{1:1,327:327,328:328,329:329,330:330,331:331,341:341,480:480,481:481,482:482,485:485,486:486,"babel/external-helpers":"babel/external-helpers"}],480:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(481),a=t(483);e.exports={components:{"ui-bar":t(342),"ui-button":t(343),"ui-display":t(344),"ui-input":t(345),"ui-linegraph":t(346),"ui-notice":t(347),"ui-section":t(349),"ui-subdisplay":t(350),"ui-tabs":t(351)},events:{enter:t(339).enter,space:t(339).space},transitions:{fade:t(340)},onconfig:function(){var e=this.get("config.interface"),n={ai_airlock:t(355),airalarm:t(356),"airalarm/back":t(357),"airalarm/modes":t(358),"airalarm/scrubbers":t(359),"airalarm/status":t(360),"airalarm/thresholds":t(361),"airalarm/vents":t(362),airlock_electronics:t(363),apc:t(364),atmos_alert:t(365),atmos_control:t(366),atmos_filter:t(367),atmos_mixer:t(368),atmos_pump:t(369),borgopanel:t(370),brig_timer:t(371),bsa:t(372),canister:t(373),cargo:t(374),cargo_express:t(375),cellular_emporium:t(376),centcom_podlauncher:t(377),chem_dispenser:t(378),chem_heater:t(379),chem_master:t(380),chem_synthesizer:t(381),clockwork_slab:t(382),codex_gigas:t(383),computer_fabricator:t(384),crayon:t(385),crew:t(386),cryo:t(387),disposal_unit:t(388),dna_vault:t(389),dogborg_sleeper:t(390),eightball:t(391),emergency_shuttle_console:t(392),engraved_message:t(393),error:t(394),"exofab - Copia":t(395),exonet_node:t(396),firealarm:t(397),gps:t(398),gulag_console:t(399),gulag_item_reclaimer:t(400),holodeck:t(401),implantchair:t(402),intellicard:t(403),keycard_auth:t(404),labor_claim_console:t(405),language_menu:t(406),launchpad_remote:t(407),mech_bay_power_console:t(408),mulebot:t(409),nanite_chamber_control:t(410),nanite_cloud_control:t(411),nanite_program_hub:t(412),nanite_programmer:t(413),nanite_remote:t(414),notificationpanel:t(415),ntnet_relay:t(416),ntos_ai_restorer:t(417),ntos_card:t(418),ntos_configuration:t(419),ntos_file_manager:t(420),ntos_main:t(421),ntos_net_chat:t(422),ntos_net_dos:t(423),ntos_net_downloader:t(424),ntos_net_monitor:t(425),ntos_net_transfer:t(426),ntos_power_monitor:t(427),ntos_revelation:t(428),ntos_station_alert:t(429),ntos_supermatter_monitor:t(430),ntosheader:t(431),nuclear_bomb:t(432),operating_computer:t(433),ore_redemption_machine:t(434),pandemic:t(435),personal_crafting:t(436),portable_pump:t(437),portable_scrubber:t(438),power_monitor:t(439),radio:t(440),rdconsole:t(441),"rdconsole/circuit":t(442),"rdconsole/designview":t(443),"rdconsole/destruct":t(444),"rdconsole/diskopsdesign":t(445),"rdconsole/diskopstech":t(446),"rdconsole/nodeview":t(447),"rdconsole/protolathe":t(448),"rdconsole/rdheader":t(449),"rdconsole/settings":t(450),"rdconsole/techweb":t(451),reagentgrinder:t(452),rpd:t(453),"rpd/colorsel":t(454),"rpd/dirsel":t(455),sat_control:t(456),scrubbing_types:t(457),shuttle_manipulator:t(458),"shuttle_manipulator/modification":t(459),"shuttle_manipulator/status":t(460),"shuttle_manipulator/templates":t(461),sleeper:t(462),slime_swap_body:t(463),smartvend:t(464),smes:t(465),smoke_machine:t(466),solar_control:t(467),space_heater:t(468),spawners_menu:t(469),station_alert:t(470),suit_storage_unit:t(471),tank_dispenser:t(472),tanks:t(473),thermomachine:t(474),turbine_computer:t(475),uplink:t(476),vr_sleeper:t(477),wires:t(478)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)})},oncomplete:function(){if(this.get("config.locked")){var t=(0,a.lock)(window.screenLeft,window.screenTop),e=t.x,r=t.y;(0,n.winset)(this.get("config.window"),"pos",e+","+r)}(0,n.winset)("mapwindow.map","focus",!0)}}}(r),r.exports.template={v:3,t:[" "," "," "," ",{p:[56,1,1819],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[56,11,1829]}]}," ",{p:[57,1,1859],t:7,e:"main",f:[{p:[58,3,1868],t:7,e:"warnings"}," ",{p:[59,3,1882],t:7,e:"interface"}]}," ",{t:4,f:[{p:[62,3,1929],t:7,e:"resize"}],n:50,r:"config.titlebar",p:[61,1,1903]}]},r.exports.components=r.exports.components||{};var i={warnings:t(354),titlebar:t(353),resize:t(348)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{339:339,340:340,341:341,342:342,343:343,344:344,345:345,346:346,347:347,348:348,349:349,350:350,351:351,353:353,354:354,355:355,356:356,357:357,358:358,359:359,360:360,361:361,362:362,363:363,364:364,365:365,366:366,367:367,368:368,369:369,370:370,371:371,372:372,373:373,374:374,375:375,376:376,377:377,378:378,379:379,380:380,381:381,382:382,383:383,384:384,385:385,386:386,387:387,388:388,389:389,390:390,391:391,392:392,393:393,394:394,395:395,396:396,397:397,398:398,399:399,400:400,401:401,402:402,403:403,404:404,405:405,406:406,407:407,408:408,409:409,410:410,411:411,412:412,413:413,414:414,415:415,416:416,417:417,418:418,419:419,420:420,421:421,422:422,423:423,424:424,425:425,426:426,427:427,428:428,429:429,430:430,431:431,432:432,433:433,434:434,435:435,436:436,437:437,438:438,439:439,440:440,441:441,442:442,443:443,444:444,445:445,446:446,447:447,448:448,449:449,450:450,451:451,452:452,453:453,454:454,455:455,456:456,457:457,458:458,459:459,460:460,461:461,462:462,463:463,464:464,465:465,466:466,467:467,468:468,469:469,470:470,471:471,472:472,473:473,474:474,475:475,476:476,477:477,478:478,481:481,483:483}],481:[function(t,e,n){"use strict";function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function r(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};window.location.href=a(Object.assign({src:t,action:e},n))}function i(t,e,n){var r;window.location.href=a((r={},r[t+"."+e]=n,r),"winset")}n.__esModule=!0,n.href=a,n.act=r,n.winset=i;var o=encodeURIComponent},{}],482:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],483:[function(t,e,n){"use strict";function a(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function r(t){if(t.preventDefault(),this.get("drag")){if(this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var r=a(e,n);e=r.x,n=r.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}function i(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("resize")){if(this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,a=i(e,n);e=a.x,n=a.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}n.__esModule=!0,n.lock=a,n.drag=r,n.sane=i,n.resize=o;var s=t(481)},{481:481}],484:[function(t,e,n){"use strict";function a(t,e){for(var n=t,a=Array.isArray(n),i=0,n=a?n:n[Symbol.iterator]();;){var o;if(a){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o;s.textContent.toLowerCase().includes(e)?(s.style.display="",r(s,e)):s.style.display="none"}}function r(t,e){for(var n=t.queryAll("section"),a=t.query("header").textContent.toLowerCase().includes(e),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;a||p.textContent.toLowerCase().includes(e)?p.style.display="":p.style.display="none"}}n.__esModule=!0,n.filterMulti=a,n.filter=r},{}],485:[function(t,e,n){"use strict";function a(t,e,n){return Math.max(t,Math.min(n,e))}function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=a,n.fixed=r},{}],486:[function(t,e,n){"use strict";function a(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function r(t){return t.replace(/\w\S*/g,a)}function i(t,e){for(t=""+t;t.length1){for(var p=Array(o),u=0;o>u;u++)p[u]=arguments[u+3];n.children=p}return{$$typeof:t,type:e,key:void 0===a?null:""+a,ref:null,props:n,_owner:null}}}(),e.asyncIterator=function(t){if("function"==typeof Symbol){if(Symbol.asyncIterator){var e=t[Symbol.asyncIterator];if(null!=e)return e.call(t)}if(Symbol.iterator)return t[Symbol.iterator]()}throw new TypeError("Object is not async iterable")},e.asyncGenerator=function(){function t(t){this.value=t}function e(e){function n(t,e){return new Promise(function(n,r){var s={key:t,arg:e,resolve:n,reject:r,next:null};o?o=o.next=s:(i=o=s,a(t,e))})}function a(n,i){try{var o=e[n](i),s=o.value;s instanceof t?Promise.resolve(s.value).then(function(t){a("next",t)},function(t){a("throw",t)}):r(o.done?"return":"normal",o.value)}catch(p){r("throw",p)}}function r(t,e){switch(t){case"return":i.resolve({value:e,done:!0});break;case"throw":i.reject(e);break;default:i.resolve({value:e,done:!1})}i=i.next,i?a(i.key,i.arg):o=null}var i,o;this._invoke=n,"function"!=typeof e["return"]&&(this["return"]=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(e.prototype[Symbol.asyncIterator]=function(){return this}),e.prototype.next=function(t){return this._invoke("next",t)},e.prototype["throw"]=function(t){return this._invoke("throw",t)},e.prototype["return"]=function(t){return this._invoke("return",t)},{wrap:function(t){return function(){return new e(t.apply(this,arguments))}},await:function(e){return new t(e)}}}(),e.asyncGeneratorDelegate=function(t,e){function n(n,a){return r=!0,a=new Promise(function(e){e(t[n](a))}),{done:!1,value:e(a)}}var a={},r=!1;return"function"==typeof Symbol&&Symbol.iterator&&(a[Symbol.iterator]=function(){return this}),a.next=function(t){return r?(r=!1,t):n("next",t)},"function"==typeof t["throw"]&&(a["throw"]=function(t){if(r)throw r=!1,t;return n("throw",t)}),"function"==typeof t["return"]&&(a["return"]=function(t){return n("return",t)}),a},e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function a(r,i){try{var o=e[r](i),s=o.value}catch(p){return void n(p)}return o.done?void t(s):Promise.resolve(s).then(function(t){a("next",t)},function(t){a("throw",t)})}return a("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function a(t,e,n,r){var i=Object.getOwnPropertyDescriptor(t,e);if(void 0===i){var o=Object.getPrototypeOf(t);null!==o&&a(o,e,n,r)}else if("value"in i&&i.writable)i.value=n;else{var s=i.set;void 0!==s&&s.call(r,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,a=[],r=t[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!e||a.length!==e););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e=0?"good":"average"'},p:[14,16,619]}]},f:[{t:2,r:"data.occupant.health",p:[14,68,671]}]}]}," ",{t:4,f:[{p:[17,7,892],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[17,26,911]}]},f:[{p:[18,9,931],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[18,30,952]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[18,66,988]}],state:"bad"},f:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[18,103,1025]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[16,5,727]}],n:50,r:"data.hasOccupant",p:[5,3,155]}]}," ",{p:[23,1,1116],t:7,e:"ui-display",a:{title:"Cell"},f:[{p:[24,3,1144],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[25,5,1175],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[25,22,1192]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[26,14,1251]}],state:[{t:2,x:{r:["data.isOpen"],s:'_0?"disabled":null'},p:[27,14,1306]}],action:"power"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[28,22,1364]}]}]}," ",{p:[30,3,1430],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[31,3,1465],t:7,e:"span",a:{"class":[{t:2,r:"data.temperaturestatus",p:[31,16,1478]}]},f:[{t:2,r:"data.cellTemperature",p:[31,44,1506]}," K"]}]}," ",{p:[33,2,1556],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[34,5,1586],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOpen"],s:'_0?"unlock":"lock"'},p:[34,22,1603]}],action:"door"},f:[{t:2,x:{r:["data.isOpen"],s:'_0?"Open":"Closed"'},p:[34,73,1654]}]}," ",{p:[35,5,1706],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoEject"],s:'_0?"sign-out":"sign-in"'},p:[35,22,1723]}],action:"autoeject"},f:[{t:2,x:{r:["data.autoEject"],s:'_0?"Auto":"Manual"'},p:[35,86,1787]}]}]}]}," ",{p:{button:[{p:[40,5,1928],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[40,36,1959]}],action:"ejectbeaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[42,3,2060],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[45,9,2167],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,r:"volume",p:[45,52,2210]}," units of ",{t:2,r:"name",p:[45,72,2230]}]},{p:[45,87,2245],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[44,7,2128]},{t:4,n:51,f:[{p:[47,9,2274],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[43,5,2094]},{t:4,n:51,f:[{p:[50,7,2347],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],388:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,14],t:7,e:"ui-section",a:{label:"State"},f:[{t:4,f:[{p:[4,4,73],t:7,e:"span",a:{"class":"good"},f:["Ready"]}],n:50,r:"data.full_pressure",p:[3,3,43]},{t:4,n:51,f:[{t:4,f:[{p:[7,5,147],t:7,e:"span",a:{"class":"bad"},f:["Power Disabled"]}],n:50,r:"data.panel_open",p:[6,4,119]},{t:4,n:51,f:[{t:4,f:[{p:[10,6,239],t:7,e:"span",a:{"class":"average"},f:["Pressurizing"]}],n:50,r:"data.pressure_charging",p:[9,5,203]},{t:4,n:51,f:[{p:[12,6,299],t:7,e:"span",a:{"class":"bad"},f:["Off"]}],r:"data.pressure_charging"}],r:"data.panel_open"}],r:"data.full_pressure"}]}," ",{p:[17,2,377],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[18,3,409],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.per",p:[18,36,442]}],state:"good"},f:[{t:2,r:"data.per",p:[18,63,469]},"%"]}]}," ",{p:[20,5,511],t:7,e:"ui-section",a:{label:"Handle"},f:[{p:[21,9,547],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.flush"],s:'_0?"toggle-on":"toggle-off"'},p:[22,10,568]}],state:[{t:2,x:{r:["data.isai","data.panel_open"],s:'_0||_1?"disabled":null'},p:[23,11,625]}],action:[{t:2,x:{r:["data.flush"],s:'_0?"handle-0":"handle-1"'},p:[24,12,691]}]},f:[{t:2,x:{r:["data.flush"],s:'_0?"Disengage":"Engage"'},p:[25,5,739]}]}]}," ",{p:[27,2,811],t:7,e:"ui-section",a:{label:"Eject"},f:[{p:[28,3,840],t:7,e:"ui-button",a:{icon:"sign-out",state:[{t:2,x:{r:["data.isai"],s:'_0?"disabled":null'},p:[28,37,874]}],action:"eject"},f:["Eject Contents"]},{p:[28,114,951],t:7,e:"br"}]}," ",{p:[30,2,973],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,3,1002],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["data.panel_open"],s:'_0?"disabled":null'},p:[31,38,1037]}],action:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"pump-0":"pump-1"'},p:[31,87,1086]}],style:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"selected":null'},p:[31,145,1144]}]}},{p:[31,206,1205],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],389:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"DNA Vault Database"},f:[{p:[2,3,42],t:7,e:"ui-section",a:{label:"Human DNA"},f:[{p:[3,7,79],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.dna_max",p:[3,28,100]}],value:[{t:2,r:"data.dna",p:[3,53,125]}]},f:[{t:2,r:"data.dna",p:[3,67,139]},"/",{t:2,r:"data.dna_max",p:[3,80,152]}," Samples"]}]}," ",{p:[5,3,204],t:7,e:"ui-section",a:{label:"Plant Data"},f:[{p:[6,5,240],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.plants_max",p:[6,26,261]}],value:[{t:2,r:"data.plants",p:[6,54,289]}]},f:[{t:2,r:"data.plants",p:[6,71,306]},"/",{t:2,r:"data.plants_max",p:[6,87,322]}," Samples"]}]}," ",{p:[8,3,377],t:7,e:"ui-section",a:{label:"Animal Data"},f:[{p:[9,5,414],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.animals_max",p:[9,26,435]}],value:[{t:2,r:"data.animals",p:[9,55,464]}]},f:[{t:2,r:"data.animals",p:[9,73,482]},"/",{t:2,r:"data.animals_max",p:[9,90,499]}," Samples"]}]}]}," ",{t:4,f:[{p:[13,1,604],t:7,e:"ui-display",a:{title:"Personal Gene Therapy"},f:[{p:[14,3,650],t:7,e:"ui-section",f:[{p:[15,2,664],t:7,e:"span",f:["Applicable gene therapy treatments:"]}]}," ",{p:[17,3,731],t:7,e:"ui-section",f:[{p:[18,2,745],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceA",p:[18,47,790]},'"}']},f:[{t:2,r:"data.choiceA",p:[18,67,810]}]}," ",{p:[19,2,840],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceB",p:[19,47,885]},'"}']},f:[{t:2,r:"data.choiceB",p:[19,67,905]}]}]}]}],n:50,x:{r:["data.completed","data.used"],s:"_0&&!_1"},p:[12,1,567]}]},e.exports=a.extend(r.exports)},{341:341}],390:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[2,3,32],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[3,3,64],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[3,9,70]}]}]}," ",{t:4,f:[{p:[6,5,178],t:7,e:"ui-section",a:{label:"Items in storage"},f:[{p:[7,4,219],t:7,e:"span",f:[{t:2,r:"data.items",p:[7,10,225]}]}]}],n:50,r:"data.items",p:[5,3,155]}," ",{t:4,f:[{p:[11,5,300],t:7,e:"ui-section",a:{label:"State"},f:[{p:[12,7,333],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.statstate",p:[12,20,346]}]},f:[{t:2,r:"data.occupant.stat",p:[12,49,375]}]}]}," ",{p:[14,5,426],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[15,7,460],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[15,20,473]}],max:[{t:2,r:"data.occupant.maxHealth",p:[15,54,507]}],value:[{t:2,r:"data.occupant.health",p:[15,90,543]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[16,16,584]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[16,68,636]}]}]}," ",{t:4,f:[{p:[19,7,870],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[19,26,889]}]},f:[{p:[20,9,909],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[20,30,930]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[20,66,966]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[20,103,1003]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[18,5,705]}," ",{p:[23,5,1087],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[24,9,1122],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[24,22,1135]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[24,68,1181]}]}]}," ",{p:[26,5,1262],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[27,9,1297],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[27,22,1310]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[27,68,1356]}]}]}," ",{p:[29,5,1438],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[31,11,1523],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[31,54,1566]}," units of ",{t:2,r:"name",p:[31,89,1601]}]},{p:[31,104,1616],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[30,9,1479]},{t:4,n:51,f:[{p:[33,11,1649],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[10,3,274]}]}," ",{p:[38,1,1740],t:7,e:"ui-display",a:{title:"Operations"},f:[{p:[39,3,1774],t:7,e:"ui-section",a:{label:"Inject"},f:[{t:4,f:[{p:[41,7,1832],t:7,e:"ui-button",a:{icon:"flask",state:[{t:2,x:{r:["data.occupied"],s:'_0?null:"disabled"'},p:[41,38,1863]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[41,111,1936]},'"}']},f:[{t:2,r:"name",p:[41,121,1946]}]},{p:[41,141,1966],t:7,e:"br"}],n:52,r:"data.chem",p:[40,5,1806]}]}," ",{p:[44,2,2003],t:7,e:"ui-section",a:{label:"Eject"},f:[{p:[45,6,2035],t:7,e:"ui-button",a:{icon:"sign-out",action:"eject"},f:["Eject Contents"]}]}," ",{p:[47,2,2120],t:7,e:"ui-section",a:{label:"Self Cleaning"},f:[{p:[48,3,2157],t:7,e:"ui-button",a:{icon:"recycle",action:"cleaning"},f:["Self-Clean Cycle"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],391:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,23],t:7,e:"ui-display",a:{title:[{t:2,r:"data.question",p:[2,21,41]}]},f:[{p:[3,5,64],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,9,114],t:7,e:"ui-button",a:{action:"vote",params:['{"answer": "',{t:2,r:"answer",p:[6,45,169]},'"}'],style:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[7,18,200]}]},f:[{t:2,r:"answer",p:[7,53,235]}," (",{t:2,r:"amount",p:[7,65,247]},")"]}],n:52,r:"data.answers",p:[4,7,83]}]}]}],n:50,r:"data.shaking",p:[1,1,0]},{t:4,n:51,f:[{p:[13,3,341],t:7,e:"ui-notice",f:["The eightball is not currently being shaken."]}],r:"data.shaking"}]},e.exports=a.extend(r.exports)},{341:341}],392:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,5,16],t:7,e:"span",f:["Time Until Launch: ",{t:2,r:"data.timer_str",p:[2,30,41]}]}]}," ",{p:[4,1,80],t:7,e:"ui-notice",f:[{p:[5,3,94],t:7,e:"span",f:["Engines: ",{t:2,x:{r:["data.engines_started"],s:'_0?"Online":"Idle"'},p:[5,18,109]}]}]}," ",{p:[7,1,174],t:7,e:"ui-display",a:{title:"Early Launch"},f:[{p:[8,2,209],t:7,e:"span",f:["Authorizations Remaining: ",{t:2,x:{r:["data.emagged","data.authorizations_remaining"],s:'_0?"ERROR":_1'},p:[9,2,242]}]}," ",{p:[10,2,309],t:7,e:"ui-button",a:{icon:"exclamation-triangle",action:"authorize",style:"danger",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[12,10,393]}]},f:["AUTHORIZE"]}," ",{p:[15,2,459],t:7,e:"ui-button",a:{icon:"minus",action:"repeal",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[16,10,508]}]},f:["Repeal"]}," ",{p:[19,2,571],t:7,e:"ui-button",a:{icon:"close",action:"abort",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[20,10,619]}]},f:["Repeal All"]}]}," ",{p:[24,1,699],t:7,e:"ui-display",a:{title:"Authorizations"},f:[{t:4,f:[{p:[26,3,768],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{t:2,r:"name",p:[26,34,799]}," (",{t:2,r:"job",p:[26,44,809]},")"]}],n:52,r:"data.authorizations",p:[25,2,736]},{t:4,n:51,f:[{p:[28,3,843],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:["No authorizations."]}],r:"data.authorizations"}]}]},e.exports=a.extend(r.exports)},{341:341}],393:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.hidden_message",p:[3,5,48]}]}," ",{p:[5,3,90],t:7,e:"ui-section",a:{label:"Created On"},f:[{t:2,r:"data.realdate",p:[6,5,126]}]}," ",{p:[8,3,162],t:7,e:"ui-section",a:{label:"Approval"},f:[{p:[9,5,196],t:7,e:"ui-button",a:{icon:"arrow-up",state:[{t:2,x:{r:["data.is_creator","data.has_liked"],s:'_0?"disabled":_1?"selected":null'},p:[11,14,242]}],action:"like"},f:[{t:2,r:"data.num_likes",p:[12,21,333]}]}," ",{p:[13,5,368],t:7,e:"ui-button",a:{icon:"circle",state:[{t:2,x:{r:["data.is_creator","data.has_liked","data.has_disliked"],s:'_0?"disabled":!_1&&!_2?"selected":null'},p:[15,14,412]}],action:"neutral"}}," ",{p:[17,5,546],t:7,e:"ui-button",a:{icon:"arrow-down",state:[{t:2,x:{r:["data.is_creator","data.has_disliked"],s:'_0?"disabled":_1?"selected":null'},p:[19,14,594]}],action:"dislike"},f:[{t:2,r:"data.num_dislikes",p:[20,24,691]}]}]}]}," ",{t:4,f:[{p:[24,3,782],t:7,e:"ui-display",a:{title:"Admin Panel"},f:[{p:[25,5,819],t:7,e:"ui-section",a:{label:"Creator Ckey"},f:[{t:2,r:"data.creator_key",p:[25,38,852]}]}," ",{p:[26,5,890],t:7,e:"ui-section",a:{label:"Creator Character Name"},f:[{t:2,r:"data.creator_name",p:[26,48,933]}]}," ",{p:[27,5,972],t:7,e:"ui-button",a:{icon:"remove",action:"delete",style:"danger"},f:["Delete"]}]}],n:50,r:"data.admin_mode",p:[23,1,756]}]},e.exports=a.extend(r.exports)},{341:341}],394:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The requested interface (",{t:2,r:"config.interface",p:[2,34,45]},") was not found. Does it exist?"]}]}]},e.exports=a.extend(r.exports)},{341:341}],395:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,19],t:7,e:"ui-notice",f:["Currently syncing with the database"]}],n:50,r:"data.sync",p:[1,1,0]},{t:4,n:51,f:[{p:{button:[{p:[8,4,156],t:7,e:"ui-button",a:{icon:"eject",action:"eject_all"},f:["Eject all"]}," ",{p:[9,4,224],t:7,e:"ui-button",a:{icon:["toggle-",{t:2,x:{r:["data.show_materials"],s:'_0?"off":"on"'},p:[9,28,248]}],action:"toggle_materials_visibility"},f:[{t:2,x:{r:["data.show_materials"],s:'_0?"Hide":"Show"'},p:[10,5,330]}]}]},t:7,e:"ui-display",a:{title:"Materials",button:0},f:[" ",{t:4,f:[{p:[14,4,436],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[15,5,470],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[16,6,505],t:7,e:"section",a:{"class":"cell"}}," ",{p:[17,6,543],t:7,e:"section",a:{"class":"cell"},f:["Mineral"]}," ",{p:[20,6,601],t:7,e:"section",a:{"class":"cell"},f:["Amount"]}," ",{p:[23,6,658],t:7,e:"section",a:{"class":"cell"}}," ",{p:[24,6,696],t:7,e:"section",a:{"class":"cell"}}]}," ",{t:4,f:[{p:[27,6,782],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[28,7,818],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[29,8,848]}]}," ",{p:[31,7,880],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"amount",p:[32,8,910]}]}," ",{p:[34,7,944],t:7,e:"section",a:{"class":"cell"},f:[{p:[35,8,974],t:7,e:"ui-button",a:{icon:"eject"},f:["Release amount"]}]}," ",{p:[37,7,1048],t:7,e:"section",a:{"class":"cell",style:"width: 40px;"},f:[{p:[38,8,1099],t:7,e:"ui-button",a:{icon:"eject"},f:["Release all"]}]}]}],n:52,r:"data.all_materials",p:[26,5,748]}]}],n:50,r:"data.show_materials",p:[13,3,405]}]}," ",{p:[45,2,1230],t:7,e:"ui-display",a:{title:"Categories"},f:[{t:4,f:[{p:[47,4,1288],t:7,e:"ui-button",f:[{t:2,r:".",p:[47,15,1299]}]}],r:"data.categories",p:[46,3,1264]}]}],r:"data.sync"}]},e.exports=a.extend(r.exports)},{341:341}],396:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,15],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,5,47],t:7,e:"ui-button",a:{action:"toggle_power",style:[{t:2,x:{r:["data.toggle"],s:'_0?"selected":null'},p:[5,18,107]}]},f:["Turn ",{t:2,x:{r:["data.toggle"],s:'_0?"off":"on"'},p:[6,16,161]}]}]}," ",{p:[9,3,227],t:7,e:"ui-display",a:{title:"Logging"},f:[{t:4,f:[{p:[11,3,282],t:7,e:"ui-section",a:{label:">"},f:[{t:2,r:".",p:[11,25,304]},{p:[11,30,309],t:7,e:"ui-section",f:[]}]}],n:52,r:"data.logs",p:[10,5,260]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],397:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[2,1,30],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,2,58],t:7,e:"ui-button",a:{icon:"power-off",style:[{t:2,x:{r:["data.power"],s:'_0?"selected":"danger"'},p:[3,37,93]}],action:"power"},f:[{t:2,x:{r:["data.power"],s:'_0?"Enabled":"Disabled"'},p:[3,92,148]}]}]}," ",{p:[5,1,214],t:7,e:"ui-section",a:{label:"Tag"},f:[{p:[6,2,240],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:[{t:2,r:"data.tag",p:[6,43,281]}]}]}," ",{p:[8,1,320],t:7,e:"ui-section",a:{label:"Scanning mode"},f:[{p:[9,2,356],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.updating"],s:'_0?"unlock":"lock"'},p:[9,18,372]}],style:[{t:2,x:{r:["data.updating"],s:'_0?null:"danger"'},p:[9,63,417]}],action:"updating",tooltip:"Toggle between automatic scanning or scan only when a button is pressed.","tooltip-side":"right"},f:[{t:2,x:{r:["data.updating"],s:'_0?"AUTO":"MANUAL"'},p:[9,221,575]}]}]}," ",{p:[11,1,639],t:7,e:"ui-section",a:{label:"Detection range"},f:[{p:[12,2,677],t:7,e:"ui-button",a:{icon:"refresh",style:[{t:2,x:{r:["data.globalmode"],s:'_0?null:"selected"'},p:[12,35,710]}],action:"globalmode",tooltip:"Local sector or whole region scanning.","tooltip-side":"right"},f:[{t:2,x:{r:["data.globalmode"],s:'_0?"MAXIMUM":"LOCAL"'},p:[12,165,840]}]}]}]}," ",{t:4,f:[{p:[16,2,942],t:7,e:"ui-display",a:{title:"Current Location"},f:[{p:[17,3,982],t:7,e:"span",f:[{t:2,r:"data.current",p:[17,9,988]}]}]}," ",{p:[20,2,1029],t:7,e:"ui-display",a:{title:"Detected Signals"},f:[{t:4,f:[{p:[22,3,1093],t:7,e:"ui-section",a:{label:[{t:2,r:"entrytag",p:[22,21,1111]}]},f:[{p:[23,3,1127],t:7,e:"span",f:[{t:2,r:"area",p:[23,9,1133]}," (",{t:2,r:"coord",p:[23,19,1143]},")"]}," ",{t:4,f:[{p:[25,4,1185],t:7,e:"span",f:["Dist: ",{t:2,r:"dist",p:[25,16,1197]},"m Dir: ",{t:2,r:"degrees",p:[25,31,1212]},"° (",{t:2,r:"direction",p:[25,45,1226]},")"]}],n:50,r:"direction",p:[24,3,1164]}]}],n:52,r:"data.signals",p:[21,2,1068]}]}],n:50,r:"data.power",p:[15,1,922]}]},e.exports=a.extend(r.exports)},{341:341}],398:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Labor Camp Teleporter"},f:[{p:[2,2,44],t:7,e:"ui-section",a:{label:"Teleporter Status"},f:[{p:[3,3,85],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.teleporter"],s:'_0?"good":"bad"'},p:[3,16,98]}]},f:[{t:2,x:{r:["data.teleporter"],s:'_0?"Connected":"Not connected"'},p:[3,54,136]}]}]}," ",{t:4,f:[{p:[6,4,239],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[7,5,273],t:7,e:"span",f:[{t:2,r:"data.teleporter_location",p:[7,11,279]}]}]}," ",{p:[9,4,335],t:7,e:"ui-section",a:{label:"Locked status"},f:[{p:[10,5,374],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"lock":"unlock"'},p:[10,22,391]}],action:"teleporter_lock"},f:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"Locked":"Unlocked"'},p:[10,93,462]}]}," ",{p:[11,5,527],t:7,e:"ui-button",a:{action:"toggle_open"},f:[{t:2,x:{r:["data.teleporter_state_open"],s:'_0?"Open":"Closed"'},p:[11,37,559]}]}]}],n:50,r:"data.teleporter",p:[5,3,212]},{t:4,n:51,f:[{p:[14,4,653],t:7,e:"span",f:[{p:[14,10,659],t:7,e:"ui-button",a:{action:"scan_teleporter"},f:["Scan Teleporter"]}]}],r:"data.teleporter"}]}," ",{p:[17,1,754],t:7,e:"ui-display",a:{title:"Labor Camp Beacon"},f:[{p:[18,2,794],t:7,e:"ui-section",a:{label:"Beacon Status"},f:[{p:[19,3,831],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.beacon"],s:'_0?"good":"bad"'},p:[19,16,844]}]},f:[{t:2,x:{r:["data.beacon"],s:'_0?"Connected":"Not connected"'},p:[19,50,878]}]}]}," ",{t:4,f:[{p:[22,3,971],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[23,4,1004],t:7,e:"span",f:[{t:2,r:"data.beacon_location",p:[23,10,1010]}]}]}],n:50,r:"data.beacon",p:[21,2,949]},{t:4,n:51,f:[{p:[26,4,1072],t:7,e:"span",f:[{p:[26,10,1078],t:7,e:"ui-button",a:{action:"scan_beacon"},f:["Scan Beacon"]}]}],r:"data.beacon"}]}," ",{p:[29,1,1165],t:7,e:"ui-display",a:{title:"Prisoner details"},f:[{p:[30,2,1204],t:7,e:"ui-section",a:{label:"Prisoner ID"},f:[{p:[31,3,1239],t:7,e:"ui-button",a:{action:"handle_id"},f:[{t:2,x:{r:["data.id","data.id_name"],s:'_0?_1:"-------------"'},p:[31,33,1269]}]}]}," ",{t:4,f:[{p:[34,2,1359],t:7,e:"ui-section",a:{label:"Set ID goal"},f:[{p:[35,4,1395],t:7,e:"ui-button",a:{action:"set_goal"},f:[{t:2,r:"data.goal",p:[35,33,1424]}]}]}],n:50,r:"data.id",p:[33,2,1342]}," ",{p:[38,2,1475],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[39,3,1507],t:7,e:"span",f:[{t:2,x:{r:["data.prisoner.name"],s:'_0?_0:"No Occupant"'},p:[39,9,1513]}]}]}," ",{t:4,f:[{p:[42,3,1620],t:7,e:"ui-section",a:{label:"Criminal Status"},f:[{p:[43,4,1660],t:7,e:"span",f:[{t:2,r:"data.prisoner.crimstat",p:[43,10,1666]}]}]}],n:50,r:"data.prisoner",p:[41,2,1596]}]}," ",{p:[47,1,1739],t:7,e:"ui-display",f:[{p:[48,2,1753],t:7,e:"center",f:[{p:[48,10,1761],t:7,e:"ui-button",a:{action:"teleport",state:[{t:2,x:{r:["data.can_teleport"],s:'_0?null:"disabled"'},p:[48,45,1796]}]},f:["Process Prisoner"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],399:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Stored Items"},f:[{t:4,f:[{p:[3,3,59],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[3,22,78]}]},f:[{p:[4,4,93],t:7,e:"ui-button",a:{action:"release_items",params:['{"mobref":',{t:2,r:"mob",p:[4,56,145]},"}"],state:[{t:2,x:{r:["data.can_reclaim"],s:'_0?null:"disabled"'},p:[4,72,161]}]},f:["Drop Items"]}]}],n:52,r:"data.mobs",p:[2,2,36]}]}]},e.exports=a.extend(r.exports)},{341:341}],400:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,3,68],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.emagged"],s:'_0?"un":null'},p:[3,20,85]},"lock"],state:[{t:2,x:{r:["data.can_toggle_safety"],s:'_0?null:"disabled"'},p:[3,63,128]}],action:"safety"},f:["Safeties: ",{p:[4,14,206],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.emagged"],s:'_0?"bad":"good"'},p:[4,27,219]}]},f:[{t:2,x:{r:["data.emagged"],s:'_0?"OFF":"ON"'},p:[4,62,254]}]}]}]},t:7,e:"ui-display",a:{title:"Default Programs",button:0},f:[" ",{t:4,f:[{p:[8,2,356],t:7,e:"ui-button",a:{action:"load_program",params:['{"type": ',{t:2,r:"type",p:[8,52,406]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[8,70,424]}]},f:[{t:2,r:"name",p:[9,5,475]}," "]},{p:[10,14,497],t:7,e:"br"}],n:52,r:"data.default_programs",p:[7,2,323]}]}," ",{t:4,f:[{p:[14,2,549],t:7,e:"ui-display",a:{title:"Dangerous Programs"},f:[{t:4,f:[{p:[16,4,623],t:7,e:"ui-button",a:{icon:"warning",action:"load_program",params:['{"type": ',{t:2,r:"type",p:[16,69,688]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[16,87,706]}]},f:[{t:2,r:"name",p:[17,5,757]}," "]},{p:[18,16,781],t:7,e:"br"}],n:52,r:"data.emag_programs",p:[15,3,591]}]}],n:50,r:"data.emagged",p:[13,1,527]}]},e.exports=a.extend(r.exports)},{341:341}],401:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[15,1,266],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[16,3,298],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[17,3,330],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[17,9,336]}]}]}," ",{t:4,f:[{p:[20,5,447],t:7,e:"ui-section",a:{label:"State"},f:[{p:[21,7,480],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[21,20,493]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[21,43,516]}]}]}],n:50,r:"data.occupied",p:[19,3,421]}]}," ",{p:[25,1,656],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[26,2,687],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[27,5,717],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[27,22,734]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[27,71,783]}]}]}," ",{p:[29,3,846],t:7,e:"ui-section",a:{label:"Uses"},f:[{t:2,r:"data.ready_implants",p:[30,5,876]}," ",{t:4,f:[{p:[32,7,938],t:7,e:"span",a:{"class":"fa fa-cog fa-spin"}}],n:50,r:"data.replenishing",p:[31,5,906]}]}," ",{p:[35,3,1002],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[36,7,1038],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","data.ready_implants","data.ready"],s:'_0&&_1>0&&_2?null:"disabled"'},p:[36,25,1056]}],action:"implant"},f:[{t:2,x:{r:["data.ready","data.special_name"],s:'_0?(_1?_1:"Implant"):"Recharging"'},p:[37,9,1162]}," "]},{p:[38,19,1265],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],402:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[15,3,282],t:7,e:"ui-notice",f:[{p:[16,5,298],t:7,e:"span",f:["Wipe in progress!"]}]}],n:50,r:"data.wiping",p:[14,1,260]},{p:{button:[{t:4,f:[{p:[22,7,458],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.isDead"],s:'_0?"disabled":null'},p:[22,38,489]}],action:"wipe"},f:[{t:2,x:{r:["data.wiping"],s:'_0?"Stop Wiping":"Wipe"'},p:[22,89,540]}," AI"]}],n:50,r:"data.name",p:[21,5,434]}]},t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.name"],s:'_0||"Empty Card"'},p:[19,19,370]}],button:0},f:[" ",{t:4,f:[{p:[26,5,647],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[27,9,683],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"bad":"good"'},p:[27,22,696]}]},f:[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"Offline":"Operational"'},p:[27,76,750]}]}]}," ",{p:[29,5,843],t:7,e:"ui-section",a:{label:"Software Integrity"},f:[{p:[30,7,889],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[30,40,922]}],state:[{t:2,r:"healthState",p:[30,64,946]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[30,81,963]},"%"]}]}," ",{p:[32,5,1024],t:7,e:"ui-section",a:{label:"Laws"},f:[{t:4,f:[{p:[34,9,1084],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[34,33,1108]}]},{p:[34,45,1120],t:7,e:"br"}],n:52,r:"data.laws",p:[33,7,1056]}]}," ",{p:[37,5,1164],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[38,7,1200],t:7,e:"ui-button",a:{icon:"signal",style:[{t:2,x:{r:["data.wireless"],s:'_0?"selected":null'},p:[38,39,1232]}],action:"wireless"},f:["Wireless Activity"]}," ",{p:[39,7,1325],t:7,e:"ui-button",a:{icon:"microphone",style:[{t:2,x:{r:["data.radio"],s:'_0?"selected":null'},p:[39,43,1361]}],action:"radio"},f:["Subspace Radio"]}]}],n:50,r:"data.name",p:[25,3,625]}]}]},e.exports=a.extend(r.exports)},{341:341}],403:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,22],t:7,e:"ui-notice",f:[{p:[3,3,36],t:7,e:"span",f:["Waiting for another device to confirm your request..."]}]}],n:50,r:"data.waiting",p:[1,1,0]},{t:4,n:51,f:[{p:[6,2,127],t:7,e:"ui-display",f:[{p:[7,3,142],t:7,e:"ui-section",f:[{t:4,f:[{p:[9,5,189],t:7,e:"ui-button",a:{icon:"check",action:"auth_swipe"},f:["Authorize ",{t:2,r:"data.auth_required",p:[9,59,243]}]}],n:50,r:"data.auth_required",p:[8,4,158]},{t:4,n:51,f:[{p:[11,5,294],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.red_alert"],s:'_0?"disabled":null'},p:[11,38,327]}],action:"red_alert"},f:["Red Alert"]}," ",{p:[12,5,412],t:7,e:"ui-button",a:{icon:"wrench",state:[{t:2,x:{r:["data.emergency_maint"],s:'_0?"disabled":null'},p:[12,37,444]}],action:"emergency_maint"},f:["Emergency Maintenance Access"]}," ",{p:[13,5,560],t:7,e:"ui-button",a:{icon:"warning",state:"null",action:"bsa_unlock"},f:["Bluespace Artillery Unlock"]}],r:"data.auth_required"}]}]}],r:"data.waiting"}]},e.exports=a.extend(r.exports)},{341:341}],404:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Ore values"},f:[{t:4,f:[{p:[3,3,57],t:7,e:"ui-section",a:{label:[{t:2,r:"ore",p:[3,22,76]}]},f:[{p:[4,4,90],t:7,e:"span",f:[{t:2,r:"value",p:[4,10,96]}]}]}],n:52,r:"data.ores",p:[2,2,34]}]}," ",{p:[8,1,158],t:7,e:"ui-display",a:{title:"Points"},f:[{p:[9,2,188],t:7,e:"ui-section",a:{label:"Unclaimed points"},f:[{p:[10,3,229],t:7,e:"span",f:[{t:2,r:"data.unclaimed_points",p:[10,9,235]}]}," ",{p:[11,3,271],t:7,e:"ui-button",a:{action:"claim_points",state:[{t:2,x:{r:["data.unclaimed_points"],s:'_0?null:"disabled"'},p:[11,42,310]}]},f:["Claim points"]}]}]}," ",{p:[14,1,413],t:7,e:"ui-display",f:[{p:[15,2,428],t:7,e:"span",f:["Points: ",{t:2,r:"data.id_points",p:[15,16,442]}]}," ",{p:[16,2,470],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[17,3,501],t:7,e:"span",f:[{t:2,r:"data.status_info",p:[17,9,507]}]}," ",{p:[18,3,538],t:7,e:"ui-button",a:{action:"move_shuttle",state:[{t:2,x:{r:["data.can_go_home"],s:'_0?null:"disabled"'},p:[18,42,577]}]},f:["Move shuttle"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],405:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Known Languages"},f:[{t:4,f:[{p:[3,5,68],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[3,23,86]}]},f:[{p:[4,7,102],t:7,e:"span",f:[{t:2,r:"desc",p:[4,13,108]}]}," ",{p:[5,7,130],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[5,19,142]}]}," ",{t:4,f:[{p:[7,9,186],t:7,e:"span",f:["(gained from mob)"]}],n:50,r:"shadow",p:[6,7,163]}," ",{p:[9,7,237],t:7,e:"span",f:[{t:2,x:{r:["can_speak"],s:'_0?"Can Speak":"Cannot Speak"'},p:[9,13,243]}]}," ",{t:4,f:[{p:[11,9,332],t:7,e:"ui-button",a:{action:"select_default",params:['{"language_name":"',{t:2,r:"name",p:[13,37,413]},'"}'],style:[{t:2,x:{r:["is_default","can_speak"],s:'_0?"selected":_1?null:"disabled"'},p:[14,18,442]}]},f:[{t:2,x:{r:["is_default"],s:'_0?"Default Language":"Select as Default"'},p:[15,10,512]}]}],n:50,r:"data.is_living",p:[10,7,301]}," ",{t:4,f:[{t:4,f:[{p:[20,11,666],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[20,72,727]},'"}']},f:["Grant"]}],n:50,r:"shadow",p:[19,9,641]},{t:4,n:51,f:[{p:[22,11,784],t:7,e:"ui-button",a:{action:"remove_language",params:['{"language_name":"',{t:2,r:"name",p:[22,73,846]},'"}']},f:["Remove"]}],r:"shadow"}],n:50,r:"data.admin_mode",p:[18,7,609]}]}],n:52,r:"data.languages",p:[2,3,39]}]}," ",{t:4,f:[{t:4,f:[{p:[30,5,1004],t:7,e:"ui-button",a:{action:"toggle_omnitongue",style:[{t:2,x:{r:["data.omnitongue"],s:'_0?"selected":null'},p:[32,14,1061]}]},f:["Omnitongue ",{t:2,x:{r:["data.omnitongue"],s:'_0?"Enabled":"Disabled"'
+},p:[33,19,1120]}]}],n:50,r:"data.is_living",p:[29,3,977]}," ",{p:[36,3,1196],t:7,e:"ui-display",a:{title:"Unknown Languages"},f:[{t:4,f:[{p:[38,7,1278],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[38,25,1296]}]},f:[{p:[39,9,1314],t:7,e:"span",f:[{t:2,r:"desc",p:[39,15,1320]}]}," ",{p:[40,9,1344],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[40,21,1356]}]}," ",{p:[41,9,1379],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[43,37,1460]},'"}']},f:["Grant"]}]}],n:52,r:"data.unknown_languages",p:[37,5,1239]}]}],n:50,r:"data.admin_mode",p:[28,1,951]}]},e.exports=a.extend(r.exports)},{341:341}],406:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{t:4,f:[{t:4,f:[{p:[4,4,81],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[5,5,114],t:7,e:"span",f:["Launchpad closed."]}]}],n:50,r:"data.pad_closed",p:[3,3,54]},{t:4,n:51,f:[{p:[8,4,176],t:7,e:"ui-section",a:{label:"Launchpad"},f:[{p:[9,4,210],t:7,e:"span",f:[{p:[9,10,216],t:7,e:"b",f:[{t:2,r:"data.pad_name",p:[9,13,219]}]}]},{p:[9,41,247],t:7,e:"br"}," ",{p:[10,4,255],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:["Rename"]}," ",{p:[11,4,318],t:7,e:"ui-button",a:{icon:"remove",style:"danger",action:"remove"},f:["Remove"]}]}," ",{p:[14,4,414],t:7,e:"ui-section",a:{label:"Set Target"},f:[{p:[15,4,449],t:7,e:"table",f:[{p:[16,4,460],t:7,e:"tr",f:[{p:[17,5,469],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[17,38,502],t:7,e:"ui-button",a:{action:"up-left"},f:["↖"]}]}," ",{p:[18,5,553],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[18,57,605],t:7,e:"ui-button",a:{action:"up"},f:["↑"]}]}," ",{p:[19,5,651],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[19,56,702],t:7,e:"ui-button",a:{action:"up-right"},f:["↗"]}]}]}," ",{p:[21,4,762],t:7,e:"tr",f:[{p:[22,5,771],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[22,38,804],t:7,e:"ui-button",a:{action:"left",style:"width:35px!important"},f:["â†"]}]}," ",{p:[23,5,881],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[23,57,933],t:7,e:"ui-button",a:{action:"reset"},f:["R"]}]}," ",{p:[24,5,982],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[24,56,1033],t:7,e:"ui-button",a:{action:"right"},f:["→"]}]}]}," ",{p:[26,4,1090],t:7,e:"tr",f:[{p:[27,5,1099],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[27,38,1132],t:7,e:"ui-button",a:{action:"down-left"},f:["↙"]}]}," ",{p:[28,5,1185],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[28,57,1237],t:7,e:"ui-button",a:{action:"down"},f:["↓"]}]}," ",{p:[29,5,1285],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[29,56,1336],t:7,e:"ui-button",a:{action:"down-right"},f:["↘"]}]}]}]}]}," ",{p:[33,4,1427],t:7,e:"ui-section",a:{label:"Current Target"},f:[{p:[34,5,1467],t:7,e:"span",f:[{t:2,r:"data.abs_y",p:[34,11,1473]}," ",{t:2,r:"data.north_south",p:[34,26,1488]}]},{p:[34,53,1515],t:7,e:"br"}," ",{p:[35,5,1524],t:7,e:"span",f:[{t:2,r:"data.abs_x",p:[35,11,1530]}," ",{t:2,r:"data.east_west",p:[35,26,1545]}]}]}," ",{p:[37,4,1591],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[38,5,1625],t:7,e:"ui-button",a:{action:"launch",tooltip:"Teleport everything on the pad to the target.","tooltip-side":"down"},f:["Launch"]}," ",{p:[39,5,1751],t:7,e:"ui-button",a:{action:"pull",tooltip:"Teleport everything from the target to the pad.","tooltip-side":"down"},f:["Pull"]}]}],r:"data.pad_closed"}],n:50,r:"data.has_pad",p:[2,2,31]},{t:4,n:51,f:[{p:[45,3,1912],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[46,4,1944],t:7,e:"span",f:["No launchpad found. Link the remote to a launchpad."]}]}],r:"data.has_pad"}]}]},e.exports=a.extend(r.exports)},{341:341}],407:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{mechChargeState:function(t){var e=this.get("data.recharge_port.mech.cell.maxcharge");return t>=e/1.5?"good":t>=e/3?"average":"bad"},mechHealthState:function(t){var e=this.get("data.recharge_port.mech.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[20,1,526],t:7,e:"ui-display",a:{title:"Mech Status"},f:[{t:4,f:[{t:4,f:[{p:[23,4,624],t:7,e:"ui-section",a:{label:"Integrity"},f:[{p:[24,6,660],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,27,681]}],value:[{t:2,r:"adata.recharge_port.mech.health",p:[24,74,728]}],state:[{t:2,x:{r:["mechHealthState","adata.recharge_port.mech.health"],s:"_0(_1)"},p:[24,117,771]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.health"],s:"Math.round(_0)"},p:[24,171,825]},"/",{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,219,873]}]}]}," ",{t:4,f:[{t:4,f:[{p:[28,5,1034],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[28,31,1060],t:7,e:"span",a:{"class":"bad"},f:["Cell Critical Failure"]}]}],n:50,r:"data.recharge_port.mech.cell.critfail",p:[27,3,984]},{t:4,n:51,f:[{p:[30,11,1141],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,13,1180],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.cell.maxcharge",p:[31,34,1201]}],value:[{t:2,r:"adata.recharge_port.mech.cell.charge",p:[31,86,1253]}],state:[{t:2,x:{r:["mechChargeState","adata.recharge_port.mech.cell.charge"],s:"_0(_1)"},p:[31,134,1301]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.cell.charge"],s:"Math.round(_0)"},p:[31,193,1360]},"/",{t:2,x:{r:["adata.recharge_port.mech.cell.maxcharge"],s:"Math.round(_0)"},p:[31,246,1413]}]}]}],r:"data.recharge_port.mech.cell.critfail"}],n:50,r:"data.recharge_port.mech.cell",p:[26,4,945]},{t:4,n:51,f:[{p:[35,3,1524],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[35,29,1550],t:7,e:"span",a:{"class":"bad"},f:["Cell Missing"]}]}],r:"data.recharge_port.mech.cell"}],n:50,r:"data.recharge_port.mech",p:[22,2,589]},{t:4,n:51,f:[{p:[38,4,1625],t:7,e:"ui-section",f:["Mech Not Found"]}],r:"data.recharge_port.mech"}],n:50,r:"data.recharge_port",p:[21,3,561]},{t:4,n:51,f:[{p:[41,5,1689],t:7,e:"ui-section",f:["Recharging Port Not Found"]}," ",{p:[42,2,1741],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}],r:"data.recharge_port"}]}]},e.exports=a.extend(r.exports)},{341:341}],408:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,43],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,85],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,102]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,153]}]}]}],n:50,r:"data.siliconUser",p:[2,3,14]},{t:4,n:51,f:[{p:[7,5,241],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[7,31,267]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,349],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,379],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,458],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,475]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,519]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,567]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,410]},{t:4,n:51,f:[{p:[15,7,625],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,638]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,675]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,710]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,774],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,804],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,817]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,847]}]}]}," ",{p:[21,3,923],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,953],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,966]}]},f:[{t:2,r:"data.mode",p:[22,39,987]}]}]}," ",{p:[24,3,1026],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1056],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1069]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1105]}]}]}," ",{p:[27,3,1165],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1202],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1215]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1257]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1479],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1453]}," ",{t:4,f:[{p:[38,9,1586],t:7,e:"ui-button",a:{icon:"eject",action:"ejectpai"},f:["Eject PAI"]}],n:50,r:"data.haspai",p:[37,7,1558]}," ",{p:[40,7,1670],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[42,5,1750],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[43,7,1789],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[44,7,1869],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[45,7,1929],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[47,5,2001],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[48,7,2033],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[49,7,2096],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[51,5,2181],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[52,7,2217],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[52,24,2234]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[52,84,2294]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[54,7,2396],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[54,24,2413]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[54,84,2473]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[56,7,2577],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[56,24,2594]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[56,88,2658]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1343]}]},e.exports=a.extend(r.exports)},{341:341}],409:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Chamber Console"},f:[{p:[2,1,44],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{t:4,f:[{p:[4,2,101],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]},{p:[4,63,162],t:7,e:"br"}," ",{t:4,f:[{p:[6,3,195],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[6,36,228]}]}," ",{p:[7,3,262],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[7,35,294]}]}," ",{p:[8,3,328],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["data.disk.activated"],s:'_0?"Active":"Inactive"'},p:[8,41,366]}]}," ",{t:4,f:[{p:[10,4,468],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"data.disk.activation_delay",p:[10,41,505]}]}],n:50,r:"data.disk.activation_delay",p:[9,3,430]}," ",{t:4,f:[{p:[13,4,588],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"data.disk.timer",p:[13,30,614]}]}," ",{p:[14,4,650],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"data.disk.timer_type",p:[14,36,682]}]}],n:50,r:"data.disk.timer",p:[12,3,561]}," ",{t:4,f:[{p:[17,4,769],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"data.disk.activation_code",p:[17,40,805]}]}],n:50,r:"data.disk.activation_code",p:[16,3,732]}," ",{t:4,f:[{p:[20,4,899],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"data.disk.deactivation_code",p:[20,42,937]}]}],n:50,r:"data.disk.deactivation_code",p:[19,3,860]}," ",{t:4,f:[{p:[23,4,1025],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"data.disk.kill_code",p:[23,34,1055]}]}],n:50,r:"data.disk.kill_code",p:[22,3,994]}," ",{t:4,f:[{p:[26,4,1138],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"data.disk.trigger_code",p:[26,37,1171]}]}],n:50,r:"data.disk.trigger_code",p:[25,3,1104]}," ",{t:4,f:[{t:4,f:[{p:[30,6,1303],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[30,25,1322]}]},f:[{t:2,r:"value",p:[30,35,1332]}]}],n:52,r:"data.disk.extra_settings",p:[29,4,1263]}],n:50,r:"data.disk.has_extra_settings",p:[28,3,1223]}],n:50,r:"data.has_program",p:[5,2,168]},{t:4,n:51,f:[{p:[34,3,1390],t:7,e:"ui-notice",f:["No program detected."]}],r:"data.has_program"}],n:50,r:"data.has_disk",p:[3,1,78]},{t:4,n:51,f:[{p:[37,2,1453],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"}]}," ",{p:[40,1,1511],t:7,e:"br"}," ",{t:4,f:[{p:[42,2,1541],t:7,e:"ui-notice",f:[{t:2,r:"data.status_msg",p:[42,13,1552]}]}],n:50,r:"data.status_msg",p:[41,1,1516]},{t:4,n:51,f:[{p:[44,2,1594],t:7,e:"ui-display",a:{title:"Chamber"},f:[{p:[45,2,1624],t:7,e:"ui-section",f:[{p:[45,14,1636],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock-open":"lock"'},p:[45,30,1652]}],action:"toggle_lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[45,90,1712]}," Chamber"]},{p:[45,146,1768],t:7,e:"br"}]}," ",{p:[46,2,1787],t:7,e:"ui-section",f:[{p:[46,14,1799],t:7,e:"b",f:["Occupant:"]}," ",{t:2,r:"data.occupant_name",p:[46,31,1816]}]}," ",{t:4,f:[{p:[48,4,1882],t:7,e:"ui-section",f:[{p:[48,16,1894],t:7,e:"ui-notice",f:["No nanites detected."]}]}," ",{p:[49,4,1954],t:7,e:"ui-section",f:[{p:[49,16,1966],t:7,e:"ui-button",a:{icon:"syringe",action:"nanite_injection"},f:["Implant Nanites"]}]}],n:50,x:{r:["data.has_nanites"],s:"!_0"},p:[47,2,1853]},{t:4,n:51,f:[{p:[51,3,2071],t:7,e:"ui-display",a:{title:"Nanites"},f:[{t:4,f:[{p:[53,5,2129],t:7,e:"ui-button",a:{icon:"download",action:"add_program"},f:["Install Program From Disk"]},{p:[53,90,2214],t:7,e:"br"}," ",{p:[54,5,2223],t:7,e:"br"}],n:50,r:"data.has_disk",p:[52,4,2103]}," ",{p:[56,4,2242],t:7,e:"ui-section",f:[{p:[57,5,2259],t:7,e:"ui-section",a:{label:"Nanite Volume"},f:[{t:2,r:"data.nanite_volume",p:[57,39,2293]}]}," ",{p:[58,5,2333],t:7,e:"ui-section",a:{label:"Growth Rate"},f:[{t:2,r:"data.regen_rate",p:[58,37,2365]}]}," ",{p:[59,5,2402],t:7,e:"ui-section",a:{label:"Safety Threshold"},f:[{t:2,r:"data.safety_threshold",p:[59,42,2439]}," ",{p:[59,68,2465],t:7,e:"ui-button",a:{icon:"pencil",action:"set_safety"},f:["Set"]}]}," ",{p:[60,5,2544],t:7,e:"ui-section",a:{label:"Cloud ID"},f:[{t:2,x:{r:["data.cloud_id"],s:'_0?_0:"No Cloud"'},p:[60,34,2573]}," ",{p:[60,82,2621],t:7,e:"ui-button",a:{icon:"pencil",action:"set_cloud"},f:["Set"]}]}]}," ",{p:[62,4,2715],t:7,e:"ui-display",a:{title:"Programs"},f:[{t:4,f:[{p:[64,6,2782],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[64,25,2801]}],button:0},f:[{p:[65,6,2824],t:7,e:"ui-button",a:{icon:"minus",action:"remove_program",params:['{"program_id": "',{t:2,r:"id",p:[65,78,2896]},'"}']},f:["Uninstall"]}," ",{p:[66,6,2933],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"desc",p:[66,38,2965]}]}," ",{t:4,f:[{p:[68,7,3027],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["activated"],s:'_0?"Active":"Inactive"'},p:[68,45,3065]}]}," ",{p:[69,7,3123],t:7,e:"ui-section",a:{label:"Nanites Consumed"},f:[{t:2,r:"use_rate",p:[69,44,3160]},"/s"]}," ",{t:4,f:[{p:[71,8,3221],t:7,e:"ui-section",a:{label:"Trigger Cost"},f:[{t:2,r:"trigger_cost",p:[71,41,3254]}]}," ",{p:[72,8,3291],t:7,e:"ui-section",a:{label:"Trigger Cooldown"},f:[{t:2,r:"trigger_cooldown",p:[72,45,3328]}," seconds"]}],n:50,r:"can_trigger",p:[70,7,3194]}," ",{t:4,f:[{t:4,f:[{p:[76,9,3459],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"activation_delay",p:[76,46,3496]}]}],n:50,r:"activation_delay",p:[75,8,3426]}," ",{t:4,f:[{p:[79,9,3574],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"timer",p:[79,35,3600]}]}," ",{p:[80,9,3631],t:7,e:"ui-section",a:{label:"Timer Type"},f:[{t:2,r:"timer_type",p:[80,40,3662]}]}],n:50,r:"timer",p:[78,8,3552]}," ",{t:4,f:[{t:4,f:[{p:[84,11,3782],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[84,30,3801]}]},f:[{t:2,r:"value",p:[84,40,3811]}]}],n:52,r:"extra_settings",p:[83,9,3747]}],n:50,r:"has_extra_settings",p:[82,8,3712]}," ",{t:4,f:[{t:4,f:[{p:[89,10,3944],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"activation_code",p:[89,46,3980]}]}],n:50,r:"activation_code",p:[88,9,3911]}," ",{t:4,f:[{p:[92,10,4072],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"deactivation_code",p:[92,48,4110]}]}],n:50,r:"deactivation_code",p:[91,9,4037]}," ",{t:4,f:[{p:[95,10,4196],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"kill_code",p:[95,40,4226]}]}],n:50,r:"kill_code",p:[94,9,4169]}," ",{t:4,f:[{p:[98,10,4307],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"trigger_code",p:[98,43,4340]}]}],n:50,r:"trigger_code",p:[97,9,4277]}],n:50,x:{r:["data.scan_level"],s:"_0>=4"},p:[87,8,3874]}],n:50,x:{r:["data.scan_level"],s:"_0>=3"},p:[74,7,3390]}],n:50,x:{r:["data.scan_level"],s:"_0>=2"},p:[67,6,2992]}]}],n:52,r:"data.mob_programs",p:[63,5,2749]}]}]}],x:{r:["data.has_nanites"],s:"!_0"}}]}],r:"data.status_msg"}]}]},e.exports=a.extend(r.exports)},{341:341}],410:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Cloud Console"},f:[{p:[2,1,42],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{t:4,f:[{p:[4,3,101],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]},{p:[4,64,162],t:7,e:"br"}," ",{t:4,f:[{p:[6,4,197],t:7,e:"ui-section",f:[{p:[7,5,214],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[7,38,247]}]}," ",{p:[8,5,283],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[8,37,315]}]}," ",{p:[9,5,351],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["data.disk.activated"],s:'_0?"Active":"Inactive"'},p:[9,43,389]}]}," ",{t:4,f:[{p:[11,6,495],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"data.disk.activation_delay",p:[11,43,532]}]}],n:50,r:"data.disk.activation_delay",p:[10,5,455]}," ",{t:4,f:[{p:[14,6,621],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"data.disk.timer",p:[14,32,647]}]}," ",{p:[15,6,685],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"data.disk.timer_type",p:[15,38,717]}]}],n:50,r:"data.disk.timer",p:[13,5,592]}," ",{t:4,f:[{p:[18,6,810],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"data.disk.activation_code",p:[18,42,846]}]}],n:50,r:"data.disk.activation_code",p:[17,5,771]}," ",{t:4,f:[{p:[21,6,946],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"data.disk.deactivation_code",p:[21,44,984]}]}],n:50,r:"data.disk.deactivation_code",p:[20,5,905]}," ",{t:4,f:[{p:[24,6,1078],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"data.disk.kill_code",p:[24,36,1108]}]}],n:50,r:"data.disk.kill_code",p:[23,5,1045]}," ",{t:4,f:[{p:[27,6,1197],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"data.disk.trigger_code",p:[27,39,1230]}]}],n:50,r:"data.disk.trigger_code",p:[26,5,1161]}," ",{t:4,f:[{t:4,f:[{p:[31,8,1370],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[31,27,1389]}]},f:[{t:2,r:"value",p:[31,37,1399]}]}],n:52,r:"data.disk.extra_settings",p:[30,6,1328]}],n:50,r:"data.disk.has_extra_settings",p:[29,5,1286]}]}],n:50,r:"data.has_program",p:[5,3,169]},{t:4,n:51,f:[{p:[36,4,1480],t:7,e:"ui-notice",f:["No program detected."]}],r:"data.has_program"}],n:50,r:"data.has_disk",p:[3,2,77]},{t:4,n:51,f:[{p:[39,3,1546],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"}]}," ",{p:[42,1,1605],t:7,e:"ui-display",a:{title:"Cloud Storage"},f:[{t:4,f:[{p:[44,3,1670],t:7,e:"ui-button",a:{icon:"plus-circle",action:"create_backup"},f:["Create New Backup"]}," ",{p:[45,3,1755],t:7,e:"ui-display",a:{title:"Active Backups"},f:[{t:4,f:[{p:[47,5,1827],t:7,e:"ui-button",a:{action:"set_view",params:['{"view": "',{t:2,r:"cloud_id",p:[47,52,1874]},'"}']},f:["Backup #",{t:2,r:"cloud_id",p:[47,76,1898]}]}],n:52,r:"data.cloud_backups",p:[46,4,1794]}]}],n:50,x:{r:["data.current_view"],s:"!_0"},p:[43,2,1641]},{t:4,n:51,f:[{p:[51,3,1964],t:7,e:"ui-button",a:{icon:"undo",action:"set_view",params:'{"view": "0"}'},f:["Return"]}," ",{t:4,f:[{p:[53,4,2079],t:7,e:"ui-notice",f:["ERROR: Backup not found."]}],n:50,x:{r:["data.cloud_backup"],s:"!_0"},p:[52,3,2049]},{t:4,n:51,f:[{p:[55,4,2141],t:7,e:"ui-display",a:{title:["Backup #",{t:2,r:"data.current_view",p:[55,31,2168]}]},f:[{t:4,f:[{p:[57,6,2226],t:7,e:"ui-button",a:{icon:"upload",action:"upload_program",style:"selected"},f:["Upload Program From Disk"]},{p:[57,108,2328],t:7,e:"br"}],n:50,r:"data.has_program",p:[56,5,2196]}," ",{t:4,f:[{p:[60,6,2384],t:7,e:"hr"}," ",{p:[61,6,2394],t:7,e:"ui-section",f:[{p:[62,7,2413],t:7,e:"h3",f:[{t:2,r:"name",p:[62,11,2417]}]}," ",{p:[63,7,2437],t:7,e:"div",a:{style:"float:right"},f:[{p:[64,8,2470],t:7,e:"ui-button",a:{icon:"minus-circle",action:"remove_program",style:"danger",params:['{"program_id": "',{t:2,r:"id",p:[64,102,2564]},'"}']},f:["Uninstall"]}]}]}," ",{p:[67,6,2633],t:7,e:"ui-section",f:[{p:[68,7,2652],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"desc",p:[68,39,2684]}]}," ",{p:[69,7,2712],t:7,e:"ui-section",a:{label:"Activation Status"},f:[{t:2,x:{r:["activated"],s:'_0?"Active":"Inactive"'},p:[69,45,2750]}]}," ",{p:[70,7,2808],t:7,e:"ui-section",a:{label:"Nanites Consumed"},f:[{t:2,r:"use_rate",p:[70,44,2845]},"/s"]}," ",{t:4,f:[{p:[72,8,2906],t:7,e:"ui-section",a:{label:"Trigger Cost"},f:[{t:2,r:"trigger_cost",p:[72,41,2939]},"/s"]}," ",{p:[73,8,2978],t:7,e:"ui-section",a:{label:"Trigger Cooldown"},f:[{t:2,r:"trigger_cooldown",p:[73,45,3015]},"/s"]}],n:50,r:"can_trigger",p:[71,7,2879]}," ",{t:4,f:[{p:[76,8,3103],t:7,e:"ui-section",a:{label:"Activation Delay"},f:[{t:2,r:"activation_delay",p:[76,45,3140]}]}],n:50,r:"activation_delay",p:[75,7,3071]}," ",{t:4,f:[{p:[79,8,3215],t:7,e:"ui-section",a:{label:"Timer"},f:[{t:2,r:"timer",p:[79,34,3241]}]}," ",{p:[80,8,3271],t:7,e:"ui-section",a:{label:"Timer Type "},f:[{t:2,r:"timer_type",p:[80,40,3303]}]}],n:50,r:"timer",p:[78,7,3194]}," ",{t:4,f:[{p:[83,8,3382],t:7,e:"ui-section",a:{label:"Activation Code"},f:[{t:2,r:"activation_code",p:[83,44,3418]}]}],n:50,r:"activation_code",p:[82,7,3351]}," ",{t:4,f:[{p:[86,8,3504],t:7,e:"ui-section",a:{label:"Deactivation Code"},f:[{t:2,r:"deactivation_code",p:[86,46,3542]}]}],n:50,r:"deactivation_code",p:[85,7,3471]}," ",{t:4,f:[{p:[89,8,3622],t:7,e:"ui-section",a:{label:"Kill Code"},f:[{t:2,r:"kill_code",p:[89,38,3652]}]}],n:50,r:"kill_code",p:[88,7,3597]}," ",{t:4,f:[{p:[92,8,3727],t:7,e:"ui-section",a:{label:"Trigger Code"},f:[{t:2,r:"trigger_code",p:[92,41,3760]}]}],n:50,r:"trigger_code",p:[91,7,3699]}," ",{t:4,f:[{t:4,f:[{p:[96,10,3878],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[96,29,3897]}]},f:[{t:2,r:"value",p:[96,39,3907]}]}],n:52,r:"extra_settings",p:[95,8,3844]}],n:50,r:"has_extra_settings",p:[94,7,3810]}]}],n:52,r:"data.cloud_programs",p:[59,5,2349]}]}],x:{r:["data.cloud_backup"],s:"!_0"}}],x:{r:["data.current_view"],s:"!_0"}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],411:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Program Hub"},f:[{t:4,f:[{p:[3,2,63],t:7,e:"ui-display",a:{title:"Program Disk"},f:[{p:[4,3,99],t:7,e:"ui-section",f:[{p:[5,4,115],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]}," ",{p:[6,4,180],t:7,e:"ui-button",a:{icon:"minus-circle",action:"clear"},f:["Delete Program"]}]}," ",{t:4,f:[{p:[9,4,299],t:7,e:"ui-section",a:{label:"Program Name"},f:[{t:2,r:"data.disk.name",p:[9,37,332]}]}," ",{p:[10,4,367],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.disk.desc",p:[10,36,399]}]}],n:50,r:"data.has_program",p:[8,3,271]},{t:4,n:51,f:[{p:[12,4,445],t:7,e:"ui-notice",f:["No program installed."]}],r:"data.has_program"}]}],n:50,r:"data.has_disk",p:[2,1,40]},{t:4,n:51,f:[{p:[16,2,525],t:7,e:"ui-notice",f:["Insert disk."]}],r:"data.has_disk"},{p:[18,1,569],t:7,e:"br"}," ",{p:[19,1,574],t:7,e:"ui-display",a:{title:"Programs"},f:[{p:[20,2,605],t:7,e:"ui-section",f:[{p:[21,3,620],t:7,e:"ui-button",a:{icon:"undo",action:"set_category",params:'{"category": "Main"}'},f:["Return"]}," ",{p:[22,3,716],t:7,e:"ui-button",a:{icon:"align-justify ",action:"toggle_details"},f:[{t:2,x:{r:["data.detail_view"],s:'_0?"Compact View":"Detailed View"'},p:[22,60,773]}]}]}," ",{t:4,f:[{p:[25,3,892],t:7,e:"ui-display",f:[{t:4,f:[{p:[27,5,938],t:7,e:"ui-section",f:[{p:[27,17,950],t:7,e:"ui-button",a:{action:"set_category",params:['{"category": "',{t:2,r:"name",p:[27,72,1005]},'"}']},f:[{t:2,r:"name",p:[27,84,1017]}]}]}],n:52,r:"data.categories",p:[26,4,908]}]}],n:50,x:{r:["data.category"],s:'_0=="Main"'},p:[24,2,858]},{t:4,n:51,f:[{p:[31,3,1092],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[31,22,1111]}]},f:[{t:4,f:[{t:4,f:[{p:[34,6,1196],t:7,e:"ui-display",f:[{p:[35,7,1215],t:7,e:"ui-section",f:[{p:[35,19,1227],t:7,e:"b",f:[{t:2,r:"name",p:[35,22,1230]}]}]}," ",{p:[36,7,1262],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[36,19,1274]}]}," ",{p:[37,7,1302],t:7,e:"ui-section",f:[{p:[38,8,1322],t:7,e:"ui-button",a:{icon:"download",action:"download",params:['{"program_id": "',{t:2,r:"id",p:[38,77,1391]},'"}'],state:[{t:2,x:{r:["data.has_disk"],s:'_0?null:"disabled"'},p:[38,94,1408]}]},f:["Download"]}]}]}],n:50,r:"data.detail_view",p:[33,5,1166]},{t:4,n:51,f:[{p:[44,6,1542],t:7,e:"ui-section",f:[{p:[44,18,1554],t:7,e:"ui-button",a:{action:"download",params:['{"program_id": "',{t:2,r:"id",p:[44,71,1607]},'"}']},f:[{t:2,r:"name",p:[44,81,1617]}]}]}],r:"data.detail_view"}],n:52,r:"data.program_list",p:[32,4,1134]}]}],x:{r:["data.category"],s:'_0=="Main"'}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],412:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Programming"},f:[{t:4,f:[{p:[3,3,65],t:7,e:"ui-notice",f:["Insert a nanite program disk."]}],n:50,x:{r:["data.has_disk"],s:"!_0"},p:[2,1,40]},{t:4,n:51,f:[{p:[5,3,129],t:7,e:"ui-button",a:{icon:"eject",action:"eject"},f:["Eject Disk"]}," ",{t:4,f:[{p:[7,5,223],t:7,e:"ui-notice",f:["No program detected."]}],n:50,x:{r:["data.has_program"],s:"!_0"},p:[6,3,193]},{t:4,n:51,f:[{p:[9,5,282],t:7,e:"ui-section",f:[{p:[10,7,301],t:7,e:"ui-display",a:{title:[{t:2,r:"data.name",p:[10,26,320]}]},f:[{t:2,r:"data.desc",p:[11,9,344]}]}]}," ",{p:[14,5,400],t:7,e:"ui-section",f:[{p:[15,7,419],t:7,e:"ui-section",a:{label:"Program Info"},f:["Nanites Consumed: ",{t:2,r:"data.use_rate",p:[16,26,478]},{p:[16,43,495],t:7,e:"br"}," ",{t:4,f:["Trigger Cost: ",{t:2,r:"data.trigger_cost",p:[18,25,557]},"u",{p:[18,47,579],t:7,e:"br"}],n:50,r:"data.can_trigger",p:[17,9,508]}]}," ",{p:[22,7,627],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[23,9,663],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.activated"],s:'_0?"toggle-on":"toggle-off"'},p:[24,17,690]}],action:"toggle_active"},f:[{t:2,x:{r:["data.activated"],s:'_0?"Active":"Inactive"'},p:[26,11,784]}]}]}," ",{p:[30,7,876],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[31,9,914],t:7,e:"ui-button",a:{icon:"pencil",action:"set_activation_delay"}}," Activation Delay: ",{t:2,r:"data.activation_delay",p:[31,95,1e3]}," ",{p:[31,121,1026],t:7,e:"br"}," ",{p:[32,9,1039],t:7,e:"ui-button",a:{icon:"pencil",action:"set_timer"}}," Timer: ",{t:2,r:"data.timer",p:[32,73,1103]}," ",{p:[32,88,1118],t:7,e:"br"}," ",{p:[33,9,1131],t:7,e:"ui-button",a:{icon:"pencil",action:"set_timer_type"}}," Timer Type: ",{t:2,r:"data.timer_type",p:[33,83,1205]}," ",{p:[33,103,1225],t:7,e:"br"}]}," ",{p:[36,7,1257],t:7,e:"ui-section",a:{label:"Codes"},f:[{p:[37,9,1292],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "activation"}'}}," Activation Code: ",{t:2,r:"data.activation_code",p:[37,121,1404]}," ",{p:[37,146,1429],t:7,e:"br"}," ",{p:[38,9,1442],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "deactivation"}'}}," Deactivation Code: ",{t:2,r:"data.deactivation_code",p:[38,125,1558]}," ",{p:[38,152,1585],t:7,e:"br"}," ",{p:[39,9,1598],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "kill"}'}}," Kill Code: ",{t:2,r:"data.kill_code",p:[39,109,1698]}," ",{p:[39,128,1717],t:7,e:"br"}," ",{t:4,f:[{p:[41,11,1765],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code",params:'{"target_code": "trigger"}'}}," Trigger Code: ",{t:2,r:"data.trigger_code",p:[41,117,1871]}," ",{p:[41,139,1893],t:7,e:"br"}],n:50,r:"data.can_trigger",p:[40,9,1730]}]}," ",{t:4,f:[{p:[46,9,1981],t:7,e:"ui-section",a:{label:"Special"},f:[{t:4,f:[{p:[48,13,2062],t:7,e:"ui-button",a:{icon:"pencil",action:"set_extra_setting",params:['{"target_setting": "',{t:2,r:"name",p:[48,93,2142]},'"}']}}," ",{t:2,r:"name",p:[48,118,2167]},": ",{t:2,r:"value",p:[48,128,2177]}," ",{p:[48,138,2187],t:7,e:"br"}],n:52,r:"data.extra_settings",p:[47,11,2020]}]}],n:50,r:"data.has_extra_settings",p:[45,7,1941]}]}],x:{r:["data.has_program"],s:"!_0"}}],x:{r:["data.has_disk"],s:"!_0"}}]}]},e.exports=a.extend(r.exports)},{341:341}],413:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Nanite Control"},f:[{t:4,f:[{p:[3,3,58],t:7,e:"ui-notice",f:["The interface is locked."]}],n:50,r:"data.locked",p:[2,1,36]},{t:4,n:51,f:[{p:[5,3,117],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock Interface"]}," ",{p:[6,3,183],t:7,e:"ui-button",a:{icon:"save",action:"save"},f:["Save Current Setting"]}," ",{p:[7,3,255],t:7,e:"ui-section",a:{label:"Signal Code"},f:[{p:[8,5,292],t:7,e:"span",f:[{t:2,r:"data.code",p:[8,11,298]}]}," ",{p:[9,4,322],t:7,e:"ui-button",a:{icon:"pencil",action:"set_code"},f:["Set"]}]}," ",{t:4,f:[{p:[12,5,432],t:7,e:"ui-section",a:{label:"Relay Code"},f:[{p:[13,7,470],t:7,e:"span",f:[{t:2,r:"data.relay_code",p:[13,13,476]}]}," ",{p:[14,5,507],t:7,e:"ui-button",a:{icon:"pencil",action:"set_relay_code"},f:["Set"]}]}],n:50,x:{r:["data.mode"],s:'_0=="Relay"'},p:[11,3,399]}," ",{p:[17,3,602],t:7,e:"ui-section",a:{label:"Signal Mode"},f:[{p:[18,5,639],t:7,e:"span",f:[{t:2,r:"data.mode",p:[18,11,645]}]}," ",{p:[19,5,670],t:7,e:"br"}," ",{p:[20,4,678],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Off"}'},f:["Off"]}," ",{p:[21,5,755],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Local"}'},f:["Local"]}," ",{p:[22,5,836],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Targeted"}'},f:["Targeted"]}," ",{p:[23,5,923],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Area"}'},f:["Area"]}," ",{p:[24,5,1002],t:7,e:"ui-button",a:{action:"select_mode",params:'{"mode": "Relay"}'},f:["Relay"]}]}],r:"data.locked"}]}," ",{p:[28,1,1117],t:7,e:"ui-display",a:{title:"Saved Settings"},f:[{t:4,f:[{p:[30,3,1186],t:7,e:"ui-button",a:{icon:"load",action:"load",params:['{"save_id": "',{t:2,r:"id",p:[30,61,1244]},'"}']},f:[{t:2,r:"name",p:[30,71,1254]}]}," ",{t:4,f:[{p:[32,4,1301],t:7,e:"ui-button",a:{icon:"remove",action:"remove_save",params:['{"save_id": "',{t:2,r:"id",p:[32,71,1368]},'"}']},f:["Remove"]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[31,3,1277]}," ",{p:[34,3,1409],t:7,e:"br"}],n:52,r:"data.saved_settings",p:[29,2,1154]}]}]},e.exports=a.extend(r.exports)},{341:341}],414:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Ghost roles"},f:[{p:[2,2,34],t:7,e:"ui-section",a:{label:"Ignored roles"},f:[{t:4,f:[{p:[4,4,96],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["enabled"],s:'_0?"check-square-o":"square-o"'},p:[4,21,113]}],style:[{t:2,x:{r:["enabled"],s:'_0?"danger":null'},p:[4,73,165]}],action:"toggle_ignore",params:['{"key": "',{t:2,r:"key",p:[4,144,236]},'"}']},f:[{t:2,r:"desc",p:[4,155,247]}]}],n:52,r:"data.ignore",p:[3,3,71]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],415:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Relay"},f:[{t:4,f:[{p:[3,3,55],t:7,e:"h2",f:["NETWORK BUFFERS OVERLOADED"]}," ",{p:[4,3,93],t:7,e:"h3",f:["Overload Recovery Mode"]}," ",{p:[5,3,127],t:7,e:"i",f:["This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."]
+}," ",{p:[6,3,479],t:7,e:"h3",f:["ADMINISTRATIVE OVERRIDE"]}," ",{p:[7,3,514],t:7,e:"b",f:["CAUTION - Data loss may occur"]}," ",{p:[8,3,555],t:7,e:"ui-button",a:{icon:"signal",action:"restart"},f:["Purge buffered traffic"]}],n:50,r:"data.dos_crashed",p:[2,2,28]},{t:4,n:51,f:[{p:[12,3,652],t:7,e:"ui-section",a:{label:"Relay status"},f:[{p:[13,4,689],t:7,e:"ui-button",a:{icon:"power-off",action:"toggle"},f:[{t:2,x:{r:["data.enabled"],s:'_0?"ENABLED":"DISABLED"'},p:[14,6,739]}]}]}," ",{p:[18,3,819],t:7,e:"ui-section",a:{label:"Network buffer status"},f:[{t:2,r:"data.dos_overload",p:[19,4,865]}," / ",{t:2,r:"data.dos_capacity",p:[19,28,889]}," GQ"]}],r:"data.dos_crashed"}]}]},e.exports=a.extend(r.exports)},{341:341}],416:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,306],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[18,3,346],t:7,e:"ui-notice",f:[{p:[19,5,362],t:7,e:"span",f:["Reconstruction in progress!"]}]}],n:50,r:"data.restoring",p:[17,1,321]},{p:[24,1,428],t:7,e:"ui-display",f:[{p:[26,1,442],t:7,e:"div",a:{"class":"item"},f:[{p:[27,3,463],t:7,e:"div",a:{"class":"itemLabel"},f:["Inserted AI:"]}," ",{p:[30,3,512],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[31,2,539],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",state:[{t:2,x:{r:["data.nocard"],s:'_0?"disabled":null'},p:[31,52,589]}]},f:[{t:2,x:{r:["data.name"],s:'_0?_0:"---"'},p:[31,89,626]}]}]}]}," ",{t:4,f:[{p:[36,2,709],t:7,e:"b",f:["ERROR: ",{t:2,r:"data.error",p:[36,12,719]}]}],n:50,r:"data.error",p:[35,1,689]},{t:4,n:51,f:[{p:[38,2,748],t:7,e:"h2",f:["System Status"]}," ",{p:[39,2,772],t:7,e:"div",a:{"class":"item"},f:[{p:[40,3,793],t:7,e:"div",a:{"class":"itemLabel"},f:["Current AI:"]}," ",{p:[43,3,843],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.name",p:[44,4,872]}]}," ",{p:[46,3,897],t:7,e:"div",a:{"class":"itemLabel"},f:["Status:"]}," ",{p:[49,3,943],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["Nonfunctional"],n:50,r:"data.isDead",p:[50,4,972]},{t:4,n:51,f:["Functional"],r:"data.isDead"}]}," ",{p:[56,3,1059],t:7,e:"div",a:{"class":"itemLabel"},f:["System Integrity:"]}," ",{p:[59,3,1115],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[60,4,1144],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[60,37,1177]}],state:[{t:2,r:"healthState",p:[61,11,1204]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[61,28,1221]},"%"]}]}," ",{p:[63,3,1274],t:7,e:"div",a:{"class":"itemLabel"},f:["Active Laws:"]}," ",{p:[66,3,1325],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[67,4,1354],t:7,e:"table",f:[{t:4,f:[{p:[69,6,1394],t:7,e:"tr",f:[{p:[69,10,1398],t:7,e:"td",f:[{p:[69,14,1402],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[69,38,1426]}]}]}]}],n:52,r:"data.ai_laws",p:[68,5,1366]}]}]}," ",{p:[73,2,1475],t:7,e:"ui-section",a:{label:"Operations"},f:[{p:[74,3,1509],t:7,e:"ui-button",a:{icon:"plus",style:[{t:2,x:{r:["data.restoring"],s:'_0?"disabled":null'},p:[74,33,1539]}],action:"PRG_beginReconstruction"},f:["Begin Reconstruction"]}]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],417:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,1,87],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"home",params:'{"target" : "mod"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==1?"disabled":null'},p:[5,80,166]}]},f:["Access Modification"]}],n:50,r:"data.have_id_slot",p:[4,1,61]},{p:[7,1,247],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manage"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==2?"disabled":null'},p:[7,90,336]}]},f:["Job Management"]}," ",{p:[8,1,404],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manifest"}',state:[{t:2,x:{r:["data.mmode"],s:'!_0?"disabled":null'},p:[8,92,495]}]},f:["Crew Manifest"]}," ",{t:4,f:[{p:[10,1,584],t:7,e:"ui-button",a:{action:"PRG_print",icon:"print",state:[{t:2,x:{r:["data.has_id","data.mmode"],s:'!_1||_0&&_1==1?null:"disabled"'},p:[10,51,634]}]},f:["Print"]}],n:50,r:"data.have_printer",p:[9,1,558]},{t:4,f:[{p:[14,1,753],t:7,e:"div",a:{"class":"item"},f:[{p:[15,3,774],t:7,e:"h2",f:["Crew Manifest"]}," ",{p:[16,3,799],t:7,e:"br"},"Please use security record computer to modify entries.",{p:[16,61,857],t:7,e:"br"},{p:[16,65,861],t:7,e:"br"}]}," ",{t:4,f:[{p:[19,2,898],t:7,e:"div",a:{"class":"item"},f:[{t:2,r:"name",p:[20,2,918]}," - ",{t:2,r:"rank",p:[20,13,929]}]}],n:52,r:"data.manifest",p:[18,1,873]}],n:50,x:{r:["data.mmode"],s:"!_0"},p:[13,1,733]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.mmode"],s:"_0==2"},f:[{p:[25,1,984],t:7,e:"div",a:{"class":"item"},f:[{p:[26,3,1005],t:7,e:"h2",f:["Job Management"]}]}," ",{p:[28,1,1036],t:7,e:"table",f:[{p:[29,1,1044],t:7,e:"tr",f:[{p:[29,5,1048],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,27,1070],t:7,e:"b",f:["Job"]}]},{p:[29,42,1085],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,64,1107],t:7,e:"b",f:["Slots"]}]},{p:[29,81,1124],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,103,1146],t:7,e:"b",f:["Open job"]}]},{p:[29,123,1166],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,145,1188],t:7,e:"b",f:["Close job"]}]}]}," ",{t:4,f:[{p:[32,2,1238],t:7,e:"tr",f:[{p:[32,6,1242],t:7,e:"td",f:[{t:2,r:"title",p:[32,10,1246]}]},{p:[32,24,1260],t:7,e:"td",f:[{t:2,r:"current",p:[32,28,1264]},"/",{t:2,r:"total",p:[32,40,1276]}]},{p:[32,54,1290],t:7,e:"td",f:[{p:[32,58,1294],t:7,e:"ui-button",a:{action:"PRG_open_job",params:['{"target" : "',{t:2,r:"title",p:[32,112,1348]},'"}'],state:[{t:2,x:{r:["status_open"],s:'_0?null:"disabled"'},p:[32,132,1368]}]},f:[{t:2,r:"desc_open",p:[32,169,1405]}]},{p:[32,194,1430],t:7,e:"br"}]},{p:[32,203,1439],t:7,e:"td",f:[{p:[32,207,1443],t:7,e:"ui-button",a:{action:"PRG_close_job",params:['{"target" : "',{t:2,r:"title",p:[32,262,1498]},'"}'],state:[{t:2,x:{r:["status_close"],s:'_0?null:"disabled"'},p:[32,282,1518]}]},f:[{t:2,r:"desc_close",p:[32,320,1556]}]}]}]}],n:52,r:"data.slots",p:[30,1,1215]}]}]},{t:4,n:50,x:{r:["data.mmode"],s:"!(_0==2)"},f:[" ",{p:[40,1,1626],t:7,e:"div",a:{"class":"item"},f:[{p:[41,3,1647],t:7,e:"h2",f:["Access Modification"]}]}," ",{t:4,f:[{p:[45,3,1707],t:7,e:"span",a:{"class":"alert"},f:[{p:[45,23,1727],t:7,e:"i",f:["Please insert the ID into the terminal to proceed."]}]},{p:[45,87,1791],t:7,e:"br"}],n:50,x:{r:["data.has_id"],s:"!_0"},p:[44,1,1684]},{p:[48,1,1805],t:7,e:"div",a:{"class":"item"},f:[{p:[49,3,1826],t:7,e:"div",a:{"class":"itemLabel"},f:["Target Identity:"]}," ",{p:[52,3,1879],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[53,2,1906],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "id"}'},f:[{t:2,r:"data.id_name",p:[53,72,1976]}]}]}]}," ",{p:[56,1,2021],t:7,e:"div",a:{"class":"item"},f:[{p:[57,3,2042],t:7,e:"div",a:{"class":"itemLabel"},f:["Auth Identity:"]}," ",{p:[60,3,2093],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[61,2,2120],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "auth"}'},f:[{t:2,r:"data.auth_name",p:[61,74,2192]}]}]}]}," ",{p:[64,1,2239],t:7,e:"hr"}," ",{t:4,f:[{t:4,f:[{p:[68,2,2295],t:7,e:"div",a:{"class":"item"},f:[{p:[69,4,2317],t:7,e:"h2",f:["Details"]}]}," ",{t:4,f:[{p:[73,2,2364],t:7,e:"div",a:{"class":"item"},f:[{p:[74,4,2386],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[77,4,2442],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_owner",p:[78,3,2470]}]}]}," ",{p:[81,2,2507],t:7,e:"div",a:{"class":"item"},f:[{p:[82,4,2529],t:7,e:"div",a:{"class":"itemLabel"},f:["Rank:"]}," ",{p:[85,4,2574],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_rank",p:[86,3,2602]}]}]}," ",{p:[89,2,2638],t:7,e:"div",a:{"class":"item"},f:[{p:[90,4,2660],t:7,e:"div",a:{"class":"itemLabel"},f:["Demote:"]}," ",{p:[93,4,2707],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[94,3,2735],t:7,e:"ui-button",a:{action:"PRG_terminate",icon:"gear",state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Unassigned"?"disabled":null'},p:[94,56,2788]}]},f:["Demote ",{t:2,r:"data.id_owner",p:[94,117,2849]}]}]}]}],n:50,r:"data.minor",p:[72,2,2344]},{t:4,n:51,f:[{p:[99,2,2909],t:7,e:"div",a:{"class":"item"},f:[{p:[100,4,2931],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[103,4,2987],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[104,3,3015],t:7,e:"ui-button",a:{action:"PRG_edit",icon:"pencil",params:'{"name" : "1"}'},f:[{t:2,r:"data.id_owner",p:[104,70,3082]}]}]}]}," ",{p:[108,2,3132],t:7,e:"div",a:{"class":"item"},f:[{p:[109,4,3154],t:7,e:"h2",f:["Assignment"]}]}," ",{p:[111,3,3184],t:7,e:"ui-button",a:{action:"PRG_togglea",icon:"gear"},f:[{t:2,x:{r:["data.assignments"],s:'_0?"Hide assignments":"Show assignments"'},p:[111,47,3228]}]}," ",{p:[112,2,3304],t:7,e:"div",a:{"class":"item"},f:[{p:[113,4,3326],t:7,e:"span",a:{id:"allvalue.jobsslot"},f:[]}]}," ",{p:[117,2,3379],t:7,e:"div",a:{"class":"item"},f:[{t:4,f:[{p:[119,4,3429],t:7,e:"div",a:{id:"all-value.jobs"},f:[{p:[120,3,3457],t:7,e:"table",f:[{p:[121,5,3469],t:7,e:"tr",f:[{p:[122,4,3477],t:7,e:"th",f:["Command"]}," ",{p:[123,4,3497],t:7,e:"td",f:[{p:[124,6,3507],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Captain"}',state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Captain"?"selected":null'},p:[124,83,3584]}]},f:["Captain"]}]}]}," ",{p:[127,5,3678],t:7,e:"tr",f:[{p:[128,4,3686],t:7,e:"th",f:["Special"]}," ",{p:[129,4,3706],t:7,e:"td",f:[{p:[130,6,3716],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Custom"}'},f:["Custom"]}]}]}," ",{p:[133,5,3827],t:7,e:"tr",f:[{p:[134,4,3835],t:7,e:"th",a:{style:"color: '#FFA500';"},f:["Engineering"]}," ",{p:[135,4,3885],t:7,e:"td",f:[{t:4,f:[{p:[137,5,3931],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[137,64,3990]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[137,82,4008]}]},f:[{t:2,r:"display_name",p:[137,127,4053]}]}],n:52,r:"data.engineering_jobs",p:[136,6,3895]}]}]}," ",{p:[141,5,4120],t:7,e:"tr",f:[{p:[142,4,4128],t:7,e:"th",a:{style:"color: '#008000';"},f:["Medical"]}," ",{p:[143,4,4174],t:7,e:"td",f:[{t:4,f:[{p:[145,5,4216],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[145,64,4275]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[145,82,4293]}]},f:[{t:2,r:"display_name",p:[145,127,4338]}]}],n:52,r:"data.medical_jobs",p:[144,6,4184]}]}]}," ",{p:[149,5,4405],t:7,e:"tr",f:[{p:[150,4,4413],t:7,e:"th",a:{style:"color: '#800080';"},f:["Science"]}," ",{p:[151,4,4459],t:7,e:"td",f:[{t:4,f:[{p:[153,5,4501],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[153,64,4560]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[153,82,4578]}]},f:[{t:2,r:"display_name",p:[153,127,4623]}]}],n:52,r:"data.science_jobs",p:[152,6,4469]}]}]}," ",{p:[157,5,4690],t:7,e:"tr",f:[{p:[158,4,4698],t:7,e:"th",a:{style:"color: '#DD0000';"},f:["Security"]}," ",{p:[159,4,4745],t:7,e:"td",f:[{t:4,f:[{p:[161,5,4788],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[161,64,4847]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[161,82,4865]}]},f:[{t:2,r:"display_name",p:[161,127,4910]}]}],n:52,r:"data.security_jobs",p:[160,6,4755]}]}]}," ",{p:[165,5,4977],t:7,e:"tr",f:[{p:[166,4,4985],t:7,e:"th",a:{style:"color: '#cc6600';"},f:["Cargo"]}," ",{p:[167,4,5029],t:7,e:"td",f:[{t:4,f:[{p:[169,5,5069],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[169,64,5128]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[169,82,5146]}]},f:[{t:2,r:"display_name",p:[169,127,5191]}]}],n:52,r:"data.cargo_jobs",p:[168,6,5039]}]}]}," ",{p:[173,5,5258],t:7,e:"tr",f:[{p:[174,4,5266],t:7,e:"th",a:{style:"color: '#808080';"},f:["Civilian"]}," ",{p:[175,4,5313],t:7,e:"td",f:[{t:4,f:[{p:[177,5,5356],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[177,64,5415]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[177,82,5433]}]},f:[{t:2,r:"display_name",p:[177,127,5478]}]}],n:52,r:"data.civilian_jobs",p:[176,6,5323]}]}]}," ",{t:4,f:[{p:[182,4,5576],t:7,e:"tr",f:[{p:[183,6,5586],t:7,e:"th",a:{style:"color: '#A52A2A';"},f:["CentCom"]}," ",{p:[184,6,5634],t:7,e:"td",f:[{t:4,f:[{p:[186,7,5677],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[186,66,5736]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[186,84,5754]}]},f:[{t:2,r:"display_name",p:[186,129,5799]}]}],n:52,r:"data.centcom_jobs",p:[185,5,5643]}]}]}],n:50,r:"data.centcom_access",p:[181,5,5545]}]}]}],n:50,r:"data.assignments",p:[118,4,3401]}]}],r:"data.minor"}," ",{t:4,f:[{p:[198,4,5956],t:7,e:"div",a:{"class":"item"},f:[{p:[199,3,5977],t:7,e:"h2",f:["Central Command"]}]}," ",{p:[201,4,6015],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[203,5,6094],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[204,5,6128],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[204,64,6187]},'", "allowed" : "',{t:2,r:"allowed",p:[204,87,6210]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[204,109,6232]}]},f:[{t:2,r:"desc",p:[204,140,6263]}]}]}],n:52,r:"data.all_centcom_access",p:[202,3,6056]}]}],n:50,r:"data.centcom_access",p:[197,2,5925]},{t:4,n:51,f:[{p:[209,4,6330],t:7,e:"div",a:{"class":"item"},f:[{p:[210,3,6351],t:7,e:"h2",f:[{t:2,r:"data.station_name",p:[210,7,6355]}]}]}," ",{p:[212,4,6395],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[214,5,6463],t:7,e:"div",a:{style:"float: left; width: 175px; min-height: 250px"},f:[{p:[215,4,6525],t:7,e:"div",a:{"class":"average"},f:[{p:[215,25,6546],t:7,e:"ui-button",a:{action:"PRG_regsel",state:[{t:2,x:{r:["selected"],s:'_0?"toggle":null'},p:[215,63,6584]}],params:['{"region" : "',{t:2,r:"regid",p:[215,116,6637]},'"}']},f:[{p:[215,129,6650],t:7,e:"b",f:[{t:2,r:"name",p:[215,132,6653]}]}]}]}," ",{p:[216,4,6687],t:7,e:"br"}," ",{t:4,f:[{p:[218,6,6721],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[219,5,6755],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[219,64,6814]},'", "allowed" : "',{t:2,r:"allowed",p:[219,87,6837]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[219,109,6859]}]},f:[{t:2,r:"desc",p:[219,140,6890]}]}]}],n:52,r:"accesses",p:[217,6,6697]}]}],n:52,r:"data.regions",p:[213,3,6436]}]}],r:"data.centcom_access"}],n:50,r:"data.has_id",p:[67,3,2274]}],n:50,r:"data.authenticated",p:[66,1,2245]}]}],x:{r:["data.mmode"],s:"!_0"}}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],418:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargeState:function(t){var e=this.get("data.battery.max");return t>e/2?"good":t>e/4?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,297],t:7,e:"ntosheader"}," ",{p:[17,1,312],t:7,e:"ui-display",f:[{p:[18,2,326],t:7,e:"i",f:["Welcome to computer configuration utility. Please consult your system administrator if you have any questions about your device."]},{p:[18,137,461],t:7,e:"hr"}," ",{p:[19,2,467],t:7,e:"ui-display",a:{title:"Power Supply"},f:[{p:[20,3,503],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"data.power_usage",p:[21,4,539]},"W"]}," ",{t:4,f:[{p:[25,4,606],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Active"]}," ",{p:[28,4,674],t:7,e:"ui-section",a:{label:"Battery Rating"},f:[{t:2,r:"data.battery.max",p:[29,5,714]}]}," ",{p:[31,4,755],t:7,e:"ui-section",a:{label:"Battery Charge"},f:[{p:[32,5,795],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.battery.max",p:[32,26,816]}],value:[{t:2,r:"adata.battery.charge",p:[32,56,846]}],state:[{t:2,x:{r:["chargeState","adata.battery.charge"],s:"_0(_1)"},p:[32,89,879]}]},f:[{t:2,x:{r:["adata.battery.charge"],s:"Math.round(_0)"},p:[32,128,918]},"/",{t:2,r:"adata.battery.max",p:[32,165,955]}]}]}],n:50,r:"data.battery",p:[24,3,582]},{t:4,n:51,f:[{p:[35,4,1017],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Not Available"]}],r:"data.battery"}]}," ",{p:[41,2,1116],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,3,1151],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,4,1189],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,25,1210]}],value:[{t:2,r:"adata.disk_used",p:[43,53,1238]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,87,1272]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,123,1308]},"GQ"]}]}]}," ",{p:[47,2,1373],t:7,e:"ui-display",a:{title:"Computer Components"},f:[{t:4,f:[{p:[49,4,1443],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[49,26,1465]}]},f:[{p:[50,5,1480],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"desc",p:[50,59,1534]}]}," ",{p:[52,5,1554],t:7,e:"ui-section",a:{label:"State"},f:[{p:[53,6,1586],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["critical"],s:'_0?"disabled":null'},p:[53,24,1604]}],action:"PC_toggle_component",params:['{"name": "',{t:2,r:"name",p:[53,105,1685]},'"}']},f:[{t:2,x:{r:["enabled"],s:'_0?"Enabled":"Disabled"'},p:[54,7,1704]}]}]}," ",{t:4,f:[{p:[59,6,1810],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"powerusage",p:[60,7,1849]},"W"]}],n:50,r:"powerusage",p:[58,5,1786]}]}," ",{p:[64,4,1922],t:7,e:"br"}],n:52,r:"data.hardware",p:[48,3,1416]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],419:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,3,97],t:7,e:"h2",f:["An error has occurred and this program can not continue."]}," Additional information: ",{t:2,r:"data.error",p:[8,27,189]},{p:[8,41,203],t:7,e:"br"}," ",{p:[9,3,210],t:7,e:"i",f:["Please try again. If the problem persists contact your system administrator for assistance."]}," ",{p:[10,3,311],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["Restart program"]}],n:50,r:"data.error",p:[6,2,76]},{t:4,n:51,f:[{t:4,f:[{p:[13,4,410],t:7,e:"h2",f:["Viewing file ",{t:2,r:"data.filename",p:[13,21,427]}]}," ",{p:[14,4,453],t:7,e:"div",a:{"class":"item"},f:[{p:[15,4,475],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["CLOSE"]}," ",{p:[16,4,530],t:7,e:"ui-button",a:{action:"PRG_edit"},f:["EDIT"]}," ",{p:[17,4,579],t:7,e:"ui-button",a:{action:"PRG_printfile"},f:["PRINT"]}," "]},{p:[18,10,640],t:7,e:"hr"}," ",{t:3,r:"data.filedata",p:[19,4,648]}],n:50,r:"data.filename",p:[12,3,385]},{t:4,n:51,f:[{p:[21,4,682],t:7,e:"h2",f:["Available files (local):"]}," ",{p:[22,4,719],t:7,e:"table",f:[{p:[23,5,731],t:7,e:"tr",f:[{p:[24,6,741],t:7,e:"th",f:["File name"]}," ",{p:[25,6,765],t:7,e:"th",f:["File type"]}," ",{p:[26,6,789],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[27,6,818],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[30,6,878],t:7,e:"tr",f:[{p:[31,7,889],t:7,e:"td",f:[{t:2,r:"name",p:[31,11,893]}]}," ",{p:[32,7,913],t:7,e:"td",f:[".",{t:2,r:"type",p:[32,12,918]}]}," ",{p:[33,7,938],t:7,e:"td",f:[{t:2,r:"size",p:[33,11,942]},"GQ"]}," ",{p:[34,7,964],t:7,e:"td",f:[{p:[35,8,976],t:7,e:"ui-button",a:{action:"PRG_openfile",params:['{"name": "',{t:2,r:"name",p:[35,59,1027]},'"}']},f:["VIEW"]}," ",{p:[36,8,1063],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[36,26,1081]}],action:"PRG_deletefile",params:['{"name": "',{t:2,r:"name",p:[36,105,1160]},'"}']},f:["DELETE"]}," ",{p:[37,8,1198],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[37,26,1216]}],action:"PRG_rename",params:['{"name": "',{t:2,r:"name",p:[37,101,1291]},'"}']},f:["RENAME"]}," ",{p:[38,8,1329],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[38,26,1347]}],action:"PRG_clone",params:['{"name": "',{t:2,r:"name",p:[38,100,1421]},'"}']},f:["CLONE"]}," ",{t:4,f:[{p:[40,9,1492],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[40,27,1510]}],action:"PRG_copytousb",params:['{"name": "',{t:2,r:"name",p:[40,105,1588]},'"}']},f:["EXPORT"]}],n:50,r:"data.usbconnected",p:[39,8,1458]}]}]}],n:52,r:"data.files",p:[29,5,852]}]}," ",{t:4,f:[{p:[47,4,1715],t:7,e:"h2",f:["Available files (portable device):"]}," ",{p:[48,4,1762],t:7,e:"table",f:[{p:[49,5,1774],t:7,e:"tr",f:[{p:[50,6,1784],t:7,e:"th",f:["File name"]}," ",{p:[51,6,1808],t:7,e:"th",f:["File type"]}," ",{p:[52,6,1832],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[53,6,1861],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[56,6,1924],t:7,e:"tr",f:[{p:[57,7,1935],t:7,e:"td",f:[{t:2,r:"name",p:[57,11,1939]}]}," ",{p:[58,7,1959],t:7,e:"td",f:[".",{t:2,r:"type",p:[58,12,1964]}]}," ",{p:[59,7,1984],t:7,e:"td",f:[{t:2,r:"size",p:[59,11,1988]},"GQ"]}," ",{p:[60,7,2010],t:7,e:"td",f:[{p:[61,8,2022],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[61,26,2040]}],action:"PRG_usbdeletefile",params:['{"name": "',{t:2,r:"name",p:[61,108,2122]},'"}']},f:["DELETE"]}," ",{t:4,f:[{p:[63,9,2194],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[63,27,2212]}],action:"PRG_copyfromusb",params:['{"name": "',{t:2,r:"name",p:[63,107,2292]},'"}']},f:["IMPORT"]}],n:50,r:"data.usbconnected",p:[62,8,2160]}]}]}],n:52,r:"data.usbfiles",p:[55,5,1895]}]}],n:50,r:"data.usbconnected",p:[46,4,1686]}," ",{p:[70,4,2401],t:7,e:"ui-button",a:{action:"PRG_newtextfile"},f:["NEW DATA FILE"]}],r:"data.filename"}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],420:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"i",f:["No program loaded. Please select program from list below."]}," ",{p:[6,2,141],t:7,e:"table",f:[{t:4,f:[{p:[8,4,178],t:7,e:"tr",f:[{p:[8,8,182],t:7,e:"td",f:[{p:[8,12,186],t:7,e:"ui-button",a:{action:"PC_runprogram",params:['{"name": "',{t:2,r:"name",p:[8,64,238]},'"}']},f:[{t:2,r:"desc",p:[9,5,255]}]}]},{p:[11,4,283],t:7,e:"td",f:[{p:[11,8,287],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["running"],s:'_0?null:"disabled"'},p:[11,26,305]}],icon:"close",action:"PC_killprogram",params:['{"name": "',{t:2,r:"name",p:[11,114,393]},'"}']}}]}]}],n:52,r:"data.programs",p:[7,3,151]}]}," ",{p:[14,2,441],t:7,e:"br"},{p:[14,6,445],t:7,e:"br"}," ",{t:4,f:[{p:[16,3,476],t:7,e:"ui-button",a:{action:"PC_toggle_light",style:[{t:2,x:{r:["data.light_on"],s:'_0?"selected":null'},p:[16,46,519]}]},f:["Toggle Flashlight"]},{p:[16,114,587],t:7,e:"br"}," ",{p:[17,3,594],t:7,e:"ui-button",a:{action:"PC_light_color"},f:["Change Flashlight Color ",{p:[17,62,653],t:7,e:"span",a:{style:["border:1px solid #161616; background-color: ",{t:2,r:"data.comp_light_color",p:[17,119,710]},";"]},f:["Â Â Â "]}]}],n:50,r:"data.has_light",p:[15,2,451]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],421:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[6,3,100],t:7,e:"h1",f:["ADMINISTRATIVE MODE"]}],n:50,r:"data.adminmode",p:[5,2,75]}," ",{t:4,f:[{p:[10,3,161],t:7,e:"div",a:{"class":"itemLabel"},f:["Current channel:"]}," ",{p:[13,3,217],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.title",p:[14,4,246]}]}," ",{p:[16,3,272],t:7,e:"div",a:{"class":"itemLabel"},f:["Operator access:"]}," ",{p:[19,3,328],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:[{p:[21,5,386],t:7,e:"b",f:["Enabled"]}],n:50,r:"data.is_operator",p:[20,4,357]},{t:4,n:51,f:[{p:[23,5,417],t:7,e:"b",f:["Disabled"]}],r:"data.is_operator"}]}," ",{p:[26,3,455],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[29,3,504],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[30,4,533],t:7,e:"table",f:[{p:[31,5,545],t:7,e:"tr",f:[{p:[31,9,549],t:7,e:"td",f:[{p:[31,13,553],t:7,e:"ui-button",a:{action:"PRG_speak"},f:["Send message"]}]}]},{p:[32,5,612],t:7,e:"tr",f:[{p:[32,9,616],t:7,e:"td",f:[{p:[32,13,620],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[33,5,687],t:7,e:"tr",f:[{p:[33,9,691],t:7,e:"td",f:[{p:[33,13,695],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]},{p:[34,5,774],t:7,e:"tr",f:[{p:[34,9,778],t:7,e:"td",f:[{p:[34,13,782],t:7,e:"ui-button",a:{action:"PRG_leavechannel"},f:["Leave channel"]}]}]},{p:[35,5,849],t:7,e:"tr",f:[{p:[35,9,853],t:7,e:"td",f:[{p:[35,13,857],t:7,e:"ui-button",a:{action:"PRG_savelog"},f:["Save log to local drive"]}," ",{t:4,f:[{p:[37,6,959],t:7,e:"tr",f:[{p:[37,10,963],t:7,e:"td",f:[{p:[37,14,967],t:7,e:"ui-button",a:{action:"PRG_renamechannel"},f:["Rename channel"]}]}]},{p:[38,6,1037],t:7,e:"tr",f:[{p:[38,10,1041],t:7,e:"td",f:[{p:[38,14,1045],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}]}]},{p:[39,6,1111],t:7,e:"tr",f:[{p:[39,10,1115],t:7,e:"td",f:[{p:[39,14,1119],t:7,e:"ui-button",a:{action:"PRG_deletechannel"},f:["Delete channel"]}]}]}],n:50,r:"data.is_operator",p:[36,5,929]}]}]}]}]}," ",{p:[43,3,1221],t:7,e:"b",f:["Chat Window"]}," ",{p:[44,4,1243],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[45,4,1298],t:7,e:"div",a:{"class":"item"},f:[{p:[46,5,1321],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"msg",p:[48,7,1403]},{p:[48,14,1410],t:7,e:"br"}],n:52,r:"data.messages",p:[47,6,1373]}]}]}]}," ",{p:[53,3,1464],t:7,e:"b",f:["Connected Users"]},{p:[53,25,1486],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"name",p:[55,4,1519]},{p:[55,12,1527],t:7,e:"br"}],n:52,r:"data.clients",p:[54,3,1493]}],n:50,r:"data.title",p:[9,2,140]},{t:4,n:51,f:[{p:[58,3,1556],t:7,e:"b",f:["Controls:"]}," ",{p:[59,3,1575],t:7,e:"table",f:[{p:[60,4,1586],t:7,e:"tr",f:[{p:[60,8,1590],t:7,e:"td",f:[{p:[60,12,1594],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[61,4,1660],t:7,e:"tr",f:[{p:[61,8,1664],t:7,e:"td",f:[{p:[61,12,1668],t:7,e:"ui-button",a:{action:"PRG_newchannel"},f:["New Channel"]}]}]},{p:[62,4,1730],t:7,e:"tr",f:[{p:[62,8,1734],t:7,e:"td",f:[{p:[62,12,1738],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]}]}," ",{p:[64,3,1826],t:7,e:"b",f:["Available channels:"]}," ",{p:[65,3,1855],t:7,e:"table",f:[{t:4,f:[{p:[67,4,1898],t:7,e:"tr",f:[{p:[67,8,1902],t:7,e:"td",f:[{p:[67,12,1906],t:7,e:"ui-button",a:{action:"PRG_joinchannel",params:['{"id": "',{t:2,r:"id",p:[67,64,1958]},'"}']},f:[{t:2,r:"chan",p:[67,74,1968]}]},{p:[67,94,1988],t:7,e:"br"}]}]}],n:52,r:"data.all_channels",p:[66,3,1865]}]}],r:"data.title"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],422:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:["##SYSTEM ERROR: ",{t:2,r:"data.error",p:[6,19,112]},{p:[6,33,126],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["RESET"]}],n:50,r:"data.error",p:[5,2,75]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.target"],s:"_0"},f:["##DoS traffic generator active. Tx: ",{t:2,r:"data.speed",p:[8,39,236]},"GQ/s",{p:[8,57,254],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"nums",p:[10,4,291]},{p:[10,12,299],t:7,e:"br"}],n:52,r:"data.dos_strings",p:[9,3,261]}," ",{p:[12,3,318],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["ABORT"]}]},{t:4,n:50,x:{r:["data.target"],s:"!(_0)"},f:[" ##DoS traffic generator ready. Select target device.",{p:[14,55,430],t:7,e:"br"}," ",{t:4,f:["Targeted device ID: ",{t:2,r:"data.focus",p:[16,24,479]}],n:50,r:"data.focus",p:[15,3,437]},{t:4,n:51,f:["Targeted device ID: None"],r:"data.focus"}," ",{p:[20,3,545],t:7,e:"ui-button",a:{action:"PRG_execute"},f:["EXECUTE"]},{p:[20,54,596],t:7,e:"div",a:{style:"clear:both"}}," Detected devices on network:",{p:[21,31,657],t:7,e:"br"}," ",{t:4,f:[{p:[23,4,689],t:7,e:"ui-button",a:{action:"PRG_target_relay",params:['{"targid": "',{t:2,r:"id",p:[23,61,746]},'"}']},f:[{t:2,r:"id",p:[23,71,756]}]}],n:52,r:"data.relays",p:[22,3,664]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],423:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"i",f:["Welcome to software download utility. Please select which software you wish to download."]},{p:[5,97,170],t:7,e:"hr"}," ",{t:4,f:[{p:[7,3,197],t:7,e:"ui-display",a:{title:"Download Error"},f:[{p:[8,4,236],t:7,e:"ui-section",a:{label:"Information"},f:[{t:2,r:"data.error",p:[9,5,273]}]}," ",{p:[11,4,308],t:7,e:"ui-section",a:{label:"Reset Program"},f:[{p:[12,5,347],t:7,e:"ui-button",a:{icon:"times",action:"PRG_reseterror"},f:["RESET"]}]}]}],n:50,r:"data.error",p:[6,2,176]},{t:4,n:51,f:[{t:4,f:[{p:[19,4,498],t:7,e:"ui-display",a:{title:"Download Running"},f:[{p:[20,5,540],t:7,e:"i",f:["Please wait..."]}," ",{p:[21,5,566],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"data.downloadname",p:[22,6,602]}]}," ",{p:[24,5,646],t:7,e:"ui-section",a:{label:"File description"},f:[{t:2,r:"data.downloaddesc",p:[25,6,689]}]}," ",{p:[27,5,733],t:7,e:"ui-section",a:{label:"File size"},f:[{t:2,r:"data.downloadsize",p:[28,6,769]},"GQ"]}," ",{p:[30,5,815],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{t:2,r:"data.downloadspeed",p:[31,6,855]}," GQ/s"]}," ",{p:[33,5,905],t:7,e:"ui-section",a:{label:"Download progress"},f:[{p:[34,6,949],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.downloadsize",p:[34,27,970]}],value:[{t:2,r:"adata.downloadcompletion",p:[34,58,1001]}],state:"good"},f:[{t:2,x:{r:["adata.downloadcompletion"],s:"Math.round(_0)"},p:[34,101,1044]},"GQ / ",{t:2,r:"adata.downloadsize",p:[34,146,1089]},"GQ"]}]}]}],n:50,r:"data.downloadname",p:[18,3,469]}],r:"data.error"}," ",{t:4,f:[{t:4,f:[{p:[41,4,1230],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,5,1267],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,6,1307],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,27,1328]}],value:[{t:2,r:"adata.disk_used",p:[43,55,1356]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,89,1390]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,125,1426]},"GQ"]}]}]}," ",{p:[47,4,1499],t:7,e:"ui-display",a:{title:"Primary Software Repository"},f:[{t:4,f:[{p:[49,6,1594],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[49,28,1616]}]},f:[{p:[50,7,1637],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[50,61,1691]}]}," ",{p:[52,7,1723],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[53,8,1761]}," (",{t:2,r:"size",p:[53,22,1775]}," GQ)"]}," ",{p:[55,7,1814],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[56,8,1856]}]}," ",{p:[58,7,1900],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[58,80,1973]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[62,6,2052],t:7,e:"br"}],n:52,r:"data.downloadable_programs",p:[48,5,1552]}]}," ",{t:4,f:[{p:[67,5,2128],t:7,e:"ui-display",a:{title:"UNKNOWN Software Repository"},
+f:[{p:[68,6,2182],t:7,e:"i",f:["Please note that Nanotrasen does not recommend download of software from non-official servers."]}," ",{t:4,f:[{p:[70,7,2326],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[70,29,2348]}]},f:[{p:[71,8,2370],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[71,62,2424]}]}," ",{p:[73,8,2458],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[74,9,2497]}," (",{t:2,r:"size",p:[74,23,2511]}," GQ)"]}," ",{p:[76,8,2552],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[77,9,2595]}]}," ",{p:[79,8,2641],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[79,81,2714]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[83,7,2797],t:7,e:"br"}],n:52,r:"data.hacked_programs",p:[69,6,2289]}]}],n:50,r:"data.hackedavailable",p:[66,4,2095]}],n:50,x:{r:["data.error"],s:"!_0"},p:[40,3,1207]}],n:50,x:{r:["data.downloadname"],s:"!_0"},p:[39,2,1178]}," ",{p:[89,2,2866],t:7,e:"br"},{p:[89,6,2870],t:7,e:"br"},{p:[89,10,2874],t:7,e:"hr"},{p:[89,14,2878],t:7,e:"i",f:["NTOS v2.0.4b Copyright Nanotrasen 2557 - 2559"]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],424:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[6,2,76],t:7,e:"ui-display",a:{title:"WIRELESS CONNECTIVITY"},f:[{p:[8,3,122],t:7,e:"ui-section",a:{label:"Active NTNetRelays"},f:[{p:[9,4,165],t:7,e:"b",f:[{t:2,r:"data.ntnetrelays",p:[9,7,168]}]}]}," ",{t:4,f:[{p:[12,4,239],t:7,e:"ui-section",a:{label:"System status"},f:[{p:[13,6,279],t:7,e:"b",f:[{t:2,x:{r:["data.ntnetstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[13,9,282]}]}]}," ",{p:[15,4,352],t:7,e:"ui-section",a:{label:"Control"},f:[{p:[17,4,385],t:7,e:"ui-button",a:{icon:"plus",action:"toggleWireless"},f:["TOGGLE"]}]}," ",{p:[21,4,480],t:7,e:"br"},{p:[21,8,484],t:7,e:"br"}," ",{p:[22,4,492],t:7,e:"i",f:["Caution - Disabling wireless transmitters when using wireless device may prevent you from re-enabling them again!"]}],n:50,r:"data.ntnetrelays",p:[11,3,211]},{t:4,n:51,f:[{p:[24,4,627],t:7,e:"br"},{p:[24,8,631],t:7,e:"p",f:["Wireless coverage unavailable, no relays are connected."]}],r:"data.ntnetrelays"}]}," ",{p:[29,2,722],t:7,e:"ui-display",a:{title:"FIREWALL CONFIGURATION"},f:[{p:[31,2,768],t:7,e:"table",f:[{p:[32,3,778],t:7,e:"tr",f:[{p:[33,4,786],t:7,e:"th",f:["PROTOCOL"]},{p:[34,4,802],t:7,e:"th",f:["STATUS"]},{p:[35,4,816],t:7,e:"th",f:["CONTROL"]}]},{p:[36,3,830],t:7,e:"tr",f:[" ",{p:[37,4,838],t:7,e:"td",f:["Software Downloads"]},{p:[38,4,864],t:7,e:"td",f:[{t:2,x:{r:["data.config_softwaredownload"],s:'_0?"ENABLED":"DISABLED"'},p:[38,8,868]}]},{p:[39,4,929],t:7,e:"td",f:[" ",{p:[39,9,934],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "1"}'},f:["TOGGLE"]}]}]},{p:[40,3,1012],t:7,e:"tr",f:[" ",{p:[41,4,1020],t:7,e:"td",f:["Peer to Peer Traffic"]},{p:[42,4,1048],t:7,e:"td",f:[{t:2,x:{r:["data.config_peertopeer"],s:'_0?"ENABLED":"DISABLED"'},p:[42,8,1052]}]},{p:[43,4,1107],t:7,e:"td",f:[{p:[43,8,1111],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "2"}'},f:["TOGGLE"]}]}]},{p:[44,3,1189],t:7,e:"tr",f:[" ",{p:[45,4,1197],t:7,e:"td",f:["Communication Systems"]},{p:[46,4,1226],t:7,e:"td",f:[{t:2,x:{r:["data.config_communication"],s:'_0?"ENABLED":"DISABLED"'},p:[46,8,1230]}]},{p:[47,4,1288],t:7,e:"td",f:[{p:[47,8,1292],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "3"}'},f:["TOGGLE"]}]}]},{p:[48,3,1370],t:7,e:"tr",f:[" ",{p:[49,4,1378],t:7,e:"td",f:["Remote System Control"]},{p:[50,4,1407],t:7,e:"td",f:[{t:2,x:{r:["data.config_systemcontrol"],s:'_0?"ENABLED":"DISABLED"'},p:[50,8,1411]}]},{p:[51,4,1469],t:7,e:"td",f:[{p:[51,8,1473],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "4"}'},f:["TOGGLE"]}]}]}]}]}," ",{p:[55,2,1576],t:7,e:"ui-display",a:{title:"SECURITY SYSTEMS"},f:[{t:4,f:[{p:[58,4,1642],t:7,e:"ui-notice",f:[{p:[59,5,1658],t:7,e:"h1",f:["NETWORK INCURSION DETECTED"]}]}," ",{p:[61,5,1714],t:7,e:"i",f:["An abnormal activity has been detected in the network. Please verify system logs for more information"]}],n:50,r:"data.idsalarm",p:[57,3,1617]}," ",{p:[64,3,1839],t:7,e:"ui-section",a:{label:"Intrusion Detection System"},f:[{p:[65,4,1890],t:7,e:"b",f:[{t:2,x:{r:["data.idsstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[65,7,1893]}]}]}," ",{p:[68,3,1962],t:7,e:"ui-section",a:{label:"Maximal Log Count"},f:[{p:[69,4,2004],t:7,e:"b",f:[{t:2,r:"data.ntnetmaxlogs",p:[69,7,2007]}]}]}," ",{p:[72,3,2054],t:7,e:"ui-section",a:{label:"Controls"},f:[]}," ",{p:[74,4,2103],t:7,e:"table",f:[{p:[75,4,2114],t:7,e:"tr",f:[{p:[75,8,2118],t:7,e:"td",f:[{p:[75,12,2122],t:7,e:"ui-button",a:{action:"resetIDS"},f:["RESET IDS"]}]}]},{p:[76,4,2176],t:7,e:"tr",f:[{p:[76,8,2180],t:7,e:"td",f:[{p:[76,12,2184],t:7,e:"ui-button",a:{action:"toggleIDS"},f:["TOGGLE IDS"]}]}]},{p:[77,4,2240],t:7,e:"tr",f:[{p:[77,8,2244],t:7,e:"td",f:[{p:[77,12,2248],t:7,e:"ui-button",a:{action:"updatemaxlogs"},f:["SET LOG LIMIT"]}]}]},{p:[78,4,2311],t:7,e:"tr",f:[{p:[78,8,2315],t:7,e:"td",f:[{p:[78,12,2319],t:7,e:"ui-button",a:{action:"purgelogs"},f:["PURGE LOGS"]}]}]}]}," ",{p:[81,3,2387],t:7,e:"ui-subdisplay",a:{title:"System Logs"},f:[{p:[82,3,2425],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[83,3,2479],t:7,e:"div",a:{"class":"item"},f:[{p:[84,4,2501],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"entry",p:[86,6,2582]},{p:[86,15,2591],t:7,e:"br"}],n:52,r:"data.ntnetlogs",p:[85,5,2552]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],425:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,2,96],t:7,e:"div",a:{"class":"item"},f:[{p:[8,3,117],t:7,e:"h2",f:["An error has occurred during operation..."]}," ",{p:[9,3,170],t:7,e:"b",f:["Additional information:"]},{t:2,r:"data.error",p:[9,34,201]},{p:[9,48,215],t:7,e:"br"}," ",{p:[10,3,222],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Clear"]}]}],n:50,r:"data.error",p:[6,2,76]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.downloading"],s:"_0"},f:[{p:[13,3,309],t:7,e:"h2",f:["Download in progress..."]}," ",{p:[14,3,344],t:7,e:"div",a:{"class":"itemLabel"},f:["Downloaded file:"]}," ",{p:[17,3,400],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_name",p:[18,4,429]}]}," ",{p:[20,3,464],t:7,e:"div",a:{"class":"itemLabel"},f:["Download progress:"]}," ",{p:[23,3,522],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_progress",p:[24,4,551]}," / ",{t:2,r:"data.download_size",p:[24,33,580]}," GQ"]}," ",{p:[26,3,617],t:7,e:"div",a:{"class":"itemLabel"},f:["Transfer speed:"]}," ",{p:[29,3,672],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_netspeed",p:[30,4,701]},"GQ/s"]}," ",{p:[32,3,743],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[35,3,792],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[36,4,821],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Abort download"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading"],s:"(!(_0))&&(_1)"},f:[" ",{p:[39,3,916],t:7,e:"h2",f:["Server enabled"]}," ",{p:[40,3,942],t:7,e:"div",a:{"class":"itemLabel"},f:["Connected clients:"]}," ",{p:[43,3,1e3],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_clients",p:[44,4,1029]}]}," ",{p:[46,3,1064],t:7,e:"div",a:{"class":"itemLabel"},f:["Provided file:"]}," ",{p:[49,3,1118],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_filename",p:[50,4,1147]}]}," ",{p:[52,3,1183],t:7,e:"div",a:{"class":"itemLabel"},f:["Server password:"]}," ",{p:[55,3,1239],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ENABLED"],n:50,r:"data.upload_haspassword",p:[56,4,1268]},{t:4,n:51,f:["DISABLED"],r:"data.upload_haspassword"}]}," ",{p:[62,3,1359],t:7,e:"div",a:{"class":"itemLabel"},f:["Commands:"]}," ",{p:[65,3,1408],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[66,4,1437],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[67,4,1501],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Exit server"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(_2))"},f:[" ",{p:[70,3,1599],t:7,e:"h2",f:["File transfer server ready. Select file to upload:"]}," ",{p:[71,3,1662],t:7,e:"table",f:[{p:[72,3,1672],t:7,e:"tr",f:[{p:[72,7,1676],t:7,e:"th",f:["File name"]},{p:[72,20,1689],t:7,e:"th",f:["File size"]},{p:[72,33,1702],t:7,e:"th",f:["Controls ",{t:4,f:[{p:[74,4,1751],t:7,e:"tr",f:[{p:[74,8,1755],t:7,e:"td",f:[{t:2,r:"filename",p:[74,12,1759]}]},{p:[75,4,1775],t:7,e:"td",f:[{t:2,r:"size",p:[75,8,1779]},"GQ"]},{p:[76,4,1793],t:7,e:"td",f:[{p:[76,8,1797],t:7,e:"ui-button",a:{action:"PRG_uploadfile",params:['{"id": "',{t:2,r:"uid",p:[76,59,1848]},'"}']},f:["Select"]}]}]}],n:52,r:"data.upload_filelist",p:[73,3,1717]}]}]}]}," ",{p:[79,3,1903],t:7,e:"hr"}," ",{p:[80,3,1910],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[81,3,1973],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Return"]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(!(_2)))"},f:[" ",{p:[83,3,2034],t:7,e:"h2",f:["Available files:"]}," ",{p:[84,3,2062],t:7,e:"table",a:{border:"1",style:"border-collapse: collapse"},f:[{p:[84,55,2114],t:7,e:"tr",f:[{p:[84,59,2118],t:7,e:"th",f:["Server UID"]},{p:[84,73,2132],t:7,e:"th",f:["File Name"]},{p:[84,86,2145],t:7,e:"th",f:["File Size"]},{p:[84,99,2158],t:7,e:"th",f:["Password Protection"]},{p:[84,122,2181],t:7,e:"th",f:["Operations ",{t:4,f:[{p:[86,5,2226],t:7,e:"tr",f:[{p:[86,9,2230],t:7,e:"td",f:[{t:2,r:"uid",p:[86,13,2234]}]},{p:[87,5,2246],t:7,e:"td",f:[{t:2,r:"filename",p:[87,9,2250]}]},{p:[88,5,2267],t:7,e:"td",f:[{t:2,r:"size",p:[88,9,2271]},"GQ ",{t:4,f:[{p:[90,6,2311],t:7,e:"td",f:["Enabled"]}],n:50,r:"haspassword",p:[89,5,2286]}," ",{t:4,f:[{p:[93,6,2365],t:7,e:"td",f:["Disabled"]}],n:50,x:{r:["haspassword"],s:"!_0"},p:[92,5,2339]}]},{p:[96,5,2399],t:7,e:"td",f:[{p:[96,9,2403],t:7,e:"ui-button",a:{action:"PRG_downloadfile",params:['{"id": "',{t:2,r:"uid",p:[96,62,2456]},'"}']},f:["Download"]}]}]}],n:52,r:"data.servers",p:[85,4,2199]}]}]}]}," ",{p:[99,3,2514],t:7,e:"hr"}," ",{p:[100,3,2521],t:7,e:"ui-button",a:{action:"PRG_uploadmenu"},f:["Send file"]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],426:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[43,1,1040],t:7,e:"ntosheader"}," ",{p:[45,1,1055],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[47,5,1111],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[47,27,1133]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[49,38,1283]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[50,15,1338]}],yinc:"9"}}],n:50,r:"config.fancy",p:[46,3,1086]},{t:4,n:51,f:[{p:[52,5,1386],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[53,7,1423],t:7,e:"span",f:[{t:2,r:"data.supply",p:[53,13,1429]}]}]}," ",{p:[55,5,1474],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[56,9,1508],t:7,e:"span",f:[{t:2,r:"data.demand",p:[56,15,1514]}]}]}],r:"config.fancy"}]}," ",{p:[60,1,1579],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[61,3,1608],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[62,5,1632],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[63,5,1668],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[64,5,1706],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[65,5,1742],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[66,5,1780],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[67,5,1821],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[68,5,1861],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[71,5,1943],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[71,24,1962]}],nowrap:0},f:[{p:[72,7,1986],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[72,28,2007]}," %"]}," ",{p:[73,7,2064],t:7,e:"div",a:{"class":"content"},f:[{t:2,rx:{r:"adata.areas",m:[{t:30,n:"@index"},"load"]},p:[73,28,2085]}]}," ",{p:[74,7,2126],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2147],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[74,41,2160]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[74,70,2189]}]}]}," ",{p:[75,7,2235],t:7,e:"div",a:{"class":"content"},f:[{p:[75,28,2256],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[75,41,2269]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[75,64,2292]}," [",{p:[75,87,2315],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[75,93,2321]}]},"]"]}]}," ",{p:[76,7,2369],t:7,e:"div",a:{"class":"content"},f:[{p:[76,28,2390],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[76,41,2403]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[76,64,2426]}," [",{p:[76,87,2449],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[76,93,2455]}]},"]"]}]}," ",{p:[77,7,2503],t:7,e:"div",a:{"class":"content"},f:[{p:[77,28,2524],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[77,41,2537]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[77,64,2560]}," [",{p:[77,87,2583],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[77,93,2589]}]},"]"]}]}]}],n:52,r:"data.areas",p:[70,3,1918]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],427:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{p:[4,1,61],t:7,e:"ui-display",f:[{p:[5,2,75],t:7,e:"div",a:{"class":"item"},f:[{p:[6,3,96],t:7,e:"div",a:{"class":"itemLabel"},f:["Payload status:"]}," ",{p:[9,3,150],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ARMED"],n:50,r:"data.armed",p:[10,4,179]},{t:4,n:51,f:["DISARMED"],r:"data.armed"}]}," ",{p:[16,3,255],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[19,3,303],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[20,4,332],t:7,e:"table",f:[{p:[21,4,343],t:7,e:"tr",f:[{p:[21,8,347],t:7,e:"td",f:[{p:[21,12,351],t:7,e:"ui-button",a:{action:"PRG_obfuscate"},f:["OBFUSCATE PROGRAM NAME"]}]}]},{p:[22,4,423],t:7,e:"tr",f:[{p:[22,8,427],t:7,e:"td",f:[{p:[22,12,431],t:7,e:"ui-button",a:{action:"PRG_arm",state:[{t:2,x:{r:["data.armed"],s:'_0?"danger":null'},p:[22,47,466]}]},f:[{t:2,x:{r:["data.armed"],s:'_0?"DISARM":"ARM"'},p:[22,81,500]}]}," ",{p:[23,4,549],t:7,e:"ui-button",a:{icon:"radiation",state:[{t:2,x:{r:["data.armed"],s:'_0?null:"disabled"'},p:[23,39,584]}],action:"PRG_activate"},f:["ACTIVATE"]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],428:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,46],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,3,91],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[5,22,110]}," Alarms"]},f:[{p:[6,5,133],t:7,e:"ul",f:[{t:4,f:[{p:[8,9,164],t:7,e:"li",f:[{t:2,r:".",p:[8,13,168]}]}],n:52,r:".",p:[7,7,144]},{t:4,n:51,f:[{p:[10,9,202],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[4,1,61]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],429:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{integState:function(t){var e=100;return t==e?"good":t>e/2?"average":"bad"},bigState:function(t,e,n){return charge>n?"bad":t>e?"average":"good"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[23,1,399],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[27,2,436],t:7,e:"ui-button",a:{action:"PRG_clear"},f:["Back to Menu"]},{p:[27,56,490],t:7,e:"br"}," ",{p:[28,3,497],t:7,e:"ui-display",a:{title:"Supermatter Status:"},f:[{p:[29,3,540],t:7,e:"ui-section",a:{label:"Core Integrity"},f:[{p:[30,5,580],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"adata.SM_integrity",p:[30,38,613]}],state:[{t:2,x:{r:["integState","adata.SM_integrity"],s:"_0(_1)"},p:[30,69,644]}]},f:[{t:2,r:"data.SM_integrity",p:[30,105,680]},"%"]}]}," ",{p:[32,3,730],t:7,e:"ui-section",a:{label:"Relative EER"},f:[{p:[33,5,768],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_power"],s:"_0(_1,150,300)"},p:[33,18,781]}]},f:[{t:2,r:"data.SM_power",p:[33,55,818]}," MeV/cm3"]}]}," ",{p:[35,3,869],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[36,5,906],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambienttemp"],s:"_0(_1,4000,5000)"},p:[36,18,919]}]},f:[{t:2,r:"data.SM_ambienttemp",p:[36,63,964]}," K"]}]}," ",{p:[38,3,1015],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[39,5,1049],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambientpressure"],s:"_0(_1,5000,10000)"},p:[39,18,1062]}]},f:[{t:2,r:"data.SM_ambientpressure",p:[39,68,1112]}," kPa"]}]}]}," ",{p:[42,3,1186],t:7,e:"hr"},{p:[42,7,1190],t:7,e:"br"}," ",{p:[43,3,1197],t:7,e:"ui-display",a:{title:"Gas Composition:"},f:[{t:4,f:[{p:[45,5,1263],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[45,24,1282]}]},f:[{t:2,r:"amount",p:[46,6,1298]}," %"]}],n:52,r:"data.gases",p:[44,4,1238]}]}],n:50,r:"data.active",p:[26,1,415]},{t:4,n:51,f:[{p:[51,2,1368],t:7,e:"ui-button",a:{action:"PRG_refresh"},f:["Refresh"]},{p:[51,53,1419],t:7,e:"br"}," ",{p:[52,2,1425],t:7,e:"ui-display",a:{title:"Detected Supermatters"},f:[{t:4,f:[{p:[54,3,1499],t:7,e:"ui-section",a:{label:"Area"},f:[{t:2,r:"area_name",p:[55,5,1529]}," - (#",{t:2,r:"uid",p:[55,23,1547]},")"]}," ",{p:[57,3,1574],t:7,e:"ui-section",a:{label:"Integrity"},f:[{t:2,r:"integrity",p:[58,5,1609]}," %"]}," ",{p:[60,3,1643],t:7,e:"ui-section",a:{label:"Options"},f:[{p:[61,5,1676],t:7,e:"ui-button",a:{action:"PRG_set",params:['{"target" : "',{t:2,r:"uid",p:[61,54,1725]},'"}']},f:["View Details"]}]}],n:52,r:"data.supermatters",p:[53,2,1469]}]}],r:"data.active"}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(430)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,430:430}],430:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"item",style:"float: left"},f:[{p:[2,2,40],t:7,e:"table",f:[{p:[2,9,47],t:7,e:"tr",f:[{t:4,f:[{p:[4,3,110],t:7,e:"td",f:[{p:[4,7,114],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[4,17,124]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[3,2,53]}," ",{t:4,f:[{p:[7,3,220],t:7,e:"td",f:[{p:[7,7,224],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[7,10,227]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[6,2,160]}," ",{t:4,f:[{p:[10,3,296],t:7,e:"td",f:[{p:[10,7,300],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[10,17,310]}]}}]}],n:50,r:"data.PC_ntneticon",p:[9,2,268]}," ",{t:4,f:[{p:[13,3,374],t:7,e:"td",f:[{p:[13,7,378],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[13,17,388]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[12,2,344]}," ",{t:4,f:[{p:[16,3,454],t:7,e:"td",f:[{p:[16,7,458],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[16,10,461]}]}]}],n:50,r:"data.PC_stationtime",p:[15,2,424]}," ",{t:4,f:[{p:[19,3,534],t:7,e:"td",f:[{p:[19,7,538],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[19,17,548]}]}}]}],n:52,r:"data.PC_programheaders",p:[18,2,499]}]}]}]}," ",{p:[23,1,587],t:7,e:"div",a:{style:"float: right; margin-top: 5px"},f:[{p:[24,2,632],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[26,3,720],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}," ",{p:[27,3,775],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}],n:50,r:"data.PC_showexitprogram",p:[25,2,686]}]}," ",{p:[30,1,852],t:7,e:"div",a:{style:"clear: both"}}]},e.exports=a.extend(r.exports)},{341:341}],431:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Auth. Disk:"},f:[{t:4,f:[{p:[3,7,67],t:7,e:"ui-button",a:{icon:"eject",style:"selected",action:"eject_disk"},f:["++++++++++"]}],n:50,r:"data.disk_present",p:[2,3,35]},{t:4,n:51,f:[{p:[5,7,168],t:7,e:"ui-button",a:{icon:"plus",action:"insert_disk"},f:["----------"]}],r:"data.disk_present"}]}," ",{p:[8,1,259],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[9,3,289],t:7,e:"span",f:[{t:2,r:"data.status1",p:[9,9,295]},"-",{t:2,r:"data.status2",p:[9,26,312]}]}]}," ",{p:[11,1,350],t:7,e:"ui-display",a:{title:"Timer"},f:[{p:[12,3,379],t:7,e:"ui-section",a:{label:"Time to Detonation"},f:[{p:[13,5,423],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[13,11,429]}]}]}," ",{t:4,f:[{p:[16,5,525],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[17,7,565],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_default"],s:'_0&&_1&&_2?null:"disabled"'},p:[17,40,598]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[19,7,768],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_min"],s:'_0&&_1&&_2?null:"disabled"'},p:[19,38,799]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[21,7,971],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[21,39,1003]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[22,7,1134],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_max"],s:'_0&&_1&&_2?null:"disabled"'},p:[22,37,1164]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[15,3,504]}," ",{p:[26,3,1369],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[27,5,1400],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[27,38,1433]}],action:"toggle_timer",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.safety"],s:'_0&&_1&&!_2?null:"disabled"'},p:[29,14,1514]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[30,7,1602]}]}]}]}," ",{p:[34,1,1680],t:7,e:"ui-display",a:{title:"Anchoring"},f:[{p:[35,3,1713],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[36,12,1735]}],icon:[{t:2,x:{r:["data.anchored"],s:'_0?"lock":"unlock"'},p:[37,11,1810]}],style:[{t:2,x:{r:["data.anchored"],s:'_0?null:"caution"'},p:[38,12,1860]}],action:"anchor"},f:[{t:2,x:{r:["data.anchored"],s:'_0?"Engaged":"Off"'},p:[39,21,1918]}]}]}," ",{p:[41,1,1982],t:7,e:"ui-display",a:{title:"Safety"},f:[{p:[42,3,2012],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[43,12,2034]}],icon:[{t:2,x:{r:["data.safety"],s:'_0?"lock":"unlock"'},p:[44,11,2109]}],action:"safety",style:[{t:2,x:{r:["data.safety"],s:'_0?"caution":"danger"'},p:[45,12,2173]}]},f:[{p:[46,7,2220],t:7,e:"span",f:[{t:2,x:{r:["data.safety"],s:'_0?"On":"Off"'},p:[46,13,2226]}]}]}]}," ",{p:[49,1,2293],t:7,e:"ui-display",a:{title:"Code"},f:[{p:[50,3,2321],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.message",p:[50,31,2349]}]}," ",{p:[51,3,2381],t:7,e:"ui-section",a:{label:"Keypad"},f:[{p:[52,5,2413],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[52,39,2447]}],params:'{"digit":"1"}'},f:["1"]}," ",{p:[53,5,2531],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[53,39,2565]}],params:'{"digit":"2"}'},f:["2"]}," ",{p:[54,5,2649],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[54,39,2683]}],params:'{"digit":"3"}'},f:["3"]}," ",{p:[55,5,2767],t:7,e:"br"}," ",{p:[56,5,2776],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[56,39,2810]}],params:'{"digit":"4"}'},f:["4"]}," ",{p:[57,5,2894],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[57,39,2928]}],params:'{"digit":"5"}'},f:["5"]}," ",{p:[58,5,3012],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[58,39,3046]}],params:'{"digit":"6"}'},f:["6"]}," ",{p:[59,5,3130],t:7,e:"br"}," ",{p:[60,5,3139],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[60,39,3173]}],params:'{"digit":"7"}'},f:["7"]}," ",{p:[61,5,3257],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[61,39,3291]}],params:'{"digit":"8"}'},f:["8"]}," ",{p:[62,5,3375],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[62,39,3409]}],params:'{"digit":"9"}'},f:["9"]}," ",{p:[63,5,3493],t:7,e:"br"}," ",{p:[64,5,3502],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[64,39,3536]}],params:'{"digit":"R"}'},f:["R"]}," ",{p:[65,5,3620],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[65,39,3654]}],params:'{"digit":"0"}'},f:["0"]}," ",{p:[66,5,3738],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[66,39,3772]}],params:'{"digit":"E"}'},f:["E"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],432:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,24],t:7,e:"ui-button",a:{icon:"undo",action:"change_menu",params:'{"menu": "1"}'},f:["Return"]}," ",{p:[3,2,111],t:7,e:"ui-display",a:{title:"Advanced Surgery Procedures"},f:[{p:[4,3,162],t:7,e:"ui-button",a:{icon:"download",action:"sync"},f:["Sync with research database"]}," ",{t:4,f:[{p:[6,4,273],t:7,e:"ui-display",f:[{p:[7,6,291],t:7,e:"ui-section",f:[{p:[7,18,303],t:7,e:"b",f:[{t:2,r:"name",p:[7,21,306]}]}]}," ",{p:[8,6,337],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[8,18,349]}]}]}],n:52,r:"data.surgeries",p:[5,3,245]}]}],n:50,x:{r:["data.menu"],s:"_0==2"},p:[1,1,0]},{t:4,n:51,f:[{p:[13,2,425],t:7,e:"ui-button",a:{action:"change_menu",params:'{"menu": "2"}'},f:["View Surgery Procedures"]}," ",{t:4,f:[{p:[15,3,542],t:7,e:"ui-notice",f:["No table detected!"]}],n:51,r:"data.table",p:[14,2,517]}," ",{p:[19,2,605],t:7,e:"ui-display",f:[{p:[20,3,620],t:7,e:"ui-display",a:{title:"Patient State"},f:[{t:4,f:[{p:[22,5,683],t:7,e:"ui-section",a:{label:"State"},f:[{p:[23,6,715],t:7,e:"span",a:{"class":[{t:2,r:"data.patient.statstate",p:[23,19,728]}]},f:[{t:2,r:"data.patient.stat",p:[23,47,756]}]}]}," ",{p:[25,5,807],t:7,e:"ui-section",a:{label:"Blood Type"},f:[{p:[26,6,844],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.patient.blood_type",p:[26,28,866]}]}]}," ",{p:[28,5,923],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[29,6,956],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.patient.minHealth",p:[29,19,969]}],max:[{t:2,r:"data.patient.maxHealth",p:[29,52,1002]}],value:[{t:2,r:"data.patient.health",p:[29,87,1037]}],state:[{t:2,x:{r:["data.patient.health"],s:'_0>=0?"good":"average"'},p:[30,13,1074]}]},f:[{t:2,x:{r:["adata.patient.health"],s:"Math.round(_0)"},p:[30,64,1125]}]}]}," ",{t:4,f:[{p:[33,6,1357],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[33,25,1376]}]},f:[{p:[34,7,1394],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.patient.maxHealth",p:[34,28,1415]}],value:[{t:2,rx:{r:"data.patient",m:[{t:30,n:"type"}]},p:[34,63,1450]}],state:"bad"},f:[{t:2,x:{r:["type","adata.patient"],s:"Math.round(_1[_0])"},p:[34,99,1486]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}]'},p:[32,5,1193]}],n:50,r:"data.patient",p:[21,4,658]},{t:4,n:51,f:["No patient detected."],r:"data.patient"}]}," ",{p:[41,3,1630],t:7,e:"ui-display",a:{title:"Initiated Procedures"},f:[{t:4,f:[{t:4,f:[{p:[44,6,1734],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[44,28,1756]}]},f:[{p:[45,7,1773],t:7,e:"ui-section",a:{label:"Next Step"},f:[{p:[46,8,1811],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"next_step",p:[46,30,1833]}]}," ",{t:4,f:[{p:[48,9,1890],t:7,e:"span",a:{"class":"content"},f:[{p:[48,31,1912],t:7,e:"b",f:["Required chemicals:"]},{p:[48,57,1938],t:7,e:"br"}," ",{t:2,r:"chems_needed",p:[48,62,1943]}]}],n:50,r:"chems_needed",p:[47,8,1861]}]}," ",{t:4,f:[{p:[52,8,2040],t:7,e:"ui-section",a:{label:"Alternative Step"},f:[{p:[53,9,2086],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"alternative_step",p:[53,31,2108]}]}," ",{t:4,f:[{p:[55,10,2178],t:7,e:"span",a:{"class":"content"},f:[{p:[55,32,2200],t:7,e:"b",f:["Required chemicals:"]},{p:[55,58,2226],t:7,e:"br"}," ",{t:2,r:"chems_needed",p:[55,63,2231]}]}],n:50,r:"alt_chems_needed",p:[54,9,2144]}]}],n:50,r:"alternative_step",p:[51,7,2008]}]}],n:52,r:"data.procedures",p:[43,5,1703]}],n:50,r:"data.procedures",p:[42,4,1675]},{t:4,n:51,f:["No active procedures."],r:"data.procedures"}]}]}],x:{r:["data.menu"],s:"_0==2"}}]},e.exports=a.extend(r.exports)},{341:341}],433:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,15],t:7,e:"ui-section",f:["This machine only accepts ore. Gibtonite and Slag are not accepted."]}," ",{p:[5,2,117],t:7,e:"ui-section",f:["Current unclaimed credits: ",{t:2,r:"data.unclaimedPoints",p:[6,30,160]}," ",{p:[7,4,189],t:7,e:"ui-button",a:{action:"Claim"},f:["Claim"]}]}]}," ",{p:[12,1,276],t:7,e:"ui-display",f:[{t:4,f:[{p:[14,3,315],t:7,e:"ui-section",f:[{p:[15,4,332],t:7,e:"ui-button",a:{action:"diskEject",icon:"eject"},f:["Eject Disk"]}]}," ",{t:4,f:[{p:[20,4,460],t:7,e:"ui-section",a:{"class":"candystripe"},f:[{p:[21,5,496],t:7,e:"ui-button",a:{action:"diskUpload",state:[{t:2,x:{r:["canupload"],s:'(_0)?null:"disabled"'},p:[21,42,533]}],icon:"upload",align:"right",params:['{ "design" : "',{t:2,r:"index",p:[21,129,620]},'" }']},f:["Upload"]}," File ",{t:2,r:"index",p:[24,10,676]},": ",{t:2,r:"name",p:[24,21,687]}]}],n:52,r:"data.diskDesigns",p:[19,3,429]}],n:50,r:"data.hasDisk",p:[13,2,291]},{t:4,n:51,f:[{p:[28,3,741],t:7,e:"ui-section",f:[{p:[29,4,758],t:7,e:"ui-button",a:{action:"diskInsert",icon:"floppy-o"},f:["Insert Disk"]}]}],r:"data.hasDisk"}]}," ",{t:4,f:[{p:[36,2,911],t:7,e:"ui-display",f:[{p:[37,3,927],t:7,e:"ui-section",f:[{p:[38,4,944],t:7,e:"b",f:["Warning"]},": ",{t:2,r:"data.disconnected",p:[38,20,960]},". Please contact the quartermaster."]}]}],n:50,r:"data.disconnected",p:[35,1,883]},{t:4,f:[{p:[43,2,1100],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[44,3,1133],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[45,5,1168],t:7,e:"section",a:{"class":"cell"},f:["Mineral"]}," ",{p:[48,5,1226],t:7,e:"section",a:{"class":"cell"
+},f:["Sheets"]}," ",{p:[51,5,1283],t:7,e:"section",a:{"class":"cell"},f:[]}," ",{p:[53,5,1327],t:7,e:"section",a:{"class":"cell"},f:[]}," ",{p:[55,5,1371],t:7,e:"section",a:{"class":"cell"},f:["Ore Value"]}]}," ",{t:4,f:[{p:[60,4,1473],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[61,5,1508],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[62,6,1537]}]}," ",{p:[64,5,1567],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[65,6,1610]}]}," ",{p:[67,5,1642],t:7,e:"section",a:{"class":"cell"},f:[{p:[68,6,1671],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[68,19,1684]}],placeholder:"###","class":"number"}}]}," ",{p:[70,5,1751],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[71,6,1794],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[71,60,1848]}],params:['{ "id" : ',{t:2,r:"id",p:[71,115,1903]},', "sheets" : ',{t:2,r:"sheets",p:[71,134,1922]}," }"]},f:["Release"]}]}," ",{p:[75,5,1993],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"value",p:[76,6,2036]}]}]}],n:52,r:"data.materials",p:[59,3,1444]}," ",{t:4,f:[{p:[81,4,2119],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[82,5,2154],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[83,6,2183]}]}," ",{p:[85,5,2213],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[86,6,2256]}]}," ",{p:[88,5,2288],t:7,e:"section",a:{"class":"cell"},f:[{p:[89,6,2317],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[89,19,2330]}],placeholder:"###","class":"number"}}]}," ",{p:[91,5,2397],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[92,6,2440],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Smelt",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[92,58,2492]}],params:['{ "id" : ',{t:2,r:"id",p:[92,114,2548]},', "sheets" : ',{t:2,r:"sheets",p:[92,133,2567]}," }"]},f:["Smelt"]}]}," ",{p:[96,5,2635],t:7,e:"section",a:{"class":"cell",align:"right"},f:[]}]}],n:52,r:"data.alloys",p:[80,3,2093]}]}],n:50,x:{r:["data.materials","data.alloys"],s:"_0||_1"},p:[42,1,1060]}]},e.exports=a.extend(r.exports)},{341:341}],434:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:{button:[{p:[4,4,84],t:7,e:"ui-button",a:{icon:"remove",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[4,36,116]}],action:"empty_eject_beaker"},f:["Empty and eject"]}," ",{p:[7,4,225],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[7,35,256]}],action:"empty_beaker"},f:["Empty"]}," ",{p:[10,4,349],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[10,35,380]}],action:"eject_beaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{t:4,f:[{p:[15,4,514],t:7,e:"ui-section",f:[{t:4,f:[{p:[17,6,562],t:7,e:"span",a:{"class":"bad"},f:["The beaker is empty!"]}],n:50,r:"data.beaker_empty",p:[16,5,531]},{t:4,n:51,f:[{p:[19,6,626],t:7,e:"ui-subdisplay",a:{title:"Blood"},f:[{t:4,f:[{p:[21,8,692],t:7,e:"ui-section",a:{label:"Blood DNA"},f:[{t:2,r:"data.blood.dna",p:[21,38,722]}]}," ",{p:[22,8,761],t:7,e:"ui-section",a:{label:"Blood type"},f:[{t:2,r:"data.blood.type",p:[22,39,792]}]}],n:50,r:"data.has_blood",p:[20,7,662]},{t:4,n:51,f:[{p:[24,8,847],t:7,e:"ui-section",f:[{p:[25,9,868],t:7,e:"span",a:{"class":"average"},f:["No blood sample detected."]}]}],r:"data.has_blood"}]}],r:"data.beaker_empty"}]}],n:50,r:"data.has_beaker",p:[14,3,487]},{t:4,n:51,f:[{p:[32,4,1023],t:7,e:"ui-section",f:[{p:[33,5,1040],t:7,e:"span",a:{"class":"bad"},f:["No beaker loaded."]}]}],r:"data.has_beaker"}]}," ",{t:4,f:[{p:[38,3,1151],t:7,e:"ui-display",a:{title:"Diseases"},f:[{t:4,f:[{p:{button:[{t:4,f:[{p:[43,8,1301],t:7,e:"ui-button",a:{icon:"pencil",action:"rename_disease",state:[{t:2,x:{r:["can_rename"],s:'_0?"":"disabled"'},p:[43,64,1357]}],params:['{"index": ',{t:2,r:"index",p:[43,116,1409]},"}"]},f:["Name advanced disease"]}],n:50,r:"is_adv",p:[42,7,1279]}," ",{p:[47,7,1492],t:7,e:"ui-button",a:{icon:"flask",action:"create_culture_bottle",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[47,69,1554]}],params:['{"index": ',{t:2,r:"index",p:[47,124,1609]},"}"]},f:["Create virus culture bottle"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[40,24,1230]}],button:0},f:[" ",{p:[51,6,1699],t:7,e:"ui-section",a:{label:"Disease agent"},f:[{t:2,r:"agent",p:[51,40,1733]}]}," ",{p:[52,6,1761],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[52,38,1793]}]}," ",{p:[53,6,1827],t:7,e:"ui-section",a:{label:"Spread"},f:[{t:2,r:"spread",p:[53,33,1854]}]}," ",{p:[54,6,1883],t:7,e:"ui-section",a:{label:"Possible cure"},f:[{t:2,r:"cure",p:[54,40,1917]}]}," ",{t:4,f:[{p:[56,7,1966],t:7,e:"ui-section",a:{label:"Symptoms"},f:[{t:4,f:[{p:[58,9,2030],t:7,e:"ui-button",a:{action:"symptom_details",state:"",params:['{"picked_symptom": ',{t:2,r:"sym_index",p:[58,81,2102]},', "index": ',{t:2,r:"index",p:[58,105,2126]},"}"]},f:[{t:2,r:"name",p:[59,10,2148]}," "]},{p:[60,21,2177],t:7,e:"br"}],n:52,r:"symptoms",p:[57,8,2003]}]}," ",{p:[63,7,2227],t:7,e:"ui-section",a:{label:"Resistance"},f:[{t:2,r:"resistance",p:[63,38,2258]}]}," ",{p:[64,7,2292],t:7,e:"ui-section",a:{label:"Stealth"},f:[{t:2,r:"stealth",p:[64,35,2320]}]}," ",{p:[65,7,2351],t:7,e:"ui-section",a:{label:"Stage speed"},f:[{t:2,r:"stage_speed",p:[65,39,2383]}]}," ",{p:[66,7,2418],t:7,e:"ui-section",a:{label:"Transmittability"},f:[{t:2,r:"transmission",p:[66,44,2455]}]}],n:50,r:"is_adv",p:[55,6,1945]}]}],n:52,r:"data.viruses",p:[39,4,1184]},{t:4,n:51,f:[{p:[70,5,2532],t:7,e:"ui-section",f:[{p:[71,6,2550],t:7,e:"span",a:{"class":"average"},f:["No detectable virus in the blood sample."]}]}],r:"data.viruses"}]}," ",{p:[75,3,2669],t:7,e:"ui-display",a:{title:"Antibodies"},f:[{t:4,f:[{p:[77,5,2735],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[77,24,2754]}]},f:[{p:[78,7,2771],t:7,e:"ui-button",a:{icon:"eyedropper",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[78,43,2807]}],action:"create_vaccine_bottle",params:['{"index": ',{t:2,r:"id",p:[78,129,2893]},"}"]},f:["Create vaccine bottle"]}]}],n:52,r:"data.resistances",p:[76,4,2704]},{t:4,n:51,f:[{p:[83,5,2985],t:7,e:"ui-section",f:[{p:[84,6,3003],t:7,e:"span",a:{"class":"average"},f:["No antibodies detected in the blood sample."]}]}],r:"data.resistances"}]}],n:50,r:"data.has_blood",p:[37,2,1126]}],n:50,x:{r:["data.mode"],s:"_0==1"},p:[1,1,0]},{t:4,n:51,f:[{p:[90,2,3142],t:7,e:"ui-button",a:{icon:"undo",state:"",action:"back"},f:["Back"]}," ",{t:4,f:[{p:[94,4,3237],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[94,23,3256]}]},f:[{p:[95,4,3270],t:7,e:"ui-section",f:[{t:2,r:"desc",p:[96,5,3287]}," ",{t:4,f:[{p:[98,5,3320],t:7,e:"br"}," ",{p:[99,5,3330],t:7,e:"b",f:["This symptom has been neutered, and has no effect. It will still affect the virus' statistics."]}],n:50,r:"neutered",p:[97,4,3299]}]}," ",{p:[102,4,3463],t:7,e:"ui-section",f:[{p:[103,5,3480],t:7,e:"ui-section",a:{label:"Level"},f:[{t:2,r:"level",p:[103,31,3506]}]}," ",{p:[104,5,3533],t:7,e:"ui-section",a:{label:"Resistance"},f:[{t:2,r:"resistance",p:[104,36,3564]}]}," ",{p:[105,5,3596],t:7,e:"ui-section",a:{label:"Stealth"},f:[{t:2,r:"stealth",p:[105,33,3624]}]}," ",{p:[106,5,3653],t:7,e:"ui-section",a:{label:"Stage speed"},f:[{t:2,r:"stage_speed",p:[106,37,3685]}]}," ",{p:[107,5,3718],t:7,e:"ui-section",a:{label:"Transmittability"},f:[{t:2,r:"transmission",p:[107,42,3755]}]}]}," ",{p:[109,4,3805],t:7,e:"ui-subdisplay",a:{title:"Effect Thresholds"},f:[{p:[110,5,3851],t:7,e:"ui-section",f:[{t:3,r:"threshold_desc",p:[110,17,3863]}]}]}]}],n:53,r:"data.symptom",p:[93,2,3211]}],x:{r:["data.mode"],s:"_0==1"}}]},e.exports=a.extend(r.exports)},{341:341}],435:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(483);e.exports={data:{filter:"",tooltiptext:function(t,e,n){var a="";return t&&(a+="REQUIREMENTS: "+t+" "),e&&(a+="CATALYSTS: "+e+" "),n&&(a+="TOOLS: "+n),a}},oninit:function(){var t=this;this.on({hover:function(t){this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}}),this.observe("filter",function(e,a,r){var i=null;i=t.get("data.display_compact")?t.findAll(".section"):t.findAll(".display:not(:first-child)"),(0,n.filterMulti)(i,t.get("filter").toLowerCase())},{init:!1})}}}(r),r.exports.template={v:3,t:[" ",{p:[48,1,1295],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[48,20,1314]},{t:4,f:[" : ",{t:2,r:"data.subcategory",p:[48,64,1358]}],n:50,r:"data.subcategory",p:[48,37,1331]}]},f:[{t:4,f:[{p:[50,3,1410],t:7,e:"ui-section",f:["Crafting... ",{p:[51,16,1438],t:7,e:"i",a:{"class":"fa-spin fa fa-spinner"}}]}],n:50,r:"data.busy",p:[49,2,1390]},{t:4,n:51,f:[{p:[54,3,1504],t:7,e:"ui-section",f:[{p:[55,4,1520],t:7,e:"table",a:{style:"width:100%"},f:[{p:[56,5,1551],t:7,e:"tr",f:[{p:[57,6,1561],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[58,7,1602],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardCat"},f:[{t:2,r:"data.prev_cat",p:[59,8,1660]}]}]}," ",{p:[62,6,1713],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[63,7,1754],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardCat"},f:[{t:2,r:"data.next_cat",p:[64,7,1811]}]}]}," ",{p:[67,6,1864],t:7,e:"td",a:{style:"float:right!important"},f:[{t:4,f:[{p:[69,7,1946],t:7,e:"ui-button",a:{icon:"lock",action:"toggle_recipes"},f:["Showing Craftable Recipes"]}],n:50,r:"data.display_craftable_only",p:[68,6,1904]},{t:4,n:51,f:[{p:[73,7,2066],t:7,e:"ui-button",a:{icon:"unlock",action:"toggle_recipes"},f:["Showing All Recipes"]}],r:"data.display_craftable_only"}]}," ",{p:[78,6,2191],t:7,e:"td",a:{style:"float:right!important"},f:[{p:[79,7,2232],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.display_compact"],s:'_0?"check-square-o":"square-o"'},p:[79,24,2249]}],action:"toggle_compact"},f:["Compact"]}]}]}," ",{p:[84,5,2391],t:7,e:"tr",f:[{t:4,f:[{p:[86,6,2430],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[87,7,2471],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardSubCat"},f:[{t:2,r:"data.prev_subcat",p:[88,8,2532]}]}]}," ",{p:[91,6,2588],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[92,7,2629],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardSubCat"},f:[{t:2,r:"data.next_subcat",p:[93,8,2690]}]}]}],n:50,r:"data.subcategory",p:[85,5,2400]}]}]}," ",{t:4,f:[{t:4,f:[" ",{p:[101,6,2892],t:7,e:"ui-input",a:{value:[{t:2,r:"filter",p:[101,23,2909]}],placeholder:"Filter.."}}],n:51,r:"data.display_compact",p:[100,5,2803]}],n:50,r:"config.fancy",p:[99,4,2778]}]}," ",{t:4,f:[{p:[106,5,3039],t:7,e:"ui-display",f:[{t:4,f:[{p:[108,6,3086],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[108,25,3105]}]},f:[{p:[109,7,3122],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[109,27,3142]}],"tooltip-side":"right",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[109,135,3250]},'"}'],icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.can_craft",p:[107,5,3056]}," ",{t:4,f:[{t:4,f:[{p:[116,7,3452],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[116,26,3471]}]},f:[{p:[117,8,3489],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[117,28,3509]}],"tooltip-side":"right",state:"disabled",icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.cant_craft",p:[115,6,3420]}],n:51,r:"data.display_craftable_only",p:[114,5,3382]}]}],n:50,r:"data.display_compact",p:[105,4,3006]},{t:4,n:51,f:[{t:4,f:[{p:[126,6,3822],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[126,25,3841]}]},f:[{t:4,f:[{p:[128,8,3882],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[129,9,3924]}]}],n:50,r:"req_text",p:[127,7,3858]}," ",{t:4,f:[{p:[133,8,4007],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[134,9,4046]}]}],n:50,r:"catalyst_text",p:[132,7,3978]}," ",{t:4,f:[{p:[138,8,4130],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[139,9,4165]}]}],n:50,r:"tool_text",p:[137,7,4105]}," ",{p:[142,7,4220],t:7,e:"ui-section",f:[{p:[143,8,4240],t:7,e:"ui-button",a:{icon:"gears",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[143,66,4298]},'"}']},f:["Craft"]}]}]}],n:52,r:"data.can_craft",p:[125,5,3792]}," ",{t:4,f:[{t:4,f:[{p:[151,7,4471],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[151,26,4490]}]},f:[{t:4,f:[{p:[153,9,4533],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[154,10,4576]}]}],n:50,r:"req_text",p:[152,8,4508]}," ",{t:4,f:[{p:[158,9,4663],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[159,10,4703]}]}],n:50,r:"catalyst_text",p:[157,8,4633]}," ",{t:4,f:[{p:[163,9,4791],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[164,10,4827]}]}],n:50,r:"tool_text",p:[162,8,4765]}]}],n:52,r:"data.cant_craft",p:[150,6,4439]}],n:51,r:"data.display_craftable_only",p:[149,5,4401]}],r:"data.display_compact"}],r:"data.busy"}]}]},e.exports=a.extend(r.exports)},{341:341,483:483}],436:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,14],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,34]}," connected to a tank."]}]}," ",{p:[4,1,110],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,147],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,181],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,187]}," kPa"]}]}," ",{p:[8,3,247],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,277],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,290]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,331]}]}]}]}," ",{p:[12,1,419],t:7,e:"ui-display",a:{title:"Pump"},f:[{p:[13,3,447],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,478],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,495]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,545]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,601]}]}]}," ",{p:[18,3,658],t:7,e:"ui-section",a:{label:"Direction"},f:[{p:[19,5,693],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"sign-out":"sign-in"'},p:[19,22,710]}],action:"direction"},f:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"Out":"In"'},p:[20,26,789]}]}]}," ",{p:[22,3,862],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,5,903],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.min_pressure",p:[23,18,916]}],max:[{t:2,r:"data.max_pressure",p:[23,46,944]}],value:[{t:2,r:"data.target_pressure",p:[24,14,980]}]},f:[{t:2,x:{r:["adata.target_pressure"],s:"Math.round(_0)"},p:[24,40,1006]}," kPa"]}]}," ",{p:[26,3,1075],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,1119],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.target_pressure","data.default_pressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,1152]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1300],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.target_pressure","data.min_pressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1331]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1470],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1564],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.target_pressure","data.max_pressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1594]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}," ",{p:{button:[{t:4,f:[{p:[39,7,1853],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[39,38,1884]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[38,5,1826]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[43,3,2e3],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[44,4,2030]}]}," ",{p:[46,3,2070],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[47,4,2103]}," kPa"]}],n:50,r:"data.holding",p:[42,3,1977]},{t:4,n:51,f:[{p:[50,3,2174],t:7,e:"ui-section",f:[{p:[51,4,2190],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{341:341}],437:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[3,1,69],t:7,e:"ui-notice",f:[{p:[4,3,84],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[4,23,104]}," connected to a tank."]}]}," ",{p:[6,1,182],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[7,3,220],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[8,5,255],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[8,11,261]}," kPa"]}]}," ",{p:[10,3,323],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[11,5,354],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[11,18,367]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[11,59,408]}]}]}]}," ",{p:[14,1,499],t:7,e:"ui-display",a:{title:"Filter"},f:[{p:[15,3,530],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[16,5,562],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[16,22,579]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[17,14,630]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[18,22,687]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[24,7,856],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[24,38,887]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[23,5,828]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[28,3,1007],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[29,4,1038]}]}," ",{p:[31,3,1080],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[32,4,1114]}," kPa"]}],n:50,r:"data.holding",p:[27,3,983]},{t:4,n:51,f:[{p:[35,3,1188],t:7,e:"ui-section",f:[{p:[36,4,1205],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}," ",{p:[40,1,1293],t:7,e:"ui-display",a:{title:"Filters"},f:[{t:4,f:[{p:[42,5,1345],t:7,e:"filters"}],n:53,r:"data",p:[41,3,1325]}]}]},r.exports.components=r.exports.components||{};var i={filters:t(456)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,456:456}],438:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" ",{p:[42,1,1035],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[44,5,1093],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[44,27,1115]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[46,38,1267]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[47,15,1323]}],yinc:"9"}}],n:50,r:"config.fancy",p:[43,3,1067]},{t:4,n:51,f:[{p:[49,5,1373],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[50,7,1411],t:7,e:"span",f:[{t:2,r:"data.supply",p:[50,13,1417]}]}]}," ",{p:[52,5,1464],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[53,9,1499],t:7,e:"span",f:[{t:2,r:"data.demand",p:[53,15,1505]}]}]}],r:"config.fancy"}]}," ",{p:[57,1,1574],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[58,3,1604],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[59,5,1629],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[60,5,1666],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[61,5,1705],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[62,5,1742],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[63,5,1781],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[64,5,1823],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[65,5,1864],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[68,5,1949],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[68,24,1968]}],nowrap:0},f:[{p:[69,7,1993],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[69,28,2014]}," %"]}," ",{p:[70,7,2072],t:7,e:"div",a:{"class":"content"},f:[{t:2,rx:{r:"adata.areas",m:[{t:30,n:"@index"},"load"]},p:[70,28,2093]}]}," ",{p:[71,7,2135],t:7,e:"div",a:{"class":"content"},f:[{p:[71,28,2156],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[71,41,2169]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[71,70,2198]}]}]}," ",{p:[72,7,2245],t:7,e:"div",a:{"class":"content"},f:[{p:[72,28,2266],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[72,41,2279]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[72,64,2302]}," [",{p:[72,87,2325],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[72,93,2331]}]},"]"]}]}," ",{p:[73,7,2380],t:7,e:"div",a:{"class":"content"},f:[{p:[73,28,2401],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[73,41,2414]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[73,64,2437]}," [",{p:[73,87,2460],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[73,93,2466]}]},"]"]}]}," ",{p:[74,7,2515],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2536],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[74,41,2549]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[74,64,2572]}," [",{p:[74,87,2595],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[74,93,2601]}]},"]"]}]}]}],n:52,r:"data.areas",p:[67,3,1923]}]}]},e.exports=a.extend(r.exports)},{341:341}],439:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,167],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,224],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,257],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,274]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,325]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,398]}]}]}],n:50,r:"data.headset",p:[12,3,199]},{t:4,n:51,f:[{p:[19,5,476],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,514],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,531]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,585]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,664]}]}]}," ",{p:[24,5,746],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,781],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,798]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,849]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,922]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1034],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1073],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1090]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1142]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1217]}]}]}],n:50,r:"data.command",p:[30,3,1009]}]}," ",{p:[38,1,1305],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1336],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1399],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1405]}]}],n:50,r:"data.freqlock",p:[40,5,1371]},{t:4,n:51,f:[{p:[43,7,1453],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1492]}],action:"frequency",params:'{"adjust": -1}'}}," ",{p:[44,7,1603],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1637]}],action:"frequency",params:'{"adjust": -.2}'}}," ",{p:[45,7,1749],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"tune": "input"}'},f:[{t:2,r:"readableFrequency",p:[45,78,1820]}]}," ",{p:[46,7,1860],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1893]}],action:"frequency",params:'{"adjust": .2}'}}," ",{p:[47,7,2004],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2042]}],action:"frequency",params:'{"adjust": 1}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2212],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2261],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2278]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2328]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2395]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2176]}," ",{t:4,f:[{p:[57,5,2522],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2598],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2615]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2671]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2746]},'"}']},f:[{t:2,r:"channel",p:[62,11,2772]}]},{p:[62,34,2795],t:7,e:"br"}],n:52,i:"channel",r:"data.channels",p:[58,7,2558]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2479]}]}]},e.exports=a.extend(r.exports)},{341:341}],440:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," "," "," "," "," "," "," "," ",{p:[11,1,550],t:7,e:"rdheader"}," ",{t:4,f:[{p:[13,2,583],t:7,e:"ui-display",a:{title:"CONSOLE LOCKED"},f:[{p:[14,3,621],t:7,e:"ui-button",a:{action:"Unlock"},f:["Unlock"]}]}],n:50,r:"data.locked",p:[12,1,562]},{t:4,f:[{p:[18,2,712],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[18,17,727]}]},f:[{p:[19,3,745],t:7,e:"tab",a:{name:"Technology"},f:[{p:[20,4,772],t:7,e:"techweb"}]}," ",{p:[22,3,794],t:7,e:"tab",a:{name:"View Node"},f:[{p:[23,4,820],t:7,e:"nodeview"}]}," ",{p:[25,3,843],t:7,e:"tab",a:{name:"View Design"},f:[{p:[26,4,871],t:7,e:"designview"}]}," ",{p:[28,3,896],t:7,e:"tab",a:{name:"Disk Operations - Design"},f:[{p:[29,4,937],t:7,e:"diskopsdesign"}]}," ",{p:[31,3,965],t:7,e:"tab",a:{name:"Disk Operations - Technology"},f:[{p:[32,4,1010],t:7,e:"diskopstech"}]}," ",{p:[34,3,1036],t:7,e:"tab",a:{name:"Deconstructive Analyzer"},f:[{p:[35,4,1076],t:7,e:"destruct"}]}," ",{p:[37,3,1099],t:7,e:"tab",a:{name:"Protolathe"},f:[{p:[38,4,1126],t:7,e:"protolathe"}]}," ",{p:[40,3,1151],t:7,e:"tab",a:{name:"Circuit Imprinter"},f:[{p:[41,4,1185],t:7,e:"circuit"}]}," ",{p:[43,3,1207],t:7,e:"tab",a:{name:"Settings"},f:[{p:[44,4,1232],t:7,e:"settings"}]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[17,1,690]}]},r.exports.components=r.exports.components||{};var i={settings:t(449),circuit:t(441),protolathe:t(447),destruct:t(443),diskopsdesign:t(444),diskopstech:t(445),designview:t(442),nodeview:t(446),techweb:t(450),rdheader:t(448)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,441:441,442:442,443:443,444:444,445:445,446:446,447:447,448:448,449:449,450:450}],441:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[3,3,56],t:7,e:"ui-display",a:{title:"Circuit Imprinter Busy!"}}],n:50,r:"data.circuitbusy",p:[2,2,29]},{t:4,n:51,f:[{p:[5,3,126],t:7,e:"ui-display",f:[{p:[6,4,142],t:7,e:"ui-section",f:["Search Available Designs: ",{p:[7,4,183],t:7,e:"input",a:{value:[{t:2,r:"textsearch",p:[7,17,196]}],placeholder:"Type Here","class":"text"}}," ",{p:[8,5,254],t:7,e:"ui-button",a:{action:"textSearch",params:['{"latheType" : "circuit", "inputText" : ',{t:2,r:"textsearch",p:[8,84,333]},"}"]},f:["Search"]}]}," ",{p:[10,4,389],t:7,e:"ui-section",f:["Materials: ",{t:2,r:"data.circuitmats",p:[10,27,412]}," / ",{t:2,r:"data.circuitmaxmats",p:[10,50,435]}]}," ",{p:[11,4,475],t:7,e:"ui-section",f:["Reagents: ",{t:2,r:"data.circuitchems",p:[11,26,497]}," / ",{t:2,r:"data.circuitmaxchems",p:[11,50,521]}]}," ",{p:[12,3,561],t:7,e:"ui-display",f:[{p:[14,3,577],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.lathe_tabs",p:[14,18,592]}]},f:[{p:[15,4,617],t:7,e:"tab",a:{name:"Category List"},f:[{t:4,f:[{p:[17,6,680],t:7,e:"ui-button",a:{action:"switchcat",state:[{t:2,x:{r:["data.circuitcat"],s:'_0=="{{name}}"?"selected":null'},p:[17,43,717]}],params:['{"type" : "circuit", "cat" : "',{t:2,r:"name",p:[17,135,809]},'"}']},f:[{t:2,r:"name",p:[17,147,821]}]}],n:52,r:"data.circuitcats",p:[16,5,648]}]}," ",{p:[20,4,869],t:7,e:"tab",a:{name:"Selected Category"},f:[{t:4,f:[{p:[22,6,935],t:7,e:"ui-section",f:[{t:2,r:"name",p:[22,18,947]},{t:2,r:"matstring",p:[22,26,955]}," ",{p:[23,7,975],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[23,40,1008]}],params:['{"latheType" : "circuit", "id" : "',{t:2,r:"id",p:[23,119,1087]},'"}']},f:["Print"]}]}],n:52,r:"data.circuitdes",p:[21,5,904]}]}," ",{p:[27,4,1161],t:7,e:"tab",a:{name:"Search Results"},f:[{t:4,f:[{p:[29,6,1226],t:7,e:"ui-section",f:[{t:2,r:"name",p:[29,18,1238]},{t:2,r:"matstring",p:[29,26,1246]}," ",{p:[30,7,1266],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[30,40,1299]}],params:['{"latheType" : "circuit", "id" : "',{t:2,r:"id",p:[30,119,1378]},'"}']},f:["Print"]}]}],n:52,r:"data.circuitmatch",p:[28,5,1193]}]}," ",{p:[34,4,1452],t:7,e:"tab",a:{name:"Materials"},f:[{t:4,f:[{p:[36,6,1515],t:7,e:"ui-section",f:[{t:2,r:"name",p:[36,18,1527]}," : ",{t:2,r:"amount",p:[36,29,1538]}," cm3 - ",{t:4,f:[{p:[38,7,1586],t:7,e:"input",a:{value:[{t:2,r:"number",p:[38,20,1599]}],placeholder:["1-",{t:2,r:"sheets",p:[38,46,1625]}],"class":"number"}}," ",{p:[39,7,1660],t:7,e:"ui-button",a:{action:"releasemats",params:['{"latheType" : "circuit", "mat_id" : ',{t:2,r:"mat_id",p:[39,84,1737]},', "sheets" : ',{t:2,r:"number",p:[39,107,1760]},"}"]},f:["Release"]}],n:50,x:{r:["sheets"],s:"_0>0"},p:[37,6,1561]}]}],n:52,r:"data.circuitmat_list",p:[35,5,1479]}]}," ",{p:[44,4,1852],t:7,e:"tab",a:{name:"Chemicals"},f:[{t:4,f:[{p:[46,6,1916],t:7,e:"ui-section",f:[{t:2,r:"name",p:[46,18,1928]}," : ",{t:2,r:"amount",p:[46,29,1939]}," - ",{p:[47,7,1959],t:7,e:"ui-button",a:{action:"purgechem",params:['{"latheType" : "circuit", "name" : ',{t:2,r:"name",p:[47,80,2032]},', "id" : ',{t:2,r:"reagentid",p:[47,97,2049]},"}"]},f:["Purge"]}]}],n:52,r:"data.circuitchem_list",p:[45,5,1879]}]}]}]}]}],r:"data.circuitbusy"}],n:50,r:"data.circuit_linked",p:[1,1,0]},{t:4,n:51,f:[{p:[55,2,2162],t:7,e:"ui-display",a:{title:"No Linked Circuit Imprinter"}}],r:"data.circuit_linked"}]},e.exports=a.extend(r.exports)},{341:341}],442:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,30],t:7,e:"ui-display",a:{title:[{t:2,r:"data.sdesign_name",p:[2,21,49]}]},f:[{p:[3,3,75],t:7,e:"ui-section",a:{title:"Description"},f:[{t:2,r:"data.sdesign_desc",p:[3,35,107]}]}]}," ",{p:[5,2,158],t:7,e:"ui-display",a:{title:"Lathe Types"},f:[{t:4,f:[{p:[7,4,233],t:7,e:"ui-section",a:{title:"Circuit Imprinter"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&1"},p:[6,3,193]}," ",{t:4,f:[{p:[10,4,337],t:7,e:"ui-section",a:{title:"Protolathe"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&2"},p:[9,3,297]}," ",{t:4,f:[{p:[13,4,434],t:7,e:"ui-section",a:{title:"Autolathe"}}],
+n:50,x:{r:["data.sdesign_buildtype"],s:"_0&4"},p:[12,3,394]}," ",{t:4,f:[{p:[16,4,530],t:7,e:"ui-section",a:{title:"Crafting Fabricator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&8"},p:[15,3,490]}," ",{t:4,f:[{p:[19,4,637],t:7,e:"ui-section",a:{title:"Exosuit Fabricator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&16"},p:[18,3,596]}," ",{t:4,f:[{p:[22,4,743],t:7,e:"ui-section",a:{title:"Biogenerator"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&32"},p:[21,3,702]}," ",{t:4,f:[{p:[25,4,843],t:7,e:"ui-section",a:{title:"Limb Grower"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&64"},p:[24,3,802]}," ",{t:4,f:[{p:[28,4,943],t:7,e:"ui-section",a:{title:"Ore Smelter"}}],n:50,x:{r:["data.sdesign_buildtype"],s:"_0&128"},p:[27,3,901]}]}," ",{p:[31,2,1015],t:7,e:"ui-display",a:{title:"Materials"},f:[{t:4,f:[{p:[33,4,1084],t:7,e:"ui-section",a:{title:[{t:2,r:"matname",p:[33,23,1103]}]},f:[{t:2,r:"matamt",p:[33,36,1116]}," cm^3"]}],n:52,r:"data.sdesign_materials",p:[32,3,1048]}]}],n:50,r:"data.design_selected",p:[1,1,0]},{t:4,f:[{p:[38,2,1211],t:7,e:"ui-display",a:{title:"No Design Selected."}}],n:50,x:{r:["data.design_selected"],s:"!_0"},p:[37,1,1180]}]},e.exports=a.extend(r.exports)},{341:341}],443:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[4,3,57],t:7,e:"ui-display",a:{title:"Destructive Analyzer Busy!"}}],n:50,r:"data.destroybusy",p:[3,2,30]},{t:4,n:51,f:[{t:4,f:[{p:[7,4,162],t:7,e:"ui-display",a:{title:"Destructive Analyzer Unloaded"}}],n:50,x:{r:["data.destroy_loaded"],s:"!_0"},p:[6,3,130]},{t:4,n:51,f:[{p:[9,4,240],t:7,e:"ui-display",a:{title:"Loaded Item"},f:[{p:[10,4,276],t:7,e:"ui-section",a:{title:"Name"},f:[{t:2,r:"data.destroy_name",p:[10,29,301]}]}]}," ",{p:[12,4,356],t:7,e:"ui-display",a:{title:"Boost Nodes"},f:[{t:4,f:[{p:[14,6,425],t:7,e:"ui-section",a:{title:[{t:2,r:"name",p:[14,25,444]}," | ",{t:2,r:"value",p:[14,36,455]}]},f:[{p:[15,7,473],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["allow"],s:'_0?null:"disabled"'},p:[15,25,491]}],action:"deconstruct",params:['{"id":',{t:2,r:"id",p:[15,90,556]},"}"]},f:["Deconstruct and Boost"]}]}],n:52,r:"data.boost_paths",p:[13,5,393]}]}," ",{p:[19,4,652],t:7,e:"ui-button",a:{action:"eject_da"},f:["Eject Item"]}],x:{r:["data.destroy_loaded"],s:"!_0"}}],r:"data.destroybusy"}],n:50,r:"data.destroy_linked",p:[2,1,1]},{t:4,n:51,f:[{p:[23,2,733],t:7,e:"ui-display",a:{title:"No Linked Destructive Analyzer"}}],r:"data.destroy_linked"}]},e.exports=a.extend(r.exports)},{341:341}],444:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[3,2,22],t:7,e:"ui-display",a:{title:"No Design Disk Loaded"}}],n:50,x:{r:["data.ddisk"],s:"!_0"},p:[2,1,1]},{t:4,n:51,f:[{t:4,f:[{p:[6,3,116],t:7,e:"ui-display",a:{title:"Design Disk Updating"}}],n:50,r:"data.ddisk_update",p:[5,2,88]},{t:4,n:51,f:[{t:4,f:[{p:[9,4,213],t:7,e:"ui-display",a:{title:"Design Disk"},f:[{p:[10,5,250],t:7,e:"ui-section",a:{title:"Disk Space"},f:["Disk Capacity: ",{t:2,r:"data.ddisk_size",p:[10,51,296]}," blueprints."]}," ",{p:[11,5,345],t:7,e:"ui-section",a:{title:"Disk IO"},f:[{p:[11,33,373],t:7,e:"ui-button",a:{action:"ddisk_upall"},f:["Upload all designs"]}]}," ",{p:[12,5,453],t:7,e:"ui-section",a:{title:"Clear Disk"},f:[{p:[12,36,484],t:7,e:"ui-button",a:{action:"clear_designdisk",style:"danger"},f:["WIPE ALL DATA"]}]}," ",{p:[13,5,579],t:7,e:"ui-section",a:{title:"Eject Disk"},f:[{p:[13,36,610],t:7,e:"ui-button",a:{action:"eject_designdisk"},f:["Eject Disk"]}]}]}," ",{p:[15,4,703],t:7,e:"ui-display",a:{title:"Disk Contents"},f:[{t:4,f:[{p:[17,6,776],t:7,e:"ui-section",a:{title:"Number"},f:["#",{t:2,r:"pos",p:[17,34,804]},": ",{t:4,f:[{p:[19,8,848],t:7,e:"ui-button",a:{action:"upload_empty_ddisk_slot",params:['{"slot": "',{t:2,r:"pos",p:[19,70,910]},'"}']},f:["Upload to Empty Slot"]}],n:50,x:{r:["id"],s:'_0=="null"'},p:[18,7,820]},{t:4,n:51,f:[{p:[21,8,976],t:7,e:"ui-button",a:{action:"select_design",params:['{"id": "',{t:2,r:"id",p:[21,58,1026]},'"}'],state:[{t:2,x:{r:["data.sdesign_id","id"],s:'_0==_1?"selected":null'},p:[21,75,1043]}]},f:[{t:2,r:"name",p:[21,122,1090]}]}," ",{p:[22,8,1118],t:7,e:"ui-button",a:{action:"ddisk_erasepos",style:"danger",params:['{"id": "',{t:2,r:"id",p:[22,74,1184]},'"}'],state:[{t:2,x:{r:["id"],s:'_0=="null"?"disabled":null'},p:[22,91,1201]}]},f:["Delete Slot"]}],x:{r:["id"],s:'_0=="null"'}}]}],n:52,r:"data.ddisk_designs",p:[16,5,742]}]}],n:50,x:{r:["data.ddisk_upload"],s:"!_0"},p:[8,3,183]},{t:4,n:51,f:[{p:[28,4,1340],t:7,e:"ui-display",a:{title:"Upload Design to Disk"},f:[{p:[28,46,1382],t:7,e:"ui-section",f:["Available Designs:"]}]}," ",{t:4,f:[{p:[30,5,1484],t:7,e:"ui-section",f:[{p:[30,17,1496],t:7,e:"ui-button",a:{action:"ddisk_uploaddesign",params:['{"id": "',{t:2,r:"id",p:[30,72,1551]},'"}']},f:[{t:2,r:"name",p:[30,82,1561]}]}]}],n:52,r:"data.ddisk_possible_designs",p:[29,4,1442]}],x:{r:["data.ddisk_upload"],s:"!_0"}}],r:"data.ddisk_update"}],x:{r:["data.ddisk"],s:"!_0"}}]},e.exports=a.extend(r.exports)},{341:341}],445:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[3,2,22],t:7,e:"ui-display",a:{title:"No Technology Disk Loaded"}}],n:50,x:{r:["data.tdisk"],s:"!_0"},p:[2,1,1]},{t:4,n:51,f:[{t:4,f:[{p:[6,3,120],t:7,e:"ui-display",a:{title:"Technology Disk Updating"}}],n:50,r:"data.tdisk_update",p:[5,2,92]},{t:4,n:51,f:[{p:[8,3,191],t:7,e:"ui-display",a:{title:"Technology Disk"},f:[{p:[9,4,231],t:7,e:"ui-section",a:{title:"Disk IO"},f:[{p:[9,32,259],t:7,e:"ui-button",a:{action:"tdisk_down"},f:["Download Research to Disk"]},{p:[9,100,327],t:7,e:"ui-button",a:{action:"tdisk_up"},f:["Upload Research from Disk"]}," ",{p:[10,4,397],t:7,e:"ui-section",a:{title:"Clear Disk"},f:[{p:[10,35,428],t:7,e:"ui-button",a:{action:"clear_techdisk",style:"danger"},f:["WIPE ALL DATA"]}]}," ",{p:[11,4,520],t:7,e:"ui-section",a:{title:"Eject Disk"},f:[{p:[11,35,551],t:7,e:"ui-button",a:{action:"eject_techdisk"},f:["Eject Disk"]}]}]}]}," ",{p:[13,3,640],t:7,e:"ui-display",a:{title:"Disk Contents"},f:[{t:4,f:[{p:[15,5,709],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[15,53,757]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[15,70,774]}]},f:[{t:2,r:"display_name",p:[15,115,819]}]}],n:52,r:"data.tdisk_nodes",p:[14,4,678]}]}],r:"data.tdisk_update"}],x:{r:["data.tdisk"],s:"!_0"}}]},e.exports=a.extend(r.exports)},{341:341}],446:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,28],t:7,e:"ui-display",a:{title:[{t:2,r:"data.snode_name",p:[2,21,47]}]},f:[{p:[3,3,71],t:7,e:"ui-section",a:{title:"Description"},f:["Description: ",{t:2,r:"data.snode_desc",p:[3,48,116]}]}," ",{p:[4,3,151],t:7,e:"ui-section",a:{title:"Point Cost"},f:["Point Cost: ",{t:2,r:"data.snode_cost",p:[4,46,194]}]}," ",{p:[5,3,229],t:7,e:"ui-section",a:{title:"Export Price"},f:["Export Price: ",{t:2,r:"data.snode_export",p:[5,50,276]}]}," ",{p:[6,3,313],t:7,e:"ui-button",a:{action:"research_node",params:['{"id"="',{t:2,r:"id",p:[6,52,362]},'"}'],state:[{t:2,x:{r:["data.snode_researched"],s:'_0?"disabled":null'},p:[6,69,379]}]},f:[{t:2,x:{r:["data.snode_researched"],s:'_0?"Researched":"Research Node"'},p:[6,115,425]}]}]}," ",{p:[8,2,511],t:7,e:"ui-display",a:{title:"Prerequisites"},f:[{t:4,f:[{p:[10,4,579],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[10,52,627]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[10,69,644]}]},f:[{t:2,r:"display_name",p:[10,114,689]}]}],n:52,r:"data.node_prereqs",p:[9,3,548]}]}," ",{p:[13,2,747],t:7,e:"ui-display",a:{title:"Unlocks"},f:[{t:4,f:[{p:[15,4,809],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[15,52,857]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[15,69,874]}]},f:[{t:2,r:"display_name",p:[15,114,919]}]}],n:52,r:"data.node_unlocks",p:[14,3,778]}]}," ",{p:[18,2,977],t:7,e:"ui-display",a:{title:"Designs"},f:[{t:4,f:[{p:[20,4,1039],t:7,e:"ui-button",a:{action:"select_design",params:['{"id": "',{t:2,r:"id",p:[20,54,1089]},'"}'],state:[{t:2,x:{r:["data.sdesign_id","id"],s:'_0==_1?"selected":null'},p:[20,71,1106]}]},f:[{t:2,r:"name",p:[20,118,1153]}]}],n:52,r:"data.node_designs",p:[19,3,1008]}]}],n:50,r:"data.node_selected",p:[1,1,0]},{t:4,f:[{p:[25,2,1239],t:7,e:"ui-display",a:{title:"No Node Selected."}}],n:50,x:{r:["data.node_selected"],s:"!_0"},p:[24,1,1210]}]},e.exports=a.extend(r.exports)},{341:341}],447:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:4,f:[{p:[3,3,57],t:7,e:"ui-display",a:{title:"Protolathe Busy!"}}],n:50,r:"data.protobusy",p:[2,2,32]},{t:4,n:51,f:[{p:[5,3,120],t:7,e:"ui-display",f:[{p:[6,4,136],t:7,e:"ui-section",f:["Search Available Designs: ",{p:[7,4,177],t:7,e:"input",a:{value:[{t:2,r:"textsearch",p:[7,17,190]}],placeholder:"Type Here","class":"text"}}," ",{p:[8,5,248],t:7,e:"ui-button",a:{action:"textSearch",params:['{"latheType" : "proto", "inputText" : ',{t:2,r:"textsearch",p:[8,82,325]},"}"]},f:["Search"]}]}," ",{p:[10,4,381],t:7,e:"ui-section",f:["Materials: ",{t:2,r:"data.protomats",p:[10,27,404]}," / ",{t:2,r:"data.protomaxmats",p:[10,48,425]}]}," ",{p:[11,4,463],t:7,e:"ui-section",f:["Reagents: ",{t:2,r:"data.protochems",p:[11,26,485]}," / ",{t:2,r:"data.protomaxchems",p:[11,48,507]}]}," ",{p:[12,3,545],t:7,e:"ui-display",f:[{p:[14,3,561],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.lathe_tabs",p:[14,18,576]}]},f:[{p:[15,4,601],t:7,e:"tab",a:{name:"Category List"},f:[{t:4,f:[{p:[17,6,662],t:7,e:"ui-button",a:{action:"switchcat",state:[{t:2,x:{r:["data.protocat","name"],s:'_0==_1?"selected":null'},p:[17,43,699]}],params:['{"type" : "proto", "cat" : "',{t:2,r:"name",p:[17,125,781]},'"}']},f:[{t:2,r:"name",p:[17,137,793]}]}],n:52,r:"data.protocats",p:[16,5,632]}]}," ",{p:[20,4,841],t:7,e:"tab",a:{name:"Selected Category"},f:[{t:4,f:[{p:[22,6,905],t:7,e:"ui-section",f:[{t:2,r:"name",p:[22,18,917]},{t:2,r:"matstring",p:[22,26,925]}," ",{t:4,f:[{p:[24,8,973],t:7,e:"input",a:{value:[{t:2,r:"number",p:[24,21,986]}],placeholder:["1-",{t:2,x:{r:["canprint"],s:"_0>10?10:_0"},p:[24,47,1012]}],"class":"number"}}],n:50,x:{r:["canprint"],s:"_0>1"},p:[23,7,945]}," ",{p:[26,7,1083],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[26,40,1116]}],params:['{"latheType" : "proto", "id" : "',{t:2,r:"id",p:[26,117,1193]},'", "amount" : "',{t:2,r:"number",p:[26,138,1214]},'"}']},f:["Print"]}]}],n:52,r:"data.protodes",p:[21,5,876]}]}," ",{p:[30,4,1292],t:7,e:"tab",a:{name:"Search Results"},f:[{t:4,f:[{p:[32,6,1355],t:7,e:"ui-section",f:[{t:2,r:"name",p:[32,18,1367]},{t:2,r:"matstring",p:[32,26,1375]}," ",{t:4,f:[{p:[34,8,1423],t:7,e:"input",a:{value:[{t:2,r:"number",p:[34,21,1436]}],placeholder:["1-",{t:2,x:{r:["canprint"],s:"_0>10?10:_0"},p:[34,47,1462]}],"class":"number"}}],n:50,x:{r:["canprint"],s:"_0>1"},p:[33,7,1395]}," ",{p:[36,7,1533],t:7,e:"ui-button",a:{action:"print",state:[{t:2,x:{r:["canprint"],s:'_0>1?null:"disabled"'},p:[36,40,1566]}],params:['{"latheType" : "proto", "id" : "',{t:2,r:"id",p:[36,117,1643]},'", "amount" : "',{t:2,r:"number",p:[36,138,1664]},'"}']},f:["Print"]}]}],n:52,r:"data.protomatch",p:[31,5,1324]}]}," ",{p:[40,4,1742],t:7,e:"tab",a:{name:"Materials"},f:[{t:4,f:[{p:[42,6,1803],t:7,e:"ui-section",f:[{t:2,r:"name",p:[42,18,1815]}," : ",{t:2,r:"amount",p:[42,29,1826]}," cm3 - ",{t:4,f:[{p:[44,7,1874],t:7,e:"input",a:{value:[{t:2,r:"number",p:[44,20,1887]}],placeholder:["1-",{t:2,r:"sheets",p:[44,46,1913]}],"class":"number"}}," ",{p:[45,7,1948],t:7,e:"ui-button",a:{action:"releasemats",params:['{"latheType" : "proto", "mat_id" : ',{t:2,r:"mat_id",p:[45,82,2023]},', "sheets" : ',{t:2,r:"number",p:[45,105,2046]},"}"]},f:["Release"]}],n:50,x:{r:["sheets"],s:"_0>0"},p:[43,6,1849]}]}],n:52,r:"data.protomat_list",p:[41,5,1769]}]}," ",{p:[50,4,2138],t:7,e:"tab",a:{name:"Chemicals"},f:[{t:4,f:[{p:[52,6,2200],t:7,e:"ui-section",f:[{t:2,r:"name",p:[52,18,2212]}," : ",{t:2,r:"amount",p:[52,29,2223]}," - ",{p:[53,7,2243],t:7,e:"ui-button",a:{action:"purgechem",params:['{"latheType" : "proto", "name" : ',{t:2,r:"name",p:[53,78,2314]},', "id" : ',{t:2,r:"reagentid",p:[53,95,2331]},"}"]},f:["Purge"]}]}],n:52,r:"data.protochem_list",p:[51,5,2165]}]}]}]}]}],r:"data.protobusy"}],n:50,r:"data.protolathe_linked",p:[1,1,0]},{t:4,n:51,f:[{p:[61,2,2444],t:7,e:"ui-display",a:{title:"No Linked Protolathe"}}],r:"data.protolathe_linked"}]},e.exports=a.extend(r.exports)},{341:341}],448:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,1,13],t:7,e:"span",a:{"class":"memoedit"},f:["Nanotrasen R&D Console"]},{p:[2,53,65],t:7,e:"br"}," Available Points: ",{p:[3,19,89],t:7,e:"ui-section",a:{title:"Research Points"},f:[{t:2,r:"data.research_points_stored",p:[3,55,125]}]}," ",{p:[4,1,170],t:7,e:"ui-section",a:{title:["Page Selection - ",{t:2,r:"page",p:[4,37,206]}]},f:[{p:[4,47,216],t:7,e:"input",a:{value:[{t:2,r:"pageselect",p:[4,60,229]}],placeholder:"1","class":"number"}}," Select Page: ",{p:[5,14,290],t:7,e:"ui-button",a:{action:"page",params:['{"num" : "',{t:2,r:"pageselect",p:[5,57,333]},'"}']},f:["[Go]"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],449:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"span",a:{"class":"bad"},f:["Settings"]},{p:[1,34,33],t:7,e:"br"},{p:[1,39,38],t:7,e:"br"}," ",{p:[2,1,44],t:7,e:"ui-button",a:{action:"Resync"},f:["RESYNC MACHINERY"]},{p:[2,56,99],t:7,e:"br"}," ",{p:[3,1,105],t:7,e:"ui-button",a:{action:"Lock"},f:["LOCK"]}," ",{p:[4,1,147],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "destroy"}',state:[{t:2,x:{r:["data.destroy_linked"],s:'_0?null:"disabled"'},p:[4,71,217]}]},f:["Disconnect Destructive Analyzer"]}," ",{p:[5,1,305],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "lathe"}',state:[{t:2,x:{r:["data.protolathe_linked"],s:'_0?null:"disabled"'},p:[5,69,373]}]},f:["Disconnect Protolathe"]}," ",{p:[6,1,454],t:7,e:"ui-button",a:{action:"disconnect",params:'{"type" : "imprinter"}',state:[{t:2,x:{r:["data.circuit_linked"],s:'_0?null:"disabled"'},p:[6,73,526]}]},f:["Disconnect Circuit Imprinter"]}]},e.exports=a.extend(r.exports)},{341:341}],450:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Available for Research"},f:[{t:4,f:[{p:[3,3,76],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[3,51,124]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[3,68,141]}]},f:[{t:2,r:"display_name",p:[3,113,186]}]}],n:52,r:"data.techweb_avail",p:[2,2,45]}]}," ",{p:[6,1,240],t:7,e:"ui-display",a:{title:"Locked Nodes"},f:[{t:4,f:[{p:[8,3,307],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[8,51,355]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[8,68,372]}]},f:[{t:2,r:"display_name",p:[8,113,417]}]}],n:52,r:"data.techweb_locked",p:[7,2,275]}]}," ",{p:[11,1,472],t:7,e:"ui-display",a:{title:"Researched Nodes"},f:[{t:4,f:[{p:[13,3,547],t:7,e:"ui-button",a:{action:"select_node",params:['{"id": "',{t:2,r:"id",p:[13,51,595]},'"}'],state:[{t:2,x:{r:["data.snode_id","id"],s:'_0==_1?"selected":null'},p:[13,68,612]}]},f:[{t:2,r:"display_name",p:[13,113,657]}]}],n:52,r:"data.techweb_researched",p:[12,2,511]}]}]},e.exports=a.extend(r.exports)},{341:341}],451:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,1,24],t:7,e:"ui-notice",f:[{p:[3,3,38],t:7,e:"span",f:["The grinder is currently processing and cannot be used."]}]}],n:50,r:"data.processing",p:[1,1,0]},{p:{button:[{p:[8,5,201],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.operating","data.contents"],s:'(_0==0)&&_1?null:"disabled"'},p:[8,36,232]}],action:"eject"},f:["Eject Contents"]}]},t:7,e:"ui-display",a:{title:"Processing Chamber",button:0},f:[" ",{p:[10,3,355],t:7,e:"ui-section",a:{label:"Grinding"},f:[{p:[11,5,389],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.operating"],s:'_0?"average":"good"'},p:[11,18,402]}]},f:[{t:2,x:{r:["data.operating"],s:'_0?"Busy":"Ready"'},p:[11,59,443]}]}," ",{p:[12,2,489],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.operating","data.contents"],s:'(_0==0)&&_1?null:"disabled"'},p:[12,35,522]}],action:"grind"},f:["Activate"]}]}," ",{p:[14,3,640],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[17,9,739],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:["The ",{t:2,r:"name",p:[17,56,786]}]},{p:[17,71,801],t:7,e:"br"}],n:52,r:"adata.contentslist",p:[16,7,702]},{t:4,n:51,f:[{p:[19,9,830],t:7,e:"span",f:["No Contents"]}],r:"adata.contentslist"}],n:50,r:"data.contents",p:[15,5,674]},{t:4,n:51,f:[{p:[22,7,890],t:7,e:"span",f:["No Contents"]}],r:"data.contents"}]}]}," ",{p:{button:[{p:[28,5,1020],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.operating","data.isBeakerLoaded"],s:'(_0==0)&&_1?null:"disabled"'},p:[28,36,1051]}],action:"detach"},f:["Detach"]}]},t:7,e:"ui-display",a:{title:"Container",button:0},f:[" ",{p:[30,3,1173],t:7,e:"ui-section",a:{label:"Reagents"},f:[{t:4,f:[{p:[32,7,1241],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[32,13,1247]},"/",{t:2,r:"data.beakerMaxVolume",p:[32,55,1289]}," Units"]}," ",{p:[33,7,1333],t:7,e:"br"}," ",{t:4,f:[{p:[35,9,1384],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[35,52,1427]}," units of ",{t:2,r:"name",p:[35,87,1462]}]},{p:[35,102,1477],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[34,7,1345]},{t:4,n:51,f:[{p:[37,9,1506],t:7,e:"span",a:{"class":"bad"},f:["Container Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[31,5,1207]},{t:4,n:51,f:[{p:[40,7,1582],t:7,e:"span",a:{"class":"average"},f:["No Container"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],452:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Direction"},f:[{t:4,f:[{p:[3,3,62],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,5,101],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[5,23,119]}],action:"setdir",params:['{"dir": ',{t:2,r:"dir",p:[6,22,190]},', "flipped": ',{t:2,r:"flipped",p:[6,42,210]},"}"]},f:[{p:[6,56,224],t:7,e:"span",a:{"class":["pipes32x32 ",{t:2,r:"dir",p:[6,80,248]},"-",{t:2,r:"icon_state",p:[6,88,256]}],title:[{t:2,r:"dir_name",p:[6,111,279]}]}}]}],n:52,r:"previews",p:[4,4,78]}]}],n:52,r:"data.preview_rows",p:[2,2,32]}]}," ",{t:4,f:[{p:[12,2,395],t:7,e:"ui-display",a:{title:"Color"},f:[{t:4,f:[{p:[14,4,455],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["@key","data.selected_color"],s:'_0==_1?"selected":null'},p:[14,22,473]}],action:"color",params:['{"paint_color": ',{t:2,r:"@key",p:[15,44,569]},"}"]},f:[{t:2,r:"@key",p:[15,55,580]}]}],n:52,r:"data.paint_colors",p:[13,3,424]}]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[11,1,367]},{p:[19,1,636],t:7,e:"ui-display",a:{title:"Utilities"},f:[{p:[20,2,668],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&1?"check-square-o":"square-o"'},p:[20,19,685]}],action:"mode",params:'{"mode": 1}'},f:["Build"]}," ",{p:[22,2,792],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&2?"check-square-o":"square-o"'},p:[22,19,809]}],action:"mode",params:'{"mode": 2}'},f:["Wrench"]}," ",{p:[24,2,917],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&4?"check-square-o":"square-o"'},p:[24,19,934]}],action:"mode",params:'{"mode": 4}'},f:["Destroy"]}," ",{t:4,f:[{p:[27,3,1072],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0&8?"check-square-o":"square-o"'},p:[27,20,1089]}],action:"mode",params:'{"mode": 8}'},f:["Paint"]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[26,2,1043]}]}," ",{p:[31,1,1219],t:7,e:"ui-display",a:{title:"Category"},f:[{p:[32,2,1250],t:7,e:"ui-section",f:[{p:[33,3,1265],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==0?"check-square-o":"square-o"'},p:[33,20,1282]}],state:[{t:2,x:{r:["data.category"],s:'_0<=0?"selected":null'},p:[33,83,1345]}],action:"category",params:'{"category": 0}'},f:["Atmospherics"]}," ",{p:[35,3,1462],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==1?"check-square-o":"square-o"'},p:[35,20,1479]}],state:[{t:2,x:{r:["data.category"],s:'_0==1?"selected":null'},p:[35,83,1542]}],action:"category",params:'{"category": 1}'},f:["Disposals"]}," ",{p:[37,3,1656],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.category"],s:'_0==2?"check-square-o":"square-o"'},p:[37,20,1673]}],state:[{t:2,x:{r:["data.category"],s:'_0==2?"selected":null'},p:[37,83,1736]}],action:"category",params:'{"category": 2}'},f:["Transit Tubes"]}]}," ",{t:4,f:[{p:[41,3,1897],t:7,e:"ui-section",a:{label:"Piping Layer"},f:[{p:[42,4,1934],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==1?"selected":null'},p:[42,22,1952]}],action:"piping_layer",params:'{"piping_layer": 1}'},f:["1"]}," ",{p:[44,4,2072],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==2?"selected":null'},p:[44,22,2090]}],action:"piping_layer",params:'{"piping_layer": 2}'},f:["2"]}," ",{p:[46,4,2210],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.piping_layer"],s:'_0==3?"selected":null'},p:[46,22,2228]}],action:"piping_layer",params:'{"piping_layer": 3}'},f:["3"]}]}],n:50,x:{r:["data.category"],s:"_0==0"},p:[40,2,1868]}]}," ",{t:4,f:[{p:[52,2,2411],t:7,e:"ui-display",a:{title:[{t:2,r:"cat_name",p:[52,21,2430]}]},f:[{t:4,f:[{p:[54,4,2468],t:7,e:"ui-section",f:[{p:[55,5,2485],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[55,23,2503]}],action:"pipe_type",params:['{"pipe_type": ',{t:2,r:"pipe_index",p:[56,28,2583]},', "category": ',{t:2,r:"cat_name",p:[56,56,2611]},"}"]},f:[{t:2,r:"pipe_name",p:[56,71,2626]}]}]}],n:52,r:"recipes",p:[53,3,2447]}]}],n:52,r:"data.categories",p:[51,1,2384]}]},e.exports=a.extend(r.exports)},{341:341}],453:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Color"},f:[{t:4,f:[{p:[3,3,58],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[3,21,76]}],action:"color",params:['{"paint_color": ',{t:2,r:"color_name",p:[4,28,152]},"}"]},f:[{t:2,r:"color_name",p:[4,45,169]}]}],n:52,r:"data.paint_colors",p:[2,2,28]}]}]},e.exports=a.extend(r.exports)},{341:341}],454:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Direction"},f:[{t:4,f:[{p:[3,3,62],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,5,101],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[5,23,119]}],action:"setdir",params:['{"dir": ',{t:2,r:"dir",p:[6,22,190]},', "flipped": ',{t:2,r:"flipped",p:[6,42,210]},"}"]},f:[{p:[6,56,224],t:7,e:"img",a:{src:["pipe.",{t:2,r:"dir",p:[6,71,239]},".",{t:2,r:"icon_state",p:[6,79,247]},".png"],title:[{t:2,r:"dir_name",p:[6,106,274]}]}}]}],n:52,r:"previews",p:[4,4,78]}]}],n:52,r:"data.preview_rows",p:[2,2,32]}]}]},e.exports=a.extend(r.exports)},{341:341}],455:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,22],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,38]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,77],t:7,e:"ui-display",a:{title:"Satellite Network Control",button:0},f:[{t:4,f:[{p:[8,4,161],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[9,9,201],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[9,31,223]}]}," ",{p:[10,9,244],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"mode",p:[10,30,265]}]}," ",{p:[11,9,288],t:7,e:"div",a:{"class":"content"},f:[{p:[12,11,320],t:7,e:"ui-button",a:{action:"toggle",params:['{"id": "',{t:2,r:"id",p:[12,54,363]},'"}']},f:[{t:2,x:{r:["active"],s:'_0?"Deactivate":"Activate"'},p:[12,64,373]}]}]}]}],n:52,r:"data.satellites",p:[7,2,132]}]}," ",{t:4,f:[{p:[18,1,511],t:7,e:"ui-display",a:{title:"Station Shield Coverage"},f:[{p:[19,3,558],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.meteor_shield_coverage_max",p:[19,24,579]}],value:[{t:2,r:"data.meteor_shield_coverage",p:[19,68,623]}]},f:[{t:2,x:{r:["data.meteor_shield_coverage","data.meteor_shield_coverage_max"],s:"100*_0/_1"},p:[19,101,656]}," %"]}," ",{p:[20,1,739],t:7,e:"ui-display",f:[]}]}],n:50,r:"data.meteor_shield",p:[17,1,484]}]},e.exports=a.extend(r.exports)},{341:341}],456:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,25],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["enabled"],s:'_0?"check-square-o":"square-o"'},p:[2,20,42]}],style:[{t:2,x:{r:["enabled"],s:'_0?"selected":null'},p:[2,72,94]}],action:"toggle_filter",params:['{"id_tag": "',{t:2,r:"id_tag",p:[3,48,174]},'", "val": ',{t:2,r:"gas_id",p:[3,68,194]},"}"]},f:[{t:2,r:"gas_name",p:[3,81,207]}]}],n:52,r:"filter_types",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],457:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[" "," "," ",{p:[5,1,196],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[5,16,211]}]},f:[{p:[6,2,228],t:7,e:"tab",a:{name:"Status"},f:[{p:[7,3,250],t:7,e:"status"}]}," ",{p:[9,2,269],t:7,e:"tab",a:{name:"Templates"},f:[{p:[10,3,294],t:7,e:"templates"}]}," ",{p:[12,2,316],t:7,e:"tab",a:{name:"Modification"},f:[{t:4,f:[{p:[14,3,368],t:7,e:"modification"}],n:50,r:"data.selected",p:[13,3,344]}," ",{t:4,f:[{p:[17,3,421],t:7,e:"span",a:{"class":"bad"},f:["No shuttle selected."]}],n:50,x:{r:["data.selected"],s:"!_0"},p:[16,3,396]}]}]}]},r.exports.components=r.exports.components||{};var i={modification:t(458),templates:t(460),status:t(459)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{341:341,458:458,459:459,460:460}],458:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:["Selected: ",{t:2,r:"data.selected.name",p:[1,30,29]}]},f:[{t:4,f:[{p:[3,5,94],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.selected.description",p:[3,37,126]}]}],n:50,r:"data.selected.description",p:[2,3,56]}," ",{t:4,f:[{p:[6,5,219],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"data.selected.admin_notes",p:[6,37,251]}]}],n:50,r:"data.selected.admin_notes",p:[5,3,181]}]}," ",{t:4,f:[{p:[11,3,351],t:7,e:"ui-display",a:{title:["Existing Shuttle: ",{t:2,r:"data.existing_shuttle.name",p:[11,40,388]}]},f:["Status: ",{t:2,r:"data.existing_shuttle.status",p:[12,13,433]}," ",{t:4,f:["(",{t:2,r:"data.existing_shuttle.timeleft",p:[14,8,513]},")"],n:50,r:"data.existing_shuttle.timer",p:[13,5,470]}," ",{p:[16,5,565],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"data.existing_shuttle.id",p:[17,41,633]},'"}']},f:["Jump To"]}]}],n:50,r:"data.existing_shuttle",p:[10,1,319]},{t:4,f:[{p:[24,3,755],t:7,e:"ui-display",a:{title:"Existing Shuttle: None"}}],n:50,x:{r:["data.existing_shuttle"],s:"!_0"},p:[23,1,722]},{p:[27,1,821],t:7,e:"ui-button",a:{action:"preview",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[28,27,875]},'"}']},f:["Preview"]}," ",{p:[31,1,931],t:7,e:"ui-button",a:{action:"load",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[32,27,982]},'"}'],style:"danger"},f:["Load"]}," ",{p:[37,1,1053],t:7,e:"ui-display",a:{title:"Status"},f:[]}]},e.exports=a.extend(r.exports)},{341:341}],459:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"table",a:{width:"100%"},f:[{t:4,f:[{p:[3,3,47],t:7,e:"tr",f:[{p:[4,5,56],t:7,e:"td",f:[{p:[5,7,67],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"id",p:[5,69,129]},'"}']},f:["JMP"]}]}," ",{p:[9,5,185],t:7,e:"td",f:[{p:[10,7,196],t:7,e:"ui-button",a:{action:"fly",params:['{"id": "',{t:2,r:"id",p:[10,47,236]},'"}'],state:[{t:2,x:{r:["can_fly"],s:'_0?null:"disabled"'},p:[10,64,253]}]},f:["Fly"]}]}," ",{p:[14,5,332],t:7,e:"td",f:[{t:2,r:"name",p:[15,7,343]}," (",{p:[15,17,353],t:7,e:"code",f:[{t:2,r:"id",p:[15,23,359]}]},")"]}," ",{p:[17,5,388],t:7,e:"td",f:[{t:2,r:"status",p:[18,7,399]}]}," ",{p:[20,5,424],t:7,e:"td",f:[{t:4,f:[{t:2,r:"mode",p:[22,9,456]}],n:50,r:"mode",p:[21,7,435]}," ",{t:4,f:["(",{t:2,r:"timeleft",p:[25,10,508]},") ",{p:[26,9,530],t:7,e:"ui-button",a:{action:"fast_travel",params:['{"id": "',{t:2,r:"id",p:[26,57,578]},'"}'],state:[{t:2,x:{r:["can_fast_travel"],s:'_0?null:"disabled"'},p:[26,74,595]}]},f:["Fast Travel"]}],n:50,r:"timer",p:[24,7,485]}]}]}],n:52,r:"data.shuttles",p:[2,1,21]}]}]},e.exports=a.extend(r.exports)},{341:341}],460:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.templates_tabs",p:[1,16,15]}]},f:[{t:4,f:[{p:[3,5,72],t:7,e:"tab",a:{name:[{t:2,r:"port_id",p:[3,16,83]}]},f:[{t:4,f:[{p:[5,9,131],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[5,28,150]}]},f:[{t:4,f:[{p:[7,13,203],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[7,45,235]}]}],n:50,r:"description",p:[6,11,171]}," ",{t:4,f:[{p:[10,13,324],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"admin_notes",p:[10,45,356]}]}],n:50,r:"admin_notes",p:[9,11,292]}," ",{p:[13,11,414],t:7,e:"ui-button",a:{action:"select_template",params:['{"shuttle_id": "',{t:2,r:"shuttle_id",p:[14,37,486]},'"}'],state:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"selected":null'},p:[15,20,523]}]},f:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"Selected":"Select"'},p:[17,13,614]}]}]}],n:52,r:"templates",p:[4,7,103]}]}],n:52,r:"data.templates",p:[2,3,43]}]}]},e.exports=a.extend(r.exports)},{341:341}],461:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[2,3,33],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[3,3,66],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[3,9,72]}]}]}," ",{t:4,f:[{p:[6,5,186],t:7,e:"ui-section",a:{label:"State"},f:[{p:[7,7,220],t:7,e:"span",a:{"class":[{t:2,r:"data.occupant.statstate",p:[7,20,233]}]},f:[{t:2,r:"data.occupant.stat",p:[7,49,262]}]}]}," ",{p:[9,5,315],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[10,7,350],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[10,20,363]}],max:[{t:2,r:"data.occupant.maxHealth",p:[10,54,397]}],value:[{t:2,r:"data.occupant.health",p:[10,90,433]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[11,16,475]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[11,68,527]}]}]}," ",{t:4,f:[{p:[14,7,764],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[14,26,783]}]},f:[{p:[15,9,804],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[15,30,825]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[15,66,861]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[15,103,898]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[13,5,598]}," ",{t:4,f:[{p:[19,7,1020],t:7,e:"ui-section",a:{label:"Blood"},f:[{p:[20,9,1056],t:7,e:"ui-section",a:{label:"Volume"},f:[{p:[21,11,1095],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.blood.maxBloodVolume",p:[21,32,1116]}],value:[{t:2,r:"data.occupant.blood.currentBloodVolume",p:[21,79,1163]}],state:[{t:2,x:{r:["data.occupant.blood.currentBloodVolume","data.occupant.blood.dangerBloodVolume"],s:'_0<=_1?"bad":"good"'},p:[21,130,1214]}]},f:[{t:3,x:{r:["data.occupant.blood.currentBloodVolume","data.occupant.blood.dangerBloodVolume"],s:'_0<=_1?"LOW ":"OK"'},p:[21,232,1316]}," - ",{t:2,x:{r:["data.occupant.blood.currentBloodVolume"],s:"Math.round(_0)"},p:[21,342,1426]}," cl"]}]}," ",{p:[23,9,1525],t:7,e:"ui-section",a:{label:"Type"},f:[{p:[24,11,1562],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:"data.occupant.blood.bloodType",p:[24,35,1586]}]}]}]}],n:50,r:"data.occupant.blood",p:[18,5,985]}," ",{p:[28,5,1689],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[29,9,1725],t:7,
+e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[29,22,1738]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[29,68,1784]}]}]}," ",{p:[31,5,1867],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[32,9,1903],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[32,22,1916]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[32,68,1962]}]}]}," ",{t:4,f:[{p:[35,3,2083],t:7,e:"ui-section",a:{label:"Failing Organs"},f:[{t:4,f:[{p:[37,5,2167],t:7,e:"span",a:{"class":"bad"},f:[{t:2,r:"name",p:[37,24,2186]}]}],n:52,r:"data.occupant.failing_organs",p:[36,4,2123]}]}],n:50,r:"data.occupant.failing_organs",p:[34,2,2043]}," ",{p:[41,5,2249],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[43,11,2336],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[43,54,2379]}," units of ",{t:2,r:"name",p:[43,89,2414]}]},{p:[43,104,2429],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[42,9,2291]},{t:4,n:51,f:[{p:[45,11,2464],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[5,3,159]}]}," ",{p:[50,1,2560],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[51,2,2592],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[52,5,2623],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[52,22,2640]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[52,71,2689]}]}]}," ",{p:[55,3,2756],t:7,e:"ui-section",a:{label:"Synthesize"},f:[{t:4,f:[{p:[57,7,2826],t:7,e:"ui-button",a:{grid:0,state:[{t:2,x:{r:["synth_allowed"],s:'_0?null:"disabled"'},p:[57,30,2849]}],action:"synth",params:['{"chem": "',{t:2,r:"id",p:[57,102,2921]},'"}']},f:[{t:2,r:"name",p:[57,112,2931]}]}],n:52,r:"data.synthchems",p:[56,5,2793]}]}," ",{p:[61,3,2989],t:7,e:"ui-section",a:{label:"Inject"},f:[{p:[62,2,3019],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[63,3,3052],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[64,4,3086],t:7,e:"section",a:{"class":"compressedcell"},f:["Name"]}," ",{p:[68,4,3150],t:7,e:"section",a:{"class":"compressedcell"},f:["Volume"]}," ",{t:4,f:[{p:[73,5,3250],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[74,6,3289],t:7,e:"span",f:["Purity"]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=4"},p:[72,4,3216]}," ",{t:4,f:[{p:[79,5,3377],t:7,e:"section",a:{"class":"compressedcell"},f:[]}],n:50,x:{r:["data.efficiency"],s:"_0>=3"},p:[78,4,3343]}," ",{t:4,f:[{p:[84,5,3478],t:7,e:"section",a:{"class":"compressedcell"},f:[]}],n:50,x:{r:["data.efficiency"],s:"_0>=2"},p:[83,4,3444]}," ",{p:[88,4,3545],t:7,e:"section",a:{"class":"compressedcell"},f:[]}," ",{p:[91,4,3599],t:7,e:"section",a:{"class":"compressedcell"},f:[]}]}," ",{t:4,f:[{p:[96,4,3691],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[97,5,3726],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[98,6,3765],t:7,e:"span",f:[{p:[98,12,3771],t:7,e:"b",f:[{t:2,r:"name",p:[98,15,3774]}]}]}]}," ",{p:[101,5,3817],t:7,e:"section",a:{"class":"compressedcell",align:"center"},f:[{p:[102,6,3871],t:7,e:"span",f:[{t:2,r:"vol",p:[102,12,3877]},"u"]}]}," ",{t:4,f:[{p:[106,6,3953],t:7,e:"section",a:{"class":"compressedcell",align:"center"},f:[{p:[107,7,4008],t:7,e:"span",f:[{t:2,r:"purity",p:[107,13,4014]}]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=4"},p:[105,7,3918]}," ",{t:4,f:[{p:[112,6,4106],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[113,7,4146],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[113,25,4164]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[113,109,4248]},'", "volume": 1}']},f:["1"]}]}],n:50,x:{r:["data.efficiency"],s:"_0>=3"},p:[111,5,4071]}," ",{t:4,f:[{p:[118,6,4358],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[119,7,4398],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[119,25,4416]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[119,109,4500]},'", "volume": 5}']},f:["5"]}]}],n:50,x:{r:["adata.efficiency"],s:"_0>=2"},p:[117,5,4322]}," ",{p:[123,5,4574],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[124,6,4613],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[124,24,4631]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[124,108,4715]},'", "volume": 10}']},f:["10"]}]}," ",{p:[127,5,4777],t:7,e:"section",a:{"class":"compressedcell"},f:[{p:[128,6,4816],t:7,e:"ui-button",a:{action:"purge",params:['{"chem": "',{t:2,r:"id",p:[128,50,4860]},'"}']},f:["Purge"]},{p:[128,77,4887],t:7,e:"br"}]}]}],n:52,r:"data.chems",p:[95,3,3666]}]}]}," ",{p:[135,3,4968],t:7,e:"ui-section",a:{label:"Capacity"},f:[{p:[136,5,5003],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.tot_capacity",p:[136,24,5022]}],value:[{t:2,r:"data.current_vol",p:[136,54,5052]}],state:[{t:2,r:"data.current_vol",p:[137,12,5086]}]},f:[{t:2,r:"data.current_vol",p:[137,34,5108]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],462:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,24],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,43]}],labelcolor:[{t:2,r:"htmlcolor",p:[2,44,65]}],candystripe:0,right:0},f:[{p:[3,5,103],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,32,130],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0=="Dead"?"bad bold":_0=="Unconscious"?"average bold":"good"'},p:[3,45,143]}]},f:[{t:2,r:"status",p:[3,132,230]}]}]}," ",{p:[4,5,265],t:7,e:"ui-section",a:{label:"Jelly"},f:[{t:2,r:"exoticblood",p:[4,31,291]}]}," ",{p:[5,5,324],t:7,e:"ui-section",a:{label:"Location"},f:[{t:2,r:"area",p:[5,34,353]}]}," ",{p:[7,5,380],t:7,e:"ui-button",a:{state:[{t:2,r:"swap_button_state",p:[8,14,404]}],action:"swap",params:['{"ref": "',{t:2,r:"ref",p:[9,38,464]},'"}']},f:[{t:4,f:["You Are Here"],n:50,x:{r:["occupied"],s:'_0=="owner"'},p:[10,7,482]},{t:4,n:51,f:[{t:4,f:["Occupied"],n:50,x:{r:["occupied"],s:'_0=="stranger"'},p:[13,9,554]},{t:4,n:51,f:["Swap"],x:{r:["occupied"],s:'_0=="stranger"'}}],x:{r:["occupied"],s:'_0=="owner"'}}]}]}],n:52,r:"data.bodies",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],463:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,23,79],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.drying"],s:'_0?"stop":"tint"'},p:[4,40,96]}],action:"Dry"},f:[{t:2,x:{r:["data.drying"],s:'_0?"Stop drying":"Dry"'},p:[4,88,144]}]}],n:50,r:"data.isdryer",p:[4,3,59]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[7,3,252],t:7,e:"ui-notice",f:[{p:[8,5,268],t:7,e:"span",f:["Unfortunately, this ",{t:2,r:"data.name",p:[8,31,294]}," is empty."]}]}],n:50,x:{r:["data.contents.length"],s:"_0==0"},p:[6,1,216]},{t:4,n:51,f:[{p:[11,1,349],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[12,2,380],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[13,4,413],t:7,e:"section",a:{"class":"cell bold"},f:["Item"]}," ",{p:[16,4,467],t:7,e:"section",a:{"class":"cell bold"},f:["Quantity"]}," ",{p:[19,4,525],t:7,e:"section",a:{"class":"cell bold",align:"center"},f:[{t:4,f:[{t:2,r:"data.verb",p:[20,22,589]}],n:50,r:"data.verb",p:[20,5,572]},{t:4,n:51,f:["Dispense"],r:"data.verb"}]}]}," ",{t:4,f:[{p:[24,3,680],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[25,4,713],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[26,5,740]}]}," ",{p:[28,4,766],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[29,5,807]}]}," ",{p:[31,4,835],t:7,e:"section",a:{"class":"table",alight:"right"},f:[{p:[32,5,878],t:7,e:"section",a:{"class":"cell"}}," ",{p:[33,5,915],t:7,e:"section",a:{"class":"cell"},f:[{p:[34,6,943],t:7,e:"ui-button",a:{grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[34,45,982]}],params:['{ "name" : ',{t:2,r:"name",p:[34,102,1039]},', "amount" : 1 }']},f:["One"]}]}," ",{p:[38,5,1114],t:7,e:"section",a:{"class":"cell"},f:[{p:[39,6,1142],t:7,e:"ui-button",a:{grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>1)?null:"disabled"'},p:[39,45,1181]}],params:['{ "name" : ',{t:2,r:"name",p:[39,101,1237]}," }"]},f:["Many"]}]}]}]}],n:52,r:"data.contents",p:[23,2,654]}]}],x:{r:["data.contents.length"],s:"_0==0"}}]}]},e.exports=a.extend(r.exports)},{341:341}],464:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[24,1,640],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,671],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,710],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,743]}],state:[{t:2,r:"capacityPercentState",p:[26,71,776]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,802]},"%"]}]}]}," ",{p:[29,1,880],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,909],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,946],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,963]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,1015]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1082]}]},"  [",{p:[34,6,1149],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1162]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1178]}]},"]"]}," ",{p:[36,3,1300],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1338],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1359]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1390]}]},f:[{t:2,r:"adata.inputLevel_text",p:[37,78,1411]}]}]}," ",{p:[39,3,1463],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1501],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1540]}],action:"input",params:'{"target": "min"}'}}," ",{p:[41,5,1634],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1668]}],action:"input",params:'{"adjust": -10000}'}}," ",{p:[42,5,1763],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"target": "input"}'},f:["Set"]}," ",{p:[43,5,1852],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1885]}],action:"input",params:'{"adjust": 10000}'}}," ",{p:[44,5,1996],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2034]}],action:"input",params:'{"target": "max"}'}}]}," ",{p:[46,3,2159],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2192],t:7,e:"span",f:[{t:2,r:"adata.inputAvailable",p:[47,9,2198]}]}]}]}," ",{p:[50,1,2259],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2289],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2326],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2343]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2398]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2467]}]},"  [",{p:[55,6,2533],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2546]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2563]}]},"]"]}," ",{p:[57,3,2668],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2707],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2728]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2760]}]},f:[{t:2,r:"adata.outputLevel_text",p:[58,80,2782]}]}]}," ",{p:[60,3,2835],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2874],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,2913]}],action:"output",params:'{"target": "min"}'}}," ",{p:[62,5,3009],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3043]}],action:"output",params:'{"adjust": -10000}'}}," ",{p:[63,5,3140],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"target": "input"}'},f:["Set"]}," ",{p:[64,5,3230],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3263]}],action:"output",params:'{"adjust": 10000}'}}," ",{p:[65,5,3377],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3415]}],action:"output",params:'{"target": "max"}'}}]}," ",{p:[67,3,3543],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3577],t:7,e:"span",f:[{t:2,r:"adata.outputUsed",p:[68,9,3583]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],465:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:["\ufeff",{t:4,f:[" ",{p:[2,2,32],t:7,e:"ui-display",a:{title:"Dispersal Tank"},f:[{p:[3,3,71],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[4,4,101],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.active"],s:'_0?"power-off":"close"'},p:[4,21,118]}],style:[{t:2,x:{r:["data.active"],s:'_0?"selected":null'},p:[5,12,170]}],state:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?null:"disabled"'},p:[6,12,218]}],action:"power"},f:[{t:2,x:{r:["data.active"],s:'_0?"On":"Off"'},p:[7,20,280]}]}]}," ",{p:[10,3,345],t:7,e:"ui-section",a:{label:"Smoke Radius Setting"},f:[{p:[11,5,391],t:7,e:"div",a:{"class":"content",style:"float:left"},f:[{p:[12,6,437],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=1?null:"disabled"'},p:[12,36,467]}],style:[{t:2,x:{r:["data.setting"],s:'_0==1?"selected":null'},p:[12,89,520]}],action:"setting",params:'{"amount": 1}'},f:["3"]}," ",{p:[13,6,622],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=2?null:"disabled"'},p:[13,36,652]}],style:[{t:2,x:{r:["data.setting"],s:'_0==2?"selected":null'},p:[13,89,705]}],action:"setting",params:'{"amount": 2}'},f:["6"]}," ",{p:[14,6,807],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=3?null:"disabled"'},p:[14,36,837]}],style:[{t:2,x:{r:["data.setting"],s:'_0==3?"selected":null'},p:[14,89,890]}],action:"setting",params:'{"amount": 3}'},f:["9"]}," ",{p:[15,6,992],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=4?null:"disabled"'},p:[15,36,1022]}],style:[{t:2,x:{r:["data.setting"],s:'_0==4?"selected":null'},p:[15,89,1075]}],action:"setting",params:'{"amount": 4}'},f:["12"]}," ",{p:[16,6,1178],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.maxSetting"],s:'_0>=5?null:"disabled"'},p:[16,36,1208]}],style:[{t:2,x:{r:["data.setting"],s:'_0==5?"selected":null'},p:[16,89,1261]}],action:"setting",params:'{"amount": 5}'},f:["15"]}]}]}," ",{p:[19,3,1392],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[21,6,1456],t:7,e:"span",f:[{t:2,x:{r:["adata.TankCurrentVolume"],s:"Math.round(_0)"},p:[21,12,1462]},"/",{t:2,r:"data.TankMaxVolume",p:[21,52,1502]}," Units"]}," ",{p:[22,6,1543],t:7,e:"br"}," ",{p:[23,5,1553],t:7,e:"br"}," ",{t:4,f:[{p:[25,7,1599],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[25,50,1642]}," units of ",{t:2,r:"name",p:[25,85,1677]}]},{p:[25,100,1692],t:7,e:"br"}],n:52,r:"adata.TankContents",p:[24,6,1564]}],n:50,r:"data.isTankLoaded",p:[20,4,1425]},{t:4,n:51,f:[{p:[28,6,1730],t:7,e:"span",a:{"class":"bad"},f:["Tank Empty"]}],r:"data.isTankLoaded"}," ",{p:[30,4,1780],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"Eject":"Close"'},p:[30,21,1797]}],style:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"selected":null'},p:[31,12,1851]}],state:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?null:"disabled"'},p:[32,12,1905]}],action:"purge"},f:[{t:2,x:{r:["data.isTankLoaded"],s:'_0?"Purge Contents":"No chemicals detected"'},p:[33,20,1967]}]}]}]}],n:50,x:{r:["data.screen"],s:'_0=="home"'},p:[1,2,1]}]},e.exports=a.extend(r.exports)},{341:341}],466:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,71]},"W"]}," ",{p:[5,3,122],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,159],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,165]},"° (",{t:2,r:"data.direction",p:[6,45,199]},")"]}]}," ",{p:[8,3,244],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,282],t:7,e:"ui-button",a:{icon:"step-backward",action:"angle",params:'{"adjust": -15}'},f:["15°"]}," ",{p:[10,5,378],t:7,e:"ui-button",a:{icon:"backward",action:"angle",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[11,5,467],t:7,e:"ui-button",a:{icon:"forward",action:"angle",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[12,5,554],t:7,e:"ui-button",a:{icon:"step-forward",action:"angle",params:'{"adjust": 15}'},f:["15°"]}]}]}," ",{p:[15,1,673],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,705],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,743],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,774]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,889],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,922]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1039],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1072]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1239],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1276],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1282]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1326]},")"]}]}," ",{p:[27,3,1373],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1410],t:7,e:"ui-button",a:{icon:"fast-backward",action:"rate",params:'{"adjust": -180}'},f:["180°"]}," ",{p:[29,5,1507],t:7,e:"ui-button",a:{icon:"step-backward",action:"rate",params:'{"adjust": -30}'},f:["30°"]}," ",{p:[30,5,1602],t:7,e:"ui-button",a:{icon:"backward",action:"rate",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[31,5,1690],t:7,e:"ui-button",a:{icon:"forward",action:"rate",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[32,5,1776],t:7,e:"ui-button",a:{icon:"step-forward",action:"rate",params:'{"adjust": 30}'},f:["30°"]}," ",{p:[33,5,1869],t:7,e:"ui-button",a:{icon:"fast-forward",action:"rate",params:'{"adjust": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2051],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2130],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2169],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2182]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2227]},"Found"]}]}," ",{p:[43,2,2296],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2332],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2345]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2389]}," Panels Connected"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],467:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,7,84],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[4,38,115]}],action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[3,5,60]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[7,3,220],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[8,5,251],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[8,22,268]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[9,14,318]}],state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[9,54,358]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[10,22,422]}]}]}," ",{p:[12,3,479],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[14,7,541],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[14,40,574]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[14,61,595]},"%"]}],n:50,r:"data.hasPowercell",p:[13,5,509]},{t:4,n:51,f:[{p:[16,4,652],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[20,1,725],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[21,3,759],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[22,3,802],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[22,9,808]},"°C"]}]}," ",{p:[24,2,871],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[25,3,913],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[25,9,919]},"°C"]}]}," ",{t:4,f:[{p:[28,5,1004],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[29,7,1045],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[29,46,1084]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[30,7,1189],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[30,41,1223]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[31,7,1327],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:["Set"]}," ",{p:[32,7,1419],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[32,40,1452]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[33,7,1555],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[33,45,1593]}],action:"target",params:'{"adjust": 20}'}}]}],n:50,r:"data.open",p:[27,3,982]}," ",{p:[36,3,1719],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[38,7,1771],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[38,46,1810]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[39,7,1918],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[39,48,1959]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[40,7,2067],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[40,41,2101]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[37,3,1747]},{t:4,n:51,f:[{p:[42,4,2217],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[42,10,2223]}]}],r:"data.open"}]}]}]},e.exports=a.extend(r.exports)},{341:341}],468:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:{button:[{p:[4,8,97],t:7,e:"ui-button",a:{action:"jump",params:['{"name" : ',{t:2,r:"name",p:[4,51,140]},"}"]},f:["Jump"]}," ",{p:[7,9,195],t:7,e:"ui-button",a:{action:"spawn",params:['{"name" : ',{t:2,r:"name",p:[7,53,239]},"}"]},f:["Spawn"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[2,22,46]}],button:0},f:[" ",{p:[11,3,308],t:7,e:"ui-section",a:{label:"Description"},f:[{p:[12,5,346],t:7,e:"span",f:[{t:3,r:"desc",p:[12,11,352]}]}]}," ",{p:[14,3,390],t:7,e:"ui-section",a:{label:"Spawners left"},f:[{p:[15,5,430],t:7,e:"span",f:[{t:2,r:"amount_left",p:[15,11,436]}]}]}]}],n:52,r:"data.spawners",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],469:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,30],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,49]}," Alarms"]},f:[{p:[3,5,72],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,103],t:7,e:"li",f:[{t:2,r:".",p:[5,13,107]}]}],n:52,r:".",p:[4,7,83]},{t:4,n:51,f:[{p:[7,9,141],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{341:341}],470:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,41],t:7,e:"ui-notice",f:[{p:[3,5,57],t:7,e:"span",f:["Biological entity detected in contents. Please remove."]}]}],n:50,x:{r:["data.occupied","data.safeties"],s:"_0&&_1"},p:[1,1,0]},{t:4,f:[{p:[7,3,173],t:7,e:"ui-notice",f:[{p:[8,5,189],t:7,e:"span",f:["Contents are being disinfected. Please wait."]}]}],n:50,r:"data.uv_active",p:[6,1,148]},{t:4,n:51,f:[{p:{button:[{t:4,f:[{p:[13,25,357],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,42,374]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[13,93,425]}]}],n:50,x:{r:["data.open"],s:"!_0"},p:[13,7,339]}," ",{t:4,f:[{p:[14,27,506],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"sign-out":"sign-in"'},p:[14,44,523]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Close":"Open"'},p:[14,98,577]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[14,7,486]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[17,7,676],t:7,e:"ui-notice",f:[{p:[18,9,696],t:7,e:"span",f:["Unit Locked"]}]}],n:50,r:"data.locked",p:[16,5,650]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.open"],s:"_0"},f:[{p:[21,9,773],t:7,e:"ui-section",a:{label:"Helmet"},f:[{p:[22,11,811],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.helmet"],s:'_0?"square":"square-o"'},p:[22,28,828]}],state:[{t:2,x:{r:["data.helmet"],s:'_0?null:"disabled"'},p:[22,75,875]}],action:"dispense",params:'{"item": "helmet"}'},f:[{t:2,x:{r:["data.helmet"],s:'_0||"Empty"'},p:[23,59,970]}]}]}," ",{p:[25,9,1039],t:7,e:"ui-section",a:{label:"Suit"},f:[{p:[26,11,1075],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.suit"],s:'_0?"square":"square-o"'},p:[26,28,1092]}],state:[{t:2,x:{r:["data.suit"],s:'_0?null:"disabled"'},p:[26,74,1138]}],action:"dispense",params:'{"item": "suit"}'},f:[{t:2,x:{r:["data.suit"],s:'_0||"Empty"'},p:[27,57,1229]}]}]}," ",{p:[29,9,1296],t:7,e:"ui-section",a:{label:"Mask"},f:[{p:[30,11,1332],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mask"],s:'_0?"square":"square-o"'},p:[30,28,1349]}],state:[{t:2,x:{r:["data.mask"],s:'_0?null:"disabled"'},p:[30,74,1395]}],action:"dispense",params:'{"item": "mask"}'},f:[{t:2,x:{r:["data.mask"],s:'_0||"Empty"'},p:[31,57,1486]}]}]}," ",{p:[33,9,1553],t:7,e:"ui-section",a:{label:"Storage"},f:[{p:[34,11,1592],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.storage"],s:'_0?"square":"square-o"'},p:[34,28,1609]}],state:[{t:2,x:{r:["data.storage"],s:'_0?null:"disabled"'},p:[34,77,1658]}],action:"dispense",params:'{"item": "storage"}'},f:[{t:2,x:{r:["data.storage"],s:'_0||"Empty"'},p:[35,60,1755]}]}]}]},{t:4,n:50,x:{r:["data.open"],s:"!(_0)"},f:[" ",{p:[38,7,1836],t:7,e:"ui-button",a:{icon:"recycle",state:[{t:2,x:{r:["data.occupied","data.safeties"],s:'_0&&_1?"disabled":null'},p:[38,40,1869]}],action:"uv"},f:["Disinfect"]}]}],r:"data.locked"}]}],r:"data.uv_active"}]},e.exports=a.extend(r.exports)},{341:341}],471:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,5,17],t:7,e:"ui-section",a:{label:"Dispense"},f:[{p:[3,9,55],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.plasma"],s:'_0?"square":"square-o"'},p:[3,26,72]}],state:[{t:2,x:{r:["data.plasma"],s:'_0?null:"disabled"'},p:[3,74,120]}],action:"plasma"},f:["Plasma (",{t:2,x:{r:["adata.plasma"],s:"Math.round(_0)"},p:[4,37,193]},")"]}," ",{p:[5,9,243],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oxygen"],s:'_0?"square":"square-o"'},p:[5,26,260]}],state:[{t:2,x:{r:["data.oxygen"],s:'_0?null:"disabled"'},p:[5,74,308]}],action:"oxygen"},f:["Oxygen (",{t:2,x:{r:["adata.oxygen"],s:"Math.round(_0)"},p:[6,37,381]},")"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],472:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,282],t:7,e:"ui-notice",f:[{p:[15,3,296],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.connected"],s:'_0?"is":"is not"'},p:[15,23,316]}," connected to a mask."]}]}," ",{p:[17,1,393],t:7,e:"ui-display",f:[{p:[18,3,408],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,449],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,483]}],state:[{t:2,r:"tankPressureState",p:[20,16,521]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,544]}," kPa"]}]}," ",{p:[22,3,610],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,652],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,665]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,699]}],value:[{t:2,r:"data.releasePressure",p:[24,14,741]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,767]}," kPa"]}]}," ",{p:[26,3,836],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,880],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,913]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1067],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1098]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1243],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1337],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1367]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],473:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,5,32],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[3,9,73],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[3,15,79]}," K"]}]}," ",{p:[5,5,147],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,9,185],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[6,15,191]}," kPa"]}]}]}," ",{p:[9,1,268],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[10,5,302],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,337],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[11,26,354]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[11,70,398]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[12,28,458]}]}]}," ",{p:[14,5,518],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[15,9,566],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[15,48,605]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[17,9,717],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[17,43,751]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[19,9,862],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[19,79,932]}]}," ",{p:[20,9,984],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[20,42,1017]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[22,9,1127],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[22,47,1165]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=a.extend(r.exports)},{341:341}],474:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 1:return"good";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[13,1,161],
+t:7,e:"ui-notice",f:[{p:[14,2,174],t:7,e:"ui-section",a:{label:"Reconnect"},f:[{p:[15,3,207],t:7,e:"div",a:{style:"float:right"},f:[{p:[16,4,236],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]}]}]}," ",{p:[20,1,340],t:7,e:"ui-display",a:{title:"Turbine Controller"},f:[{p:[21,2,381],t:7,e:"ui-section",a:{label:"Status"},f:[{t:4,f:[{p:[23,4,434],t:7,e:"span",a:{"class":"bad"},f:["Broken"]}],n:50,r:"data.broken",p:[22,3,411]},{t:4,n:51,f:[{p:[25,4,480],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.online"],s:"_0(_1)"},p:[25,17,493]}]},f:[{t:2,x:{r:["data.online","data.compressor_broke","data.turbine_broke"],s:'_0&&!(_1||_2)?"Online":"Offline"'},p:[25,46,522]}]}],r:"data.broken"}," ",{p:[27,3,630],t:7,e:"div",a:{style:"float:right"},f:[{p:[28,4,659],t:7,e:"ui-button",a:{icon:"power-off",action:"power-on",state:[{t:2,r:"data.broken",p:[28,57,712]}],style:[{t:2,x:{r:["data.online"],s:'_0?"selected":""'},p:[28,81,736]}]},f:["On"]}," ",{p:[29,4,789],t:7,e:"ui-button",a:{icon:"close",action:"power-off",state:[{t:2,r:"data.broken",p:[29,54,839]}],style:[{t:2,x:{r:["data.online"],s:'_0?"":"selected"'},p:[29,78,863]}]},f:["Off"]}]}," ",{t:4,f:[{p:[32,4,958],t:7,e:"br"}," [ ",{p:[33,6,968],t:7,e:"span",a:{"class":"bad"},f:["Compressor is inoperable"]}," ]"],n:50,r:"data.compressor_broke",p:[31,3,925]}," ",{t:4,f:[{p:[36,4,1062],t:7,e:"br"}," [ ",{p:[37,6,1072],t:7,e:"span",a:{"class":"bad"},f:["Turbine is inoperable"]}," ]"],n:50,r:"data.turbine_broke",p:[35,3,1032]}]}]}," ",{p:[41,1,1160],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[42,2,1189],t:7,e:"ui-section",a:{label:"Turbine Speed"},f:[{p:[43,3,1226],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.rpm"],s:'_0?"--":_1'},p:[43,9,1232]}," RPM"]}]}," ",{p:[45,2,1293],t:7,e:"ui-section",a:{label:"Internal Temp"},f:[{p:[46,3,1330],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.temp"],s:'_0?"--":_1'},p:[46,9,1336]}," K"]}]}," ",{p:[48,2,1396],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{p:[49,3,1435],t:7,e:"span",f:[{t:2,x:{r:["data.broken","data.power"],s:'_0?"--":_1'},p:[49,9,1441]}]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],475:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{},oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(r),r.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[23,7,460],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[22,5,432]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[26,3,543],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[27,5,587],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[27,18,600]}]},f:[{t:2,r:"data.telecrystals",p:[27,62,644]}," TC"]}]}]}," ",{t:4,f:[{p:[31,3,734],t:7,e:"ui-display",f:[{p:[32,2,748],t:7,e:"ui-button",a:{action:"select",params:['{"category": "',{t:2,r:"name",p:[32,51,797]},'"}']},f:[{t:2,r:"name",p:[32,63,809]}]}," ",{t:4,f:[{p:[34,4,850],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[34,23,869]}],candystripe:0,right:0},f:[{p:[35,3,900],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[35,23,920]},": ",{t:2,r:"desc",p:[35,33,930]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[36,12,971]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[37,40,1129]},'", "item": ',{t:2,r:"name",p:[37,63,1152]},', "cost": ',{t:2,r:"cost",p:[37,81,1170]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[38,43,1223]}," TC"]}]}],n:52,r:"items",p:[33,2,831]}]}],n:52,r:"data.categories",p:[30,1,706]}]},e.exports=a.extend(r.exports)},{341:341}],476:[function(t,e,n){var a=t(341),r={exports:{}};!function(t){"use strict";t.exports={data:{healthState:function(t){var e=this.get("data.vr_avatar.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,292],t:7,e:"ui-display",f:[{t:4,f:[{p:[16,3,331],t:7,e:"ui-notice",f:[{p:[17,4,347],t:7,e:"span",f:["Safety restraints disabled."]}]}],n:50,r:"data.emagged",p:[15,2,307]}," ",{t:4,f:[{p:[21,3,442],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:[{p:[22,4,482],t:7,e:"ui-section",a:{label:"Name"},f:[{t:2,r:"data.vr_avatar.name",p:[23,5,513]}]}," ",{t:4,f:[{p:[26,5,586],t:7,e:"ui-section",a:{label:"Status"},f:[{t:2,r:"data.vr_avatar.status",p:[27,6,620]}]}," ",{p:[29,5,670],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[30,6,704],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.vr_avatar.maxhealth",p:[30,27,725]}],value:[{t:2,r:"adata.vr_avatar.health",p:[30,65,763]}],state:[{t:2,x:{r:["healthState","adata.vr_avatar.health"],s:"_0(_1)"},p:[30,100,798]}]},f:[{t:2,x:{r:["adata.vr_avatar.health"],s:"Math.round(_0)"},p:[30,141,839]},"/",{t:2,r:"adata.vr_avatar.maxhealth",p:[30,180,878]}]}]}],n:50,r:"data.isliving",p:[25,4,559]}]}],n:50,r:"data.vr_avatar",p:[20,2,416]},{t:4,n:51,f:[{p:[35,3,979],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:["No Virtual Avatar detected"]}],r:"data.vr_avatar"}," ",{p:[39,2,1075],t:7,e:"ui-display",a:{title:"VR Commands"},f:[{p:[40,3,1111],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.toggle_open"],s:'_0?"times":"plus"'},p:[40,20,1128]}],action:"toggle_open"},f:[{t:2,x:{r:["data.toggle_open"],s:'_0?"Close":"Open"'},p:[41,4,1195]}," the VR Sleeper"]}," ",{t:4,f:[{p:[44,4,1297],t:7,e:"ui-button",a:{icon:"signal",action:"vr_connect"},f:["Connect to VR"]}],n:50,r:"data.isoccupant",p:[43,3,1269]}," ",{t:4,f:[{p:[49,4,1420],t:7,e:"ui-button",a:{icon:"ban",action:"delete_avatar"},f:["Delete Virtual Avatar"]}],n:50,r:"data.vr_avatar",p:[48,3,1393]}]}]}]},e.exports=a.extend(r.exports)},{341:341}],477:[function(t,e,n){var a=t(341),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=a.extend(r.exports)},{341:341}],478:[function(t,e,n){(function(e){"use strict";var n=t(341),a=e.interopRequireDefault(n);t(331),t(1),t(327),t(330);var r=t(479),i=e.interopRequireDefault(r),o=t(480),s=t(328),p=t(329),u=e.interopRequireDefault(p);a["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(484)),window.initialize=function(e){window.tgui=window.tgui||new i["default"]({el:"#container",data:function(){var n=JSON.parse(e);return{constants:t(481),text:t(485),config:n.config,data:n.data,adata:n.data}}})};var c=document.getElementById("data"),l=c.textContent,d=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,o.act)(d,"tgui:initialize"),(0,s.loadCSS)("font-awesome.min.css");var f=new u["default"]("FontAwesome");f.check("").then(function(){return document.body.classList.add("icons")})["catch"](function(){return document.body.classList.add("no-icons")})}).call(this,t("babel/external-helpers"))},{1:1,327:327,328:328,329:329,330:330,331:331,341:341,479:479,480:480,481:481,484:484,485:485,"babel/external-helpers":"babel/external-helpers"}],479:[function(t,e,n){var a=t(341),r={exports:{}};!function(e){"use strict";var n=t(480),a=t(482);e.exports={components:{"ui-bar":t(342),"ui-button":t(343),"ui-display":t(344),"ui-input":t(345),"ui-linegraph":t(346),"ui-notice":t(347),"ui-section":t(349),"ui-subdisplay":t(350),"ui-tabs":t(351)},events:{enter:t(339).enter,space:t(339).space},transitions:{fade:t(340)},onconfig:function(){var e=this.get("config.interface"),n={ai_airlock:t(355),airalarm:t(356),"airalarm/back":t(357),"airalarm/modes":t(358),"airalarm/scrubbers":t(359),"airalarm/status":t(360),"airalarm/thresholds":t(361),"airalarm/vents":t(362),airlock_electronics:t(363),apc:t(364),atmos_alert:t(365),atmos_control:t(366),atmos_filter:t(367),atmos_mixer:t(368),atmos_pump:t(369),borgopanel:t(370),brig_timer:t(371),bsa:t(372),canister:t(373),cargo:t(374),cargo_express:t(375),cellular_emporium:t(376),centcom_podlauncher:t(377),chem_dispenser:t(378),chem_heater:t(379),chem_master:t(380),chem_synthesizer:t(381),clockwork_slab:t(382),codex_gigas:t(383),computer_fabricator:t(384),crayon:t(385),crew:t(386),cryo:t(387),disposal_unit:t(388),dna_vault:t(389),dogborg_sleeper:t(390),eightball:t(391),emergency_shuttle_console:t(392),engraved_message:t(393),error:t(394),"exofab - Copia":t(395),exonet_node:t(396),gps:t(397),gulag_console:t(398),gulag_item_reclaimer:t(399),holodeck:t(400),implantchair:t(401),intellicard:t(402),keycard_auth:t(403),labor_claim_console:t(404),language_menu:t(405),launchpad_remote:t(406),mech_bay_power_console:t(407),mulebot:t(408),nanite_chamber_control:t(409),nanite_cloud_control:t(410),nanite_program_hub:t(411),nanite_programmer:t(412),nanite_remote:t(413),notificationpanel:t(414),ntnet_relay:t(415),ntos_ai_restorer:t(416),ntos_card:t(417),ntos_configuration:t(418),ntos_file_manager:t(419),ntos_main:t(420),ntos_net_chat:t(421),ntos_net_dos:t(422),ntos_net_downloader:t(423),ntos_net_monitor:t(424),ntos_net_transfer:t(425),ntos_power_monitor:t(426),ntos_revelation:t(427),ntos_station_alert:t(428),ntos_supermatter_monitor:t(429),ntosheader:t(430),nuclear_bomb:t(431),operating_computer:t(432),ore_redemption_machine:t(433),pandemic:t(434),personal_crafting:t(435),portable_pump:t(436),portable_scrubber:t(437),power_monitor:t(438),radio:t(439),rdconsole:t(440),"rdconsole/circuit":t(441),"rdconsole/designview":t(442),"rdconsole/destruct":t(443),"rdconsole/diskopsdesign":t(444),"rdconsole/diskopstech":t(445),"rdconsole/nodeview":t(446),"rdconsole/protolathe":t(447),"rdconsole/rdheader":t(448),"rdconsole/settings":t(449),"rdconsole/techweb":t(450),reagentgrinder:t(451),rpd:t(452),"rpd/colorsel":t(453),"rpd/dirsel":t(454),sat_control:t(455),scrubbing_types:t(456),shuttle_manipulator:t(457),"shuttle_manipulator/modification":t(458),"shuttle_manipulator/status":t(459),"shuttle_manipulator/templates":t(460),sleeper:t(461),slime_swap_body:t(462),smartvend:t(463),smes:t(464),smoke_machine:t(465),solar_control:t(466),space_heater:t(467),spawners_menu:t(468),station_alert:t(469),suit_storage_unit:t(470),tank_dispenser:t(471),tanks:t(472),thermomachine:t(473),turbine_computer:t(474),uplink:t(475),vr_sleeper:t(476),wires:t(477)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)})},oncomplete:function(){if(this.get("config.locked")){var t=(0,a.lock)(window.screenLeft,window.screenTop),e=t.x,r=t.y;(0,n.winset)(this.get("config.window"),"pos",e+","+r)}(0,n.winset)("mapwindow.map","focus",!0)}}}(r),r.exports.template={v:3,t:[" "," "," "," ",{p:[56,1,1819],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[56,11,1829]}]}," ",{p:[57,1,1859],t:7,e:"main",f:[{p:[58,3,1868],t:7,e:"warnings"}," ",{p:[59,3,1882],t:7,e:"interface"}]}," ",{t:4,f:[{p:[62,3,1929],t:7,e:"resize"}],n:50,r:"config.titlebar",p:[61,1,1903]}]},r.exports.components=r.exports.components||{};var i={warnings:t(354),titlebar:t(353),resize:t(348)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{339:339,340:340,341:341,342:342,343:343,344:344,345:345,346:346,347:347,348:348,349:349,350:350,351:351,353:353,354:354,355:355,356:356,357:357,358:358,359:359,360:360,361:361,362:362,363:363,364:364,365:365,366:366,367:367,368:368,369:369,370:370,371:371,372:372,373:373,374:374,375:375,376:376,377:377,378:378,379:379,380:380,381:381,382:382,383:383,384:384,385:385,386:386,387:387,388:388,389:389,390:390,391:391,392:392,393:393,394:394,395:395,396:396,397:397,398:398,399:399,400:400,401:401,402:402,403:403,404:404,405:405,406:406,407:407,408:408,409:409,410:410,411:411,412:412,413:413,414:414,415:415,416:416,417:417,418:418,419:419,420:420,421:421,422:422,423:423,424:424,425:425,426:426,427:427,428:428,429:429,430:430,431:431,432:432,433:433,434:434,435:435,436:436,437:437,438:438,439:439,440:440,441:441,442:442,443:443,444:444,445:445,446:446,447:447,448:448,449:449,450:450,451:451,452:452,453:453,454:454,455:455,456:456,457:457,458:458,459:459,460:460,461:461,462:462,463:463,464:464,465:465,466:466,467:467,468:468,469:469,470:470,471:471,472:472,473:473,474:474,475:475,476:476,477:477,480:480,482:482}],480:[function(t,e,n){"use strict";function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function r(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};window.location.href=a(Object.assign({src:t,action:e},n))}function i(t,e,n){var r;window.location.href=a((r={},r[t+"."+e]=n,r),"winset")}n.__esModule=!0,n.href=a,n.act=r,n.winset=i;var o=encodeURIComponent},{}],481:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],482:[function(t,e,n){"use strict";function a(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function r(t){if(t.preventDefault(),this.get("drag")){if(this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var r=a(e,n);e=r.x,n=r.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}function i(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("resize")){if(this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,a=i(e,n);e=a.x,n=a.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}n.__esModule=!0,n.lock=a,n.drag=r,n.sane=i,n.resize=o;var s=t(480)},{480:480}],483:[function(t,e,n){"use strict";function a(t,e){for(var n=t,a=Array.isArray(n),i=0,n=a?n:n[Symbol.iterator]();;){var o;if(a){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o;s.textContent.toLowerCase().includes(e)?(s.style.display="",r(s,e)):s.style.display="none"}}function r(t,e){for(var n=t.queryAll("section"),a=t.query("header").textContent.toLowerCase().includes(e),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;a||p.textContent.toLowerCase().includes(e)?p.style.display="":p.style.display="none"}}n.__esModule=!0,n.filterMulti=a,n.filter=r},{}],484:[function(t,e,n){"use strict";function a(t,e,n){return Math.max(t,Math.min(n,e))}function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=a,n.fixed=r},{}],485:[function(t,e,n){"use strict";function a(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function r(t){return t.replace(/\w\S*/g,a)}function i(t,e){for(t=""+t;t.length1){for(var p=Array(o),u=0;o>u;u++)p[u]=arguments[u+3];n.children=p}return{$$typeof:t,type:e,key:void 0===a?null:""+a,ref:null,props:n,_owner:null}}}(),e.asyncIterator=function(t){if("function"==typeof Symbol){if(Symbol.asyncIterator){var e=t[Symbol.asyncIterator];if(null!=e)return e.call(t)}if(Symbol.iterator)return t[Symbol.iterator]()}throw new TypeError("Object is not async iterable")},e.asyncGenerator=function(){function t(t){this.value=t}function e(e){function n(t,e){return new Promise(function(n,r){var s={key:t,arg:e,resolve:n,reject:r,next:null};o?o=o.next=s:(i=o=s,a(t,e))})}function a(n,i){try{var o=e[n](i),s=o.value;s instanceof t?Promise.resolve(s.value).then(function(t){a("next",t)},function(t){a("throw",t)}):r(o.done?"return":"normal",o.value)}catch(p){r("throw",p)}}function r(t,e){switch(t){case"return":i.resolve({value:e,done:!0});break;case"throw":i.reject(e);break;default:i.resolve({value:e,done:!1})}i=i.next,i?a(i.key,i.arg):o=null}var i,o;this._invoke=n,"function"!=typeof e["return"]&&(this["return"]=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(e.prototype[Symbol.asyncIterator]=function(){return this}),e.prototype.next=function(t){return this._invoke("next",t)},e.prototype["throw"]=function(t){return this._invoke("throw",t)},e.prototype["return"]=function(t){return this._invoke("return",t)},{wrap:function(t){return function(){return new e(t.apply(this,arguments))}},await:function(e){return new t(e)}}}(),e.asyncGeneratorDelegate=function(t,e){function n(n,a){return r=!0,a=new Promise(function(e){e(t[n](a))}),{done:!1,value:e(a)}}var a={},r=!1;return"function"==typeof Symbol&&Symbol.iterator&&(a[Symbol.iterator]=function(){return this}),a.next=function(t){return r?(r=!1,t):n("next",t)},"function"==typeof t["throw"]&&(a["throw"]=function(t){if(r)throw r=!1,t;return n("throw",t)}),"function"==typeof t["return"]&&(a["return"]=function(t){return n("return",t)}),a},e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function a(r,i){try{var o=e[r](i),s=o.value}catch(p){return void n(p)}return o.done?void t(s):Promise.resolve(s).then(function(t){a("next",t)},function(t){a("throw",t)})}return a("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function a(t,e,n,r){var i=Object.getOwnPropertyDescriptor(t,e);if(void 0===i){var o=Object.getPrototypeOf(t);null!==o&&a(o,e,n,r)}else if("value"in i&&i.writable)i.value=n;else{var s=i.set;void 0!==s&&s.call(r,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,a=[],r=t[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!e||a.length!==e););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e
- component.exports = {
- computed: {
- seclevelState () {
- switch (this.get('data.seclevel')) {
- case 'blue': return 'average'
- case 'red': return 'bad'
- case 'delta': return 'bad bold'
- default: return 'good'
- }
- }
- }
- }
-
-
-
-
- {{text.titleCase(data.seclevel)}}
-
-
-
- {{data.alarm ? "Reset" : "Activate"}}
-
- {{#if data.emagged}}
-
- Safety measures offline. Device may exhibit abnormal behavior.
-
- {{/if}}
-