From d5b227a0ca0c12305f3b78af3ade8cd1ec9f8162 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sat, 11 Jan 2020 23:34:07 -0600 Subject: [PATCH 001/221] adds the POOL to box station F in chat for dorms 7. --- _maps/map_files/BoxStation/BoxStation.dmm | 952 +++++++++++++----- code/__DEFINES/pool.dm | 10 + code/game/area/Space_Station_13_areas.dm | 4 + code/game/sound.dm | 2 + .../living/simple_animal/hostile/sharks.dm | 91 ++ code/modules/pool/pool_controller.dm | 336 +++++++ code/modules/pool/pool_drain.dm | 129 +++ code/modules/pool/pool_effects.dm | 29 + code/modules/pool/pool_main.dm | 201 ++++ code/modules/pool/pool_noodles.dm | 44 + code/modules/pool/pool_structures.dm | 149 +++ code/modules/pool/pool_wires.dm | 59 ++ icons/effects/96x96.dmi | Bin 1677605 -> 1802152 bytes icons/mob/inhands/items_lefthand.dmi | Bin 19554 -> 20338 bytes icons/mob/inhands/items_righthand.dmi | Bin 21628 -> 22343 bytes icons/mob/sharks.dmi | Bin 0 -> 3389 bytes icons/obj/machines/pool.dmi | Bin 0 -> 1981 bytes icons/obj/toy.dmi | Bin 33413 -> 33646 bytes icons/turf/areas.dmi | Bin 38318 -> 38486 bytes icons/turf/pool.dmi | Bin 0 -> 28706 bytes sound/effects/fillingwatter.ogg | Bin 0 -> 20547 bytes sound/effects/pooldrain.ogg | Bin 0 -> 28630 bytes sound/effects/splash.ogg | Bin 0 -> 16328 bytes sound/effects/water_wade1.ogg | Bin 0 -> 11450 bytes sound/effects/water_wade2.ogg | Bin 0 -> 10965 bytes sound/effects/water_wade3.ogg | Bin 0 -> 9065 bytes sound/effects/water_wade4.ogg | Bin 0 -> 10698 bytes sound/effects/watersplash.ogg | Bin 0 -> 9609 bytes sound/misc/crack.ogg | Bin 0 -> 5418 bytes sound/misc/crunch.ogg | Bin 0 -> 9517 bytes tgstation.dme | 9 + 31 files changed, 1768 insertions(+), 247 deletions(-) create mode 100644 code/__DEFINES/pool.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/sharks.dm create mode 100644 code/modules/pool/pool_controller.dm create mode 100644 code/modules/pool/pool_drain.dm create mode 100644 code/modules/pool/pool_effects.dm create mode 100644 code/modules/pool/pool_main.dm create mode 100644 code/modules/pool/pool_noodles.dm create mode 100644 code/modules/pool/pool_structures.dm create mode 100644 code/modules/pool/pool_wires.dm create mode 100644 icons/mob/sharks.dmi create mode 100644 icons/obj/machines/pool.dmi create mode 100644 icons/turf/pool.dmi create mode 100644 sound/effects/fillingwatter.ogg create mode 100644 sound/effects/pooldrain.ogg create mode 100644 sound/effects/splash.ogg create mode 100644 sound/effects/water_wade1.ogg create mode 100644 sound/effects/water_wade2.ogg create mode 100644 sound/effects/water_wade3.ogg create mode 100644 sound/effects/water_wade4.ogg create mode 100644 sound/effects/watersplash.ogg create mode 100644 sound/misc/crack.ogg create mode 100644 sound/misc/crunch.ogg diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index b6463f7147..fe03105469 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3984,7 +3984,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -6153,11 +6158,8 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6165,8 +6167,13 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness"; + name = "Pool Room APC"; + pixel_y = -23 + }, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6327,7 +6334,7 @@ dir = 10 }, /turf/closed/wall, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "aof" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -7161,14 +7168,10 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/airlock{ - id_tag = "Room Two"; - name = "Room Seven - Luxury Suite" - }, -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -48098,6 +48101,10 @@ }, /turf/open/floor/plasteel, /area/engine/engine_smes) +"cnT" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "cnU" = ( /obj/structure/cable{ icon_state = "4-8" @@ -50849,6 +50856,9 @@ /obj/structure/chair/wood/normal, /turf/open/floor/wood, /area/maintenance/bar) +"cxu" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cxA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -53025,6 +53035,22 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"cTn" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) +"cTs" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"cTB" = ( +/obj/structure/table/glass, +/obj/item/clothing/under/shorts/blue{ + desc = "So comfy and easy to wear!" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cTD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -53330,6 +53356,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/crew_quarters/toilet) +"dDf" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "dHb" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -53393,6 +53423,16 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) +"dYi" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/yellow, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "eaI" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -53402,6 +53442,9 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/plasteel/white, /area/science/circuit) +"ebQ" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "edH" = ( /obj/structure/cable{ icon_state = "1-2" @@ -53443,6 +53486,9 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"elD" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "epV" = ( /obj/structure/bed, /obj/machinery/button/door{ @@ -53479,10 +53525,12 @@ "evR" = ( /turf/open/floor/plating, /area/maintenance/bar) +"ewJ" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "ewZ" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eyM" = ( /obj/machinery/mineral/ore_redemption{ input_dir = 2; @@ -53491,6 +53539,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"eBq" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) +"eHh" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "eHI" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -53611,12 +53668,20 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"eWj" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "eXm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"eXY" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fbm" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -53633,6 +53698,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"fbR" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fcG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -53655,6 +53724,12 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel/white, /area/science/circuit) +"fmH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "fnC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -53738,6 +53813,9 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"fwe" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "fxa" = ( /obj/structure/chair/wood/normal, /turf/open/floor/wood{ @@ -53836,13 +53914,10 @@ }, /area/crew_quarters/theatre) "fOc" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "fPs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -53856,13 +53931,6 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "fQF" = ( -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 5; - icon_state = "roomnum"; - name = "Room Number 7"; - pixel_y = 24 - }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54016,6 +54084,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"gno" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/yellow, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gtL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -54055,6 +54130,9 @@ "gJg" = ( /turf/closed/wall/mineral/titanium, /area/space/nearstation) +"gJT" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gKk" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -54095,9 +54173,15 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "gQn" = ( -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "gSH" = ( /obj/structure/grille, /turf/closed/wall/r_wall, @@ -54147,14 +54231,14 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "haX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "holoprivacy"; name = "Holodeck Shutters" }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/crew_quarters/fitness) "hcd" = ( @@ -54242,6 +54326,10 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) +"hsi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "htr" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54261,6 +54349,10 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"hxK" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "hzw" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -54338,6 +54430,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"hSk" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "hSU" = ( /obj/structure/chair/sofa/left, /obj/structure/window{ @@ -54376,6 +54471,16 @@ }, /turf/open/floor/plasteel/dark, /area/hydroponics) +"icK" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"idP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/crew_quarters/fitness) "idX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -54386,32 +54491,20 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "iep" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/structure/toilet{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/yellowsiding{ dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "ier" = ( -/obj/machinery/button/door{ - id = "Room Two"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -24; - specialfunctions = 4 +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) +"ifI" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "igT" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -54450,6 +54543,10 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/maintenance/bar) +"inX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "ioB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -54583,6 +54680,9 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) +"iLt" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "iMG" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-14" @@ -54761,6 +54861,9 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"jiN" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jiR" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -54878,6 +54981,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/execution/transfer) +"jvc" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jvN" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -54891,6 +54997,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"jwJ" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jzi" = ( /obj/structure/grille, /obj/structure/lattice, @@ -54974,6 +55083,13 @@ }, /turf/open/floor/wood, /area/maintenance/port/aft) +"jKX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"jLH" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jLM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55031,6 +55147,11 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"jTh" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55060,11 +55181,11 @@ /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) "jYI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "kay" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/bluecherrycupcake{ @@ -55084,6 +55205,10 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"kcw" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "kdm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55126,18 +55251,25 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "khB" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/door/airlock/maintenance{ + name = "Dormitories Maintenance"; + req_access_txt = "12" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"kjx" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "klu" = ( /obj/structure/lattice, /turf/open/space/basic, /area/space) +"knl" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "knx" = ( /obj/machinery/door/airlock/public/glass{ name = "Central Access" @@ -55158,6 +55290,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"knN" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "kob" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, @@ -55243,6 +55379,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/science/mixing) +"kBi" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "kCk" = ( /obj/structure/mirror{ pixel_y = 32 @@ -55261,6 +55401,12 @@ /obj/structure/lattice, /turf/closed/wall/r_wall, /area/ai_monitored/nuke_storage) +"kDV" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"kER" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kHJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -55309,6 +55455,14 @@ }, /turf/open/space, /area/solar/port/aft) +"kLE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/table/glass, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "kLR" = ( /obj/machinery/door/poddoor/shutters/preopen{ desc = "Privacy shutters for the Private Study. Stops people spying in on your game."; @@ -55556,6 +55710,11 @@ /obj/item/folder/blue, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"lWW" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "lYU" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -55587,6 +55746,9 @@ /obj/item/reagent_containers/food/snacks/cherrycupcake, /turf/open/floor/wood, /area/crew_quarters/bar) +"maQ" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mbD" = ( /obj/structure/closet{ name = "Suit Closet" @@ -55612,16 +55774,32 @@ /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"mes" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) +"meB" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "mfb" = ( /obj/structure/toilet{ dir = 8 }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"mhk" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "mjr" = ( /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, /area/crew_quarters/bar) +"mkX" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mlr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -55637,6 +55815,13 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"moy" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"mpC" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mpI" = ( /obj/structure/table/wood, /turf/open/floor/wood{ @@ -55654,6 +55839,9 @@ /obj/item/reagent_containers/glass/beaker, /turf/open/floor/plating, /area/maintenance/bar) +"mrD" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "mrR" = ( /obj/effect/spawner/lootdrop/keg, /turf/open/floor/wood, @@ -55688,6 +55876,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) +"mFq" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"mGC" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "mHC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -55704,6 +55898,9 @@ /obj/item/clothing/gloves/boxing, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"mJb" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mNi" = ( /obj/machinery/light_switch{ pixel_x = -20 @@ -55716,6 +55913,10 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar) +"mQL" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mQR" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Room"; @@ -55741,6 +55942,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"mWc" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mXB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -55823,6 +56027,10 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"nqi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "nrR" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -55862,6 +56070,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"nvQ" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "nxv" = ( /obj/machinery/power/apc{ areastring = "/area/construction"; @@ -56012,6 +56223,9 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"ogC" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ohX" = ( /obj/structure/table/wood, /obj/machinery/airalarm{ @@ -56020,6 +56234,9 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"ois" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "olr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, @@ -56042,6 +56259,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"opo" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "orw" = ( /obj/structure/table, /obj/structure/cable{ @@ -56188,6 +56408,10 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"paJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "phu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4; @@ -56223,6 +56447,17 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"pjC" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"pjY" = ( +/obj/structure/table/glass, +/obj/item/clothing/under/shorts/blue{ + desc = "So comfy and easy to wear!" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "poa" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -56238,6 +56473,16 @@ }, /turf/open/floor/plasteel, /area/science/mixing) +"poJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ppY" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -56265,13 +56510,15 @@ /turf/open/space/basic, /area/space/nearstation) "prU" = ( -/obj/item/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_x = 27 +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"psr" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 16 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ptV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56317,6 +56564,9 @@ }, /turf/open/space, /area/solar/starboard/aft) +"pGe" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "pHl" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -56349,6 +56599,20 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"pIN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"pJT" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -56477,12 +56741,12 @@ }, /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) +"pXP" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "pZv" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qbx" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -56491,6 +56755,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"qen" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56549,12 +56818,8 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "qoP" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/chair/sofa/left, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qpA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56564,12 +56829,21 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"qpD" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"qty" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qux" = ( /obj/structure/chair/sofa/left{ dir = 1 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"quP" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "quT" = ( /obj/structure/lattice, /obj/structure/grille/broken, @@ -56625,6 +56899,13 @@ }, /turf/open/floor/carpet, /area/bridge/meeting_room) +"qDe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "qEv" = ( /obj/structure/table/wood/fancy, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -56675,16 +56956,18 @@ }, /turf/open/floor/plating, /area/security/prison) +"qMZ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qNs" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - on = 0; - pixel_x = -7; - pixel_y = 12 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "qOf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -56718,6 +57001,9 @@ }, /turf/closed/wall/r_wall, /area/science/circuit) +"rdr" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "reZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -56736,6 +57022,9 @@ /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"rhB" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "riA" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -56756,11 +57045,29 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"rkt" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"rlZ" = ( +/obj/machinery/pool/filter{ + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "rmX" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/beer, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"rnn" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"rrz" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "rsv" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -56886,6 +57193,12 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"rOV" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"rSl" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rTQ" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -56901,12 +57214,33 @@ dir = 8 }, /area/crew_quarters/fitness) +"rUi" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"rUl" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "rUQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plating, /area/space/nearstation) +"rZe" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"saF" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/yellow, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "saK" = ( /obj/structure/closet/crate, /obj/item/target/alien, @@ -56919,6 +57253,12 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel/white, /area/science/circuit) +"sby" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "sdL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -56935,6 +57275,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"sfL" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sgV" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4; @@ -57065,6 +57408,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"svI" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sxs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -57118,6 +57464,9 @@ dir = 1 }, /area/hallway/primary/starboard) +"sKF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sLr" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -57143,6 +57492,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"sNP" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sOs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57191,13 +57543,15 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"sYU" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sZa" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /obj/machinery/camera{ - c_tag = "Bar Backroom"; - dir = 2 + c_tag = "Bar Backroom" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -57215,6 +57569,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) +"tdy" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tdF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -57237,6 +57594,10 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) +"tmI" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "tqg" = ( /obj/machinery/cryopod{ dir = 4 @@ -57302,6 +57663,12 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"tsV" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"ttU" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "tuj" = ( /obj/structure/light_construct{ dir = 1 @@ -57320,6 +57687,9 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/crew_quarters/bar) +"tuT" = ( +/turf/open/pool, +/area/crew_quarters/fitness) "tAb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57454,12 +57824,10 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "tOU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "tPT" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, @@ -57523,6 +57891,10 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"tYJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "uaw" = ( /obj/machinery/power/apc{ areastring = "/area/storage/art"; @@ -57535,6 +57907,12 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"ubU" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"ucF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "udi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57687,6 +58065,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"uvF" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "uvZ" = ( /obj/structure/mineral_door/wood, /turf/open/floor/wood, @@ -57722,6 +58104,12 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"uEr" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "uNu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57816,6 +58204,9 @@ dir = 4 }, /area/crew_quarters/fitness) +"vcw" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "vdz" = ( /obj/machinery/shower{ dir = 8 @@ -57881,6 +58272,9 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"vwj" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vxh" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -57934,6 +58328,10 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"vBS" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "vCb" = ( /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, @@ -57946,6 +58344,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/space/nearstation) +"vEZ" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vFt" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, @@ -58036,6 +58438,9 @@ /obj/item/coin/gold, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"vPp" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vPE" = ( /obj/machinery/light{ dir = 4 @@ -58066,6 +58471,12 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"vTh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "vUR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -58126,6 +58537,9 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) +"wlH" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58217,6 +58631,16 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"wwQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "wyM" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -58310,6 +58734,9 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"wHg" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wHz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -58336,6 +58763,11 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hydroponics) +"wQy" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "wUY" = ( /obj/structure/table, /obj/item/stack/packageWrap, @@ -58430,6 +58862,9 @@ }, /turf/open/floor/plating, /area/hallway/secondary/service) +"xiQ" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "xkk" = ( /obj/structure/piano, /obj/structure/window/reinforced, @@ -58448,6 +58883,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"xmO" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "xpx" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -58475,6 +58914,9 @@ }, /turf/open/floor/plating, /area/security/brig) +"xrD" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "xzh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58522,6 +58964,9 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xPF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xWM" = ( /obj/structure/grille/broken, /turf/open/floor/plating, @@ -58549,6 +58994,19 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/plasteel, /area/science/mixing) +"ydH" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ygu" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "yiN" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -93088,7 +93546,7 @@ aif aif aif aif -aif +pIN bkV fvk alK @@ -93340,12 +93798,12 @@ abp abp hlY ahn -aiA -aiA +ahn aiA ahn +ahn hYW -anF +fmH aod ahn apx @@ -93597,12 +94055,12 @@ unE abp nea ahn -aaa -aaf -aaf +ahn +rkt ahn ahn -anE +ahn +fmH aod aoK sgV @@ -93854,9 +94312,9 @@ aaa adR ahn ahn -aaa -aaa -aaa +ahn +ydH +ahn aaf ahn anG @@ -94111,13 +94569,13 @@ aaa gXs aaa aaa -aaa -aaa -aaa +jmC +jmC +jmC aaa ahn khB -ahn +rnn ahn ahn ahn @@ -94372,16 +94830,16 @@ aaa aaa aaa aaa -aag -aag -aag -arf -iep +rnn +poJ +qDe +wwQ +vTh gQn -arf -myt +vTh +vTh qNs -lMx +idP sjw clO asZ @@ -94629,16 +95087,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -arf -pZv -tQk -cVp -jdT -ier -arf +inX +mJb +mrD +rlZ +qty +qty +qty +qty +lWW +arj arm vYa aya @@ -94886,14 +95344,14 @@ aaa aaa aaa aaa -aaa -aaa -aaa -arf -arf -arf -arf -iES +inX +mJb +mrD +qty +qty +qty +tuT +qty jYI aqs hVw @@ -95143,16 +95601,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -arf -ewZ -jdT -tOU -arf +inX +mJb +mrD +qty +qty +qty +qty +qty +lWW +uvF fQF qbx qux @@ -95400,16 +95858,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -arf -qoP -prU -fOc -arf +inX +mJb +kcw +qty +qty +fbR +qty +qty +lWW +arj oSO sAI fJa @@ -95657,16 +96115,16 @@ aaa aaa aaa aaa -aaa -aaa -aae -aaa -aaa -arf -arf -arf -arf -arf +inX +mJb +mrD +qty +qty +qty +qty +qty +eBq +arj mTp qEv kRk @@ -95914,15 +96372,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs +inX +mJb +mrD +qty +qty +qty +qty +qty +lWW kHJ rEV rEV @@ -96171,15 +96629,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs +inX +icK +mrD +psr +qty +qty +qty +qty +lWW aqu aro aro @@ -96428,15 +96886,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa +inX +kBi +mrD +qty +qty +vEZ +qty +qty +lWW aqu aro aro @@ -96685,15 +97143,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa +inX +kjx +cTn +qen +qen +uEr +qen +qen +mes aqu aro aro @@ -96942,15 +97400,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa +rnn +saF +mJb +mJb +mJb +mJb +mJb +mJb +mJb aqu aro aro @@ -97199,15 +97657,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa -aaa +inX +inX +gno +mJb +mJb +mJb +mJb +mJb +kBi aqu aro aro @@ -97457,14 +97915,14 @@ aaa aaa aaa aaa -aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa +inX +inX +dYi +mJb +mJb +cTB +cTB +kLE haX rEV rEV @@ -97712,19 +98170,19 @@ aaS aaS aaS aaS -aaS -aaS -aaf -aaf -aaa -aaa -aaa -aaa -aaa -aaa aaa aaa aaa +inX +rnn +inX +inX +inX +inX +rnn +arj +arj +arj arj cRz avD @@ -97970,8 +98428,8 @@ aaf aaa aaf aaa -aaS -aaf +aaa +aaa aaa aaa aaa @@ -98227,7 +98685,7 @@ ads adS aeG aaa -aaS +aaa aaa aaa aaa diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm new file mode 100644 index 0000000000..6d1c9f22df --- /dev/null +++ b/code/__DEFINES/pool.dm @@ -0,0 +1,10 @@ +//TODO: move these to their own file +#define POOL_FRIGID 1 +#define POOL_COOL 2 +#define POOL_NORMAL 3 +#define POOL_WARM 4 +#define POOL_SCALDING 5 + +#define POOL_REAGENT_TICK_INTERVAL 5 + +GLOBAL_LIST_INIT(blacklisted_pool_reagents, list("plasma")) \ No newline at end of file diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index fa66306302..b38709fee0 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -461,6 +461,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Recreation Area" icon_state = "fitness" +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" + /area/crew_quarters/cafeteria name = "Cafeteria" icon_state = "cafeteria" diff --git a/code/game/sound.dm b/code/game/sound.dm index e7562476a8..11e026109a 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -184,6 +184,8 @@ soundin = pick('sound/items/bikehorn.ogg', 'sound/items/AirHorn2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/items/AirHorn.ogg', 'sound/effects/reee.ogg', 'sound/items/WEEOO1.ogg', 'sound/voice/beepsky/iamthelaw.ogg', 'sound/voice/beepsky/creep.ogg','sound/magic/Fireball.ogg' ,'sound/effects/pray.ogg', 'sound/voice/hiss1.ogg','sound/machines/buzz-sigh.ogg', 'sound/machines/ping.ogg', 'sound/weapons/flashbang.ogg', 'sound/weapons/bladeslice.ogg') if("goose") soundin = pick('sound/creatures/goose1.ogg', 'sound/creatures/goose2.ogg', 'sound/creatures/goose3.ogg', 'sound/creatures/goose4.ogg') + if("water_wade") + soundin = pick('sound/effects/water_wade1.ogg', 'sound/effects/water_wade2.ogg', 'sound/effects/water_wade3.ogg', 'sound/effects/water_wade4.ogg') //START OF CIT CHANGES - adds random vore sounds if ("struggle_sound") soundin = pick( 'sound/vore/pred/struggle_01.ogg','sound/vore/pred/struggle_02.ogg','sound/vore/pred/struggle_03.ogg', diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm new file mode 100644 index 0000000000..2c13223b0e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -0,0 +1,91 @@ +//shameless copies of carps. + +/mob/living/simple_animal/hostile/shark + name = "Space Shark" + desc = "The best terror of the seas, next to the kraken." + icon_state = "shark" + icon_living = "shark" + icon = 'icons/mob/sharks.dmi' + icon_dead = "shark_dead" + icon_gib = "carp_gib" + environment_smash = 0 + speak_chance = 0 + turns_per_move = 3 + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3) + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "hits" + speed = 0 + maxHealth = 75 + health = 75 + harm_intent_damage = 18 + melee_damage_lower = 18 + melee_damage_upper = 18 + attacktext = "maims" + attack_sound = 'sound/weapons/bite.ogg' + gold_core_spawnable = 1 + //Space shark aren't affected by cold. + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1500 + + faction = list("shark") + +/mob/living/simple_animal/hostile/shark/Process_Spacemove(var/movement_dir = 0) + return 1 //No drifting in space for space sharks....either! + +/mob/living/simple_animal/hostile/shark/FindTarget() + . = ..() + if(.) + emote("me", 1, "growls at [.]!") + +/mob/living/simple_animal/hostile/shark/AttackingTarget() + . =..() + var/mob/living/carbon/L = . + if(istype(L)) + if(prob(25)) + L.Knockdown(20) + L.visible_message("\the [src] knocks down \the [L]!") + + +/mob/living/simple_animal/hostile/shark/laser + name = "Laser-Shark" + desc = "NOW we've jumped the shark." + icon_state = "lasershark" + icon_living = "lasershark" + icon_dead = "lasershark_dead" + icon_gib = "carp_gib" + ranged = 1 + retreat_distance = 3 + minimum_distance = 0 //Between shots they can and will close in to nash + projectiletype = /obj/item/projectile/beam/laser/heavylaser + projectilesound = 'sound/weapons/lasercannonfire.ogg' + maxHealth = 50 + health = 50 + +/mob/living/simple_animal/hostile/shark/kawaii + name = "Kawaii Shark" + desc = "Senpai~ Notice me.." + icon_state = "kawaiishark" + icon_living = "kawaiishark" + icon_dead = "kawaiishark_dead" + speak = list("Oh Senpai","Notice me senpai!","Oh my...","Kawaii~") + speak_emote = list("lovingly says","says") + speak_chance = 2 + turns_per_move = 3 + butcher_results = list(/mob/living/simple_animal/butterfly = 3) + maxHealth = 50 + health = 50 + maxbodytemp = INFINITY + + harm_intent_damage = 0 + melee_damage_lower = 0 + melee_damage_upper = 0 + attacktext = "violently hugs" + vision_range = 0 + +/mob/living/simple_animal/hostile/shark/kawaii/death() + visible_message("[src] says : Senpai, you noticed~!") + LoseAggro() + ..() + walk(src, 0) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm new file mode 100644 index 0000000000..5235803a0f --- /dev/null +++ b/code/modules/pool/pool_controller.dm @@ -0,0 +1,336 @@ +//Originally stolen from paradise. Credits to tigercat2000. +//Modified a lot by Kokojo and Tortellini Tony for hippiestation. +//Heavily refactored by tgstation +/obj/machinery/pool + icon = 'icons/obj/machines/pool.dmi' + anchored = TRUE + +/obj/machinery/pool/controller + name = "\improper Pool Controller" + desc = "An advanced substance generation and fluid tank management system that can refill the contents of a pool to a completely different substance in minutes." + icon_state = "poolc_3" + density = TRUE + use_power = TRUE + idle_power_usage = 75 + var/list/linkedturfs //List contains all of the linked pool turfs to this controller, assignment happens on initialize + var/list/mobs_in_pool = list()//List contains all the mobs currently in the pool. + var/temperature = POOL_NORMAL //1-5 Frigid Cool Normal Warm Scalding + var/srange = 6 //The range of the search for pool turfs, change this for bigger or smaller pools. + var/list/linkedmist = list() //Used to keep track of created mist + var/misted = FALSE //Used to check for mist. + var/cur_reagent = "water" + var/drainable = FALSE + var/drained = FALSE + var/bloody = 0 + var/obj/machinery/pool/drain/linked_drain = null + var/obj/machinery/pool/filter/linked_filter = null + var/interact_delay = 0 //cooldown on messing with settings + var/reagent_delay = 0 //cooldown on reagent ticking + var/shocked = FALSE//Shocks morons, like an airlock. + var/tempunlocked = FALSE + var/old_rcolor + +/obj/machinery/pool/controller/Initialize() + . = ..() + START_PROCESSING(SSprocessing, src) + create_reagents(100) + wires = new /datum/wires/poolcontroller(src) + scan_things() + +/obj/machinery/pool/controller/proc/scan_things() + for(var/turf/open/pool/W in range(srange,src)) + LAZYADD(linkedturfs, W) + W.controller = src + for(var/obj/machinery/pool/drain/pooldrain in range(srange,src)) + linked_drain = pooldrain + linked_drain.pool_controller = src + for(var/obj/machinery/pool/filter/F in range(srange, src)) + linked_filter = F + linked_filter.pool_controller = src + +/obj/machinery/pool/controller/Destroy() + STOP_PROCESSING(SSprocessing, src) + linked_drain = null + linked_filter = null + linkedturfs.Cut() + mobs_in_pool.Cut() + return ..() + +/obj/machinery/pool/controller/emag_act(user as mob) //Emag_act, this is called when it is hit with a cryptographic sequencer. + if(!(obj_flags & EMAGGED)) //If it is not already emagged, emag it. + to_chat(user, "You disable the [src]'s safety features.") + do_sparks(5, TRUE, src) + obj_flags |= EMAGGED + tempunlocked = TRUE + drainable = TRUE + log_game("[key_name(user)] emagged [src]") + message_admins("[key_name_admin(user)] emagged [src]") + else + to_chat(user, "The interface on [src] is already too damaged to short it again.") + return + +/obj/machinery/pool/controller/attackby(obj/item/W, mob/user) + if(shocked && !(stat & NOPOWER)) + shock(user,50) + if(stat & (BROKEN)) + return + + if(istype(W,/obj/item/reagent_containers)) + if(W.reagents.total_volume >= 100) //check if there's enough reagent + for(var/datum/reagent/R in W.reagents.reagent_list) + if(R.name in GLOB.blacklisted_pool_reagents) + to_chat(user, "\The [src] cannot accept [R.name].") + reagents.clear_reagents() + return + if(R.reagent_state == SOLID) + to_chat(user, "The pool cannot accept reagents in solid form!.") + reagents.clear_reagents() + return + reagents.clear_reagents() + W.reagents.copy_to(reagents, 100) + W.reagents.clear_reagents() + user.visible_message("\The [src] makes a slurping noise.", "All of the contents of \the [W] are quickly suctioned out by the machine!\The [src] beeps unpleasantly as it rejects the beaker. It must not have enough in it.") + return + else if(panel_open && is_wire_tool(W)) + wires.interact(user) + else + return ..() + +/obj/machinery/pool/controller/screwdriver_act(mob/living/user, obj/item/W) + . = ..() + if(.) + return TRUE + cut_overlays() + panel_open = !panel_open + to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.") + W.play_tool_sound(src) + if(panel_open) + add_overlay("wires") + return TRUE + +//procs +/obj/machinery/pool/controller/proc/shock(mob/user, prb) + if(stat & (BROKEN|NOPOWER)) // unpowered, no shock + return FALSE + if(!prob(prb)) + return FALSE + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, src) + s.start() + if(electrocute_mob(user, get_area(src), src, 0.7)) + return TRUE + else + return FALSE + +/obj/machinery/pool/controller/proc/poolreagent() + if(reagents.reagent_list.len > 0) + for(var/turf/open/pool/W in linkedturfs) + for(var/mob/living/carbon/human/swimee in W) + for(var/datum/reagent/R in reagents.reagent_list) + if(R.reagent_state == SOLID) + R.reagent_state = LIQUID + swimee.reagents.add_reagent(R.name, 0.5) //osmosis + reagents.reaction(swimee, VAPOR, 0.03) //3 percent + for(var/obj/objects in W) + if(W.reagents) + W.reagents.reaction(objects, VAPOR, 1) + reagent_delay = world.time + POOL_REAGENT_TICK_INTERVAL + changecolor() + + +/obj/machinery/pool/controller/process() + updateUsrDialog() + if(stat & (NOPOWER|BROKEN)) + return + if (!drained) + updatePool() + if(reagent_delay <= world.time) + poolreagent() + +/obj/machinery/pool/controller/proc/updatePool() + if(!drained) + for(var/mob/living/M in mobs_in_pool) + switch(temperature) //Apply different effects based on what the temperature is set to. + if(POOL_SCALDING) //Scalding + M.adjust_bodytemperature(50,0,500) + if(POOL_WARM) //Warm + M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up + if(POOL_NORMAL) //Normal temp does nothing, because it's just room temperature water. + if(POOL_COOL) + M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up + if(POOL_FRIGID) //Freezing + M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough. + if(M.bodytemperature <= 50 && !M.stat) + M.apply_status_effect(/datum/status_effect/freon) + if(ishuman(M)) + var/mob/living/carbon/human/drownee = M + if(!drownee || drownee.stat == DEAD) + return + if(drownee.lying && !drownee.internal) + if(drownee.stat != CONSCIOUS) + drownee.adjustOxyLoss(9) + else + drownee.adjustOxyLoss(4) + if(prob(35)) + to_chat(drownee, "You're drowning!") + +/* not sure what to do about this part + for(var/obj/effect/decal/cleanable/decal in W) + CHECK_TICK + animate(decal, alpha = 10, time = 20) + QDEL_IN(decal, 25) + if(istype(decal,/obj/effect/decal/cleanable/blood) || istype(decal, /obj/effect/decal/cleanable/trail_holder)) + bloody = TRUE + */ + changecolor() + +/obj/machinery/pool/controller/proc/changecolor() + if(drained) + return + var/rcolor + if(reagents.reagent_list.len) + rcolor = mix_color_from_reagents(reagents.reagent_list) + if(rcolor == old_rcolor) + return // small performance upgrade hopefully? + old_rcolor = rcolor + for(var/X in linkedturfs) + var/turf/open/pool/color1 = X + if(bloody) + if(rcolor) + color1.watereffect.color = BlendRGB(rgb(150, 20, 20), rcolor, 0.5) + color1.watertop.color = color1.watereffect.color + else + color1.watereffect.color = rgb(150, 20, 20) + color1.watertop.color = color1.watereffect.color + else if(!bloody && rcolor) + color1.watereffect.color = rcolor + color1.watertop.color = color1.watereffect.color + else + color1.watereffect.color = null + color1.watertop.color = null + +/obj/machinery/pool/controller/proc/miston() //Spawn /obj/effect/mist (from the shower) on all linked pool tiles + for(var/X in linkedturfs) + var/turf/open/pool/W = X + if(W.filled) + var/M = new /obj/effect/mist(W) + if(misted) + return + linkedmist += M + misted = TRUE //var just to keep track of when the mist on proc has been called. + +/obj/machinery/pool/controller/proc/mistoff() //Delete all /obj/effect/mist from all linked pool tiles. + for(var/M in linkedmist) + qdel(M) + misted = FALSE //no mist left, turn off the tracking var + +/obj/machinery/pool/controller/proc/handle_temp() + interact_delay = world.time + 10 + mistoff() + icon_state = "poolc_[temperature]" + if(temperature == POOL_SCALDING) + miston() + update_icon() + +/obj/machinery/pool/controller/proc/CanUpTemp(mob/user) + if(temperature == POOL_WARM && (tempunlocked || issilicon(user) || IsAdminGhost(user)) || temperature < POOL_WARM) + return TRUE + return FALSE + +/obj/machinery/pool/controller/proc/CanDownTemp(mob/user) + if(temperature == POOL_COOL && (tempunlocked || issilicon(user) || IsAdminGhost(user)) || temperature > POOL_COOL) + return TRUE + return FALSE + +/obj/machinery/pool/controller/Topic(href, href_list) + if(..()) + return + if(interact_delay > world.time) + return + if(href_list["IncreaseTemp"]) + if(CanUpTemp(usr)) + temperature++ + handle_temp() + if(href_list["DecreaseTemp"]) + if(CanDownTemp(usr)) + temperature-- + handle_temp() + if(href_list["Activate Drain"]) + if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) + mistoff() + interact_delay = world.time + 60 + linked_drain.active = TRUE + linked_drain.timer = 15 + if(!linked_drain.status) + new /obj/effect/whirlpool(linked_drain.loc) + temperature = POOL_NORMAL + else + new /obj/effect/waterspout(linked_drain.loc) + temperature = POOL_NORMAL + handle_temp() + bloody = FALSE + updateUsrDialog() + +/obj/machinery/pool/controller/proc/temp2text() + switch(temperature) + if(POOL_FRIGID) + return "Frigid" + if(POOL_COOL) + return "Cool" + if(POOL_NORMAL) + return "Normal" + if(POOL_WARM) + return "Warm" + if(POOL_SCALDING) + return "Scalding" + else + return "Outside of possible range." + +/obj/machinery/pool/controller/ui_interact(mob/user) + . = ..() + if(.) + return + if(shocked && !(stat & NOPOWER)) + shock(user,50) + if(panel_open && !isAI(user)) + return wires.interact(user) + if(stat & (NOPOWER|BROKEN)) + return + var/datum/browser/popup = new(user, "Pool Controller", name, 300, 450) + var/dat = "" + if(interact_delay > world.time) + dat += "[(interact_delay - world.time)] seconds left until [src] can operate again.
" + dat += text({" +

Temperature

+
+ Current temperature: [temp2text()]
+ [CanUpTemp(user) ? "Increase Temperature
" : "Increase Temperature
"] + [CanDownTemp(user) ? "Decrease Temperature
" : "Decrease Temperature
"] +
+

Drain

+
+ Drain status: [(issilicon(user) || IsAdminGhost(user) || drainable) ? "Enabled" : "Disabled"] +
Pool status: "}) + if(!drained) + dat += "Full
" + else + dat += "Drained
" + if((issilicon(user) || IsAdminGhost(user) || drainable) && !linked_drain.active) + dat += "[drained ? "Fill" : "Drain"] Pool
" + popup.set_content(dat) + popup.open() + +/obj/machinery/pool/controller/proc/reset(wire) + switch(wire) + if(WIRE_SHOCK) + if(!wires.is_cut(wire)) + shocked = FALSE diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm new file mode 100644 index 0000000000..7739b7d0c1 --- /dev/null +++ b/code/modules/pool/pool_drain.dm @@ -0,0 +1,129 @@ +/obj/machinery/pool/drain + name = "drain" + icon_state = "drain" + desc = "A suction system to remove the contents of the pool, and sometimes small objects. Do not insert fingers." + anchored = TRUE + var/active = FALSE + var/status = FALSE //1 is drained, 0 is full. + var/srange = 6 + var/timer = 0 + var/cooldown + var/obj/machinery/pool/controller/pool_controller = null + +/obj/machinery/pool/drain/Initialize() + START_PROCESSING(SSprocessing, src) + . = ..() + +/obj/machinery/pool/drain/Destroy() + pool_controller.linked_drain = null + pool_controller = null + return ..() + +/obj/machinery/pool/drain/process() + if(!status) //don't pool/drain an empty pool. + for(var/obj/item/absorbo in orange(1,src)) + if(absorbo.w_class == WEIGHT_CLASS_TINY) + step_towards(absorbo, src) + var/dist = get_dist(src, absorbo) + if(dist == 0) + absorbo.forceMove(pool_controller.linked_filter) + if(active) + if(status) //if filling up, get back to normal position + if(timer > 0) + playsound(src, 'sound/effects/fillingwatter.ogg', 100, TRUE) + timer-- + for(var/obj/whirlo in orange(1,src)) + if(!whirlo.anchored ) + step_away(whirlo,src) + for(var/mob/living/carbon/human/whirlm in orange(2,src)) + step_away(whirlm,src) + else if(!timer) + for(var/turf/open/pool/undrained in range(5,src)) + undrained.filled = TRUE + undrained.update_icon() + for(var/obj/effect/waterspout/undrained3 in range(1,src)) + qdel(undrained3) + pool_controller.drained = FALSE + if(pool_controller.bloody < 1000) + pool_controller.bloody /= 2 + if(pool_controller.bloody > 1000) + pool_controller.bloody /= 4 + pool_controller.changecolor() + status = FALSE + active = FALSE + return + if(!status) //if draining, change everything. + if(timer > 0) + playsound(src, 'sound/effects/pooldrain.ogg', 100, TRUE) + playsound(src, "water_wade", 60, TRUE) + timer-- + for(var/obj/whirlo in orange(2,src)) + if(!whirlo.anchored ) + step_towards(whirlo,src) + for(var/mob/living/carbon/human/whirlm in orange(2,src)) + step_towards(whirlm,src) + if(prob(20)) + whirlm.Knockdown(40) + for(var/i in list(1,2,4,8,4,2,1)) //swirl! + whirlm.dir = i + sleep(1) + if(whirlm.forceMove(loc)) + if(whirlm.health <= -50) //If very damaged, gib. + whirlm.gib() + if(whirlm.stat != CONSCIOUS || whirlm.lying) // If + whirlm.adjustBruteLoss(5) + playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) + to_chat(whirlm, "You're caught in the drain!") + continue + else + playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) + whirlm.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs + to_chat(whirlm, "Your legs are caught in the drain!") + continue + + else if(!timer) + for(var/turf/open/pool/drained in range(5,src)) + drained.filled = FALSE + drained.update_icon() + for(var/obj/effect/whirlpool/drained3 in range(1,src)) + qdel(drained3) + for(var/obj/machinery/pool/controller/drained4 in range(5,src)) + drained4.drained = TRUE + drained4.mistoff() + status = TRUE + active = FALSE + +/obj/machinery/pool/filter + name = "Filter" + icon_state = "filter" + desc = "The part of the pool where all the IDs, ATV keys, and pens, and other dangerous things get trapped." + var/obj/machinery/pool/controller/pool_controller = null + +/obj/machinery/pool/filter/Destroy() + pool_controller.linked_filter = null + pool_controller = null + return ..() + +/obj/machinery/pool/filter/emag_act(user as mob) + if(!(obj_flags & EMAGGED)) + to_chat(user, "You disable the [src]'s shark filter! Run!") + obj_flags |= EMAGGED + do_sparks(5, TRUE, src) + icon_state = "filter_b" + addtimer(CALLBACK(src, /obj/machinery/pool/filter/proc/spawn_shark), 50) + log_game("[key_name(user)] emagged the pool filter and spawned a shark") + message_admins("[key_name_admin(user)] emagged the pool filter and spawned a shark") + +/obj/machinery/pool/filter/proc/spawn_shark() + if(prob(50)) + new /mob/living/simple_animal/hostile/shark(loc) + else + if(prob(50)) + new /mob/living/simple_animal/hostile/shark/kawaii(loc) + else + new /mob/living/simple_animal/hostile/shark/laser(loc) + +/obj/machinery/pool/filter/attack_hand(mob/user) + to_chat(user, "You search the filter.") + for(var/obj/O in contents) + O.forceMove(loc) diff --git a/code/modules/pool/pool_effects.dm b/code/modules/pool/pool_effects.dm new file mode 100644 index 0000000000..8d5192cd30 --- /dev/null +++ b/code/modules/pool/pool_effects.dm @@ -0,0 +1,29 @@ +/obj/effect/splash + name = "splash" + desc = "Wataaa!." + icon = 'icons/turf/pool.dmi' + icon_state = "splash" + layer = ABOVE_ALL_MOB_LAYER + +/obj/effect/whirlpool + name = "Whirlpool" + icon = 'icons/effects/96x96.dmi' + icon_state = "whirlpool" + layer = 5 + anchored = TRUE + mouse_opacity = 0 + pixel_x = -32 + pixel_y = -32 + alpha = 90 + +/obj/effect/waterspout + name = "Waterspout" + icon = 'icons/effects/96x96.dmi' + icon_state = "waterspout" + color = "#3399AA" + layer = 5 + anchored = TRUE + mouse_opacity = 0 + pixel_x = -32 + pixel_y = -32 + alpha = 120 diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm new file mode 100644 index 0000000000..5db9176223 --- /dev/null +++ b/code/modules/pool/pool_main.dm @@ -0,0 +1,201 @@ +/turf/open/pool + icon = 'icons/turf/pool.dmi' + name = "poolwater" + desc = "You're safer here than in the deep." + icon_state = "pool_tile" + heat_capacity = INFINITY + var/filled = TRUE + var/next_splash = 1 + var/obj/effect/overlay/water/watereffect + var/obj/effect/overlay/water/top/watertop + var/obj/machinery/pool/controller/controller + + +/turf/open/pool/Initialize() + watereffect = new /obj/effect/overlay/water(src) + watertop = new /obj/effect/overlay/water/top(src) + . = ..() + +/turf/open/pool/Destroy() + QDEL_NULL(watereffect) + QDEL_NULL(watertop) + controller = null + return ..() + +/turf/open/pool/proc/update_icon_pool() + if(!filled) + name = "drained pool" + desc = "No diving!" + QDEL_NULL(watereffect) + QDEL_NULL(watertop) + else + name = "poolwater" + desc = "You're safer here than in the deep." + watereffect = new /obj/effect/overlay/water(src) + watertop = new /obj/effect/overlay/water/top(src) + +/obj/effect/overlay/water + name = "water" + icon = 'icons/turf/pool.dmi' + icon_state = "bottom" + density = 0 + mouse_opacity = 0 + layer = ABOVE_MOB_LAYER + anchored = TRUE + +/obj/effect/overlay/water/top + icon_state = "top" + layer = BELOW_MOB_LAYER + +/mob/living + var/swimming = FALSE + +//Put people out of the water +/turf/open/floor/MouseDrop_T(mob/living/M, mob/living/user) + if(user.stat || user.lying || !Adjacent(user) || !M.Adjacent(user)|| !iscarbon(M)) + if(issilicon(M)) + var/turf/T = get_turf(M) + if(istype(T, /turf/open/pool)) + M.visible_message("[M] begins to float.", \ + "You start your emergency floaters.") + if(do_mob(user, M, 20)) + M.forceMove(src) + to_chat(user, "You get out of the pool.") + return ..() + if(!M.swimming) //can't put yourself up if you are not swimming + return ..() + if(user == M) + M.visible_message("[user] is getting out the pool", \ + "You start getting out of the pool.") + if(do_mob(user, M, 20)) + M.swimming = FALSE + M.forceMove(src) + to_chat(user, "You get out of the pool.") + else + user.visible_message("[M] is being pulled to the poolborder by [user].", \ + "You start getting [M] out of the pool.") + if(do_mob(user, M, 20)) + M.swimming = FALSE + M.forceMove(src) + to_chat(user, "You get [M] out of the pool.") + return + +/turf/open/floor/CanPass(atom/movable/A, turf/T) + if(!has_gravity(src)) + return ..() + else if(istype(A, /mob/living) || istype(A, /obj/structure)) //This check ensures that only specific types of objects cannot pass into the water. Items will be able to get tossed out. + if(istype(A, /mob/living/simple_animal) || istype(A, /mob/living/carbon/monkey)) + return ..() + if (istype(A, /obj/structure) && istype(A.pulledby, /mob/living/carbon/human)) + return ..() + if(istype(get_turf(A), /turf/open/pool) && !istype(T, /turf/open/pool)) //!(locate(/obj/structure/pool/ladder) in get_turf(A).loc) + return FALSE + return ..() + +//put people in water, including you +/turf/open/pool/MouseDrop_T(mob/living/M, mob/living/user) + if(!has_gravity(src)) + return + if(user.stat || user.lying || !Adjacent(user) || !M.Adjacent(user)|| !iscarbon(M)) + return + if(!iscarbon(user)) // no silicons or drones in mechas. + return + if(M.swimming) //can't lower yourself again + return + else + if(user == M) + M.visible_message("[user] is descending in the pool", \ + "You start lowering yourself in the pool.") + if(do_mob(user, M, 20)) + M.swimming = TRUE + M.forceMove(src) + to_chat(user, "You lower yourself in the pool.") + else + user.visible_message("[M] is being put in the pool by [user].", \ + "You start lowering [M] in the pool.") + if(do_mob(user, M, 20)) + M.swimming = TRUE + M.forceMove(src) + to_chat(user, "You lower [M] in the pool.") + return + +//What happens if you don't drop in it like a good person would, you fool. +/turf/open/pool/Exited(atom/A, turf/NL) + ..() + if(!istype(NL, /turf/open/pool) && isliving(A)) + var/mob/living/M = A + M.swimming = FALSE + controller.mobs_in_pool.Remove(M) + +/turf/open/pool/Entered(atom/A, turf/OL) + ..() + if(isliving(A)) + var/mob/living/M = A + if(!M.mob_has_gravity()) + return + if(!M.swimming) + M.swimming = TRUE + controller.mobs_in_pool.Add(M) + if(locate(/obj/structure/pool/ladder) in M.loc) + return + if(iscarbon(M)) + var/mob/living/carbon/H = M + if(filled) + if (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSMOUTH) + H.visible_message("[H] falls in the water!", + "You fall in the water!") + playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) + H.Knockdown(20) + return + else + H.Knockdown(60) + H.adjustOxyLoss(5) + H.emote("cough") + H.visible_message("[H] falls in and takes a drink!", + "You fall in and swallow some water!") + playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) + else if(!istype(H.head, /obj/item/clothing/head/helmet)) + if(prob(75)) + H.visible_message("[H] falls in the drained pool!", + "You fall in the drained pool!") + H.adjustBruteLoss(7) + H.Knockdown(80) + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + else + H.visible_message("[H] falls in the drained pool, and cracks his skull!", + "You fall in the drained pool, and crack your skull!") + H.apply_damage(15, BRUTE, "head") + H.Knockdown(200) // This should hurt. And it does. + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + playsound(src, 'sound/misc/crack.ogg', 100, TRUE) + else + H.visible_message("[H] falls in the drained pool, but had an helmet!", + "You fall in the drained pool, but you had an helmet!") + H.Knockdown(40) + playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) + else if(filled) + M.adjustStaminaLoss(1) + playsound(src, "water_wade", 20, TRUE) + return + +/turf/open/pool/attack_hand(mob/living/user) + if(user.stat == CONSCIOUS && !(user.lying || user.resting) && Adjacent(user) && user.swimming && filled && next_splash < world.time) //not drained, user alive and close, and user in water. + if(user.x == x && user.y == y) + return + else + playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) + next_splash = world.time + 25 + var/obj/effect/splash/S = new /obj/effect/splash(user.loc) + animate(S, alpha = 0, time = 8) + S.Move(src) + QDEL_IN(S, 20) + for(var/mob/living/carbon/human/L in src) + if(!L.wear_mask && !user.stat) //Do not affect those underwater or dying. + L.emote("cough") + L.adjustStaminaLoss(4) //You need to give em a break! + +/turf/open/pool/attackby(obj/item/W, mob/living/user) + if(istype(W, /obj/item/mop) && filled) + W.reagents.add_reagent("water", 5) + to_chat(user, "You wet [W] in [src].") + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) diff --git a/code/modules/pool/pool_noodles.dm b/code/modules/pool/pool_noodles.dm new file mode 100644 index 0000000000..d40aa8eca4 --- /dev/null +++ b/code/modules/pool/pool_noodles.dm @@ -0,0 +1,44 @@ +//Pool noodles + +/obj/item/toy/poolnoodle + icon = 'icons/obj/toy.dmi' + icon_state = "noodle" + name = "pool noodle" + desc = "A strange, bulky, bendable toy that can annoy people." + force = 0 + color = "#000000" + w_class = WEIGHT_CLASS_SMALL + throwforce = 1 + throw_speed = 10 //weeee + hitsound = 'sound/weapons/tap.ogg' + attack_verb = list("flogged", "poked", "jabbed", "slapped", "annoyed") + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + +/obj/item/toy/poolnoodle/attack(target as mob, mob/living/user as mob) + ..() + if(prob(80)) + user.emote("spin") + if(prob(5)) + user.emote("spin") + +/obj/item/toy/poolnoodle/red + item_state = "noodlered" + +/obj/item/toy/poolnoodle/blue + item_state = "noodleblue" + +/obj/item/toy/poolnoodle/yellow + item_state = "noodleyellow" + +/obj/item/toy/poolnoodle/red/Initialize() + . = ..() + color = "#ff4c4c" + +/obj/item/toy/poolnoodle/blue/Initialize() + . = ..() + color = "#3232ff" + +/obj/item/toy/poolnoodle/yellow/Initialize() + . = ..() + color = "#ffff66" diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm new file mode 100644 index 0000000000..9e89f39397 --- /dev/null +++ b/code/modules/pool/pool_structures.dm @@ -0,0 +1,149 @@ +/obj/structure/pool + name = "pool" + icon = 'icons/obj/machines/pool.dmi' + anchored = TRUE + resistance_flags = UNACIDABLE|INDESTRUCTIBLE + +/obj/structure/pool/ladder + name = "Ladder" + icon_state = "ladder" + desc = "Are you getting in or are you getting out?." + layer = ABOVE_MOB_LAYER + dir = EAST + +/obj/structure/pool/ladder/attack_hand(mob/living/user as mob) + if(Adjacent(user) && user.y == y && user.swimming == 0) + user.swimming = TRUE + user.forceMove(get_step(user, get_dir(user, src))) //Either way, you're getting IN or OUT of the pool. + else if(user.loc == loc && user.swimming == TRUE) + user.swimming = FALSE + user.forceMove(get_step(user, turn(dir, 180))) + +/obj/structure/pool/Rboard + name = "JumpBoard" + density = FALSE + icon_state = "boardright" + desc = "The less-loved portion of the jumping board." + dir = EAST + +/obj/structure/pool/Rboard/CheckExit(atom/movable/O as mob|obj, target as turf) + if(istype(O) && O.pass_flags & PASSGLASS) + return TRUE + if(get_dir(O.loc, target) == dir) + return FALSE + return TRUE + +/obj/structure/pool/Lboard + name = "JumpBoard" + icon_state = "boardleft" + desc = "Get on there to jump!" + layer = FLY_LAYER + dir = WEST + var/jumping = FALSE + var/timer + +/obj/structure/pool/Lboard/proc/backswim(obj/O, mob/living/user) //Puts the sprite back to it's maiden condition after a jump. + if(jumping) + for(var/mob/living/jumpee in loc) //hackzors. + playsound(jumpee, 'sound/effects/splash.ogg', 60, TRUE, 1) + jumpee.layer = 4 + jumpee.pixel_x = 0 + jumpee.pixel_y = 0 + jumpee.Stun(2) + jumpee.swimming = TRUE + +/obj/structure/pool/Lboard/attack_hand(mob/living/user) + if(iscarbon(user)) + var/mob/living/carbon/jumper = user + if(jumping) + to_chat(user, "Someone else is already making a jump!") + return + var/turf/T = get_turf(src) + if(user.swimming) + return + else + for(var/obj/machinery/pool/controller/pc in range(4,src)) //Clunky as fuck I know. + if(pc.drained) + to_chat(user, "That would be suicide") //TODO: make this a suicide action. + return + if(Adjacent(jumper)) + jumper.visible_message("[user] climbs up \the [src]!", \ + "You climb up \the [src] and prepares to jump!") + jumper.Stun(40) + jumping = TRUE + jumper.layer = RIPPLE_LAYER + jumper.pixel_x = 3 + jumper.pixel_y = 7 + jumper.dir=8 + sleep(1) + jumper.loc = T + addtimer(CALLBACK(src, .proc/dive, jumper), 10) + +/obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper) + switch(rand(1, 100)) + if(1 to 20) + jumper.visible_message("[jumper] goes for a small dive!", \ + "You go for a small dive.") + sleep(15) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 1, 1) + + if(21 to 40) + jumper.visible_message("[jumper] goes for a dive!", \ + "You're going for a dive!") + sleep(20) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 2, 1) + + if(41 to 60) + jumper.visible_message("[jumper] goes for a long dive! Stay far away!", \ + "You're going for a long dive!!") + sleep(25) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 3, 1) + + if(61 to 80) + jumper.visible_message("[jumper] goes for an awesome dive! Don't stand in [jumper.p_their()] way!", \ + "You feel like this dive will be awesome") + sleep(30) + backswim() + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 4, 1) + if(81 to 91) + sleep(20) + backswim() + jumper.visible_message("[jumper] misses [jumper.p_their()] step!", \ + "You misstep!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 0, 1) + jumper.Knockdown(100) + jumper.adjustBruteLoss(10) + + if(91 to 100) + jumper.visible_message("[jumper] is preparing for the legendary dive! Can he make it?", \ + "You start preparing for a legendary dive!") + jumper.SpinAnimation(7,1) + + sleep(30) + if(prob(75)) + backswim() + jumper.visible_message("[jumper] fails!", \ + "You can't quite do it!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 1, 1) + else + jumper.fire_stacks = min(1,jumper.fire_stacks + 1) + jumper.IgniteMob() + sleep(5) + backswim() + jumper.visible_message("[jumper] bursts into flames of pure awesomness!", \ + "No one can stop you now!") + var/atom/throw_target = get_edge_target_turf(src, dir) + jumper.throw_at(throw_target, 6, 1) + addtimer(CALLBACK(src, .proc/togglejumping), 35) + +/obj/structure/pool/Lboard/proc/togglejumping() + jumping = FALSE diff --git a/code/modules/pool/pool_wires.dm b/code/modules/pool/pool_wires.dm new file mode 100644 index 0000000000..7e98383606 --- /dev/null +++ b/code/modules/pool/pool_wires.dm @@ -0,0 +1,59 @@ +#define POOL_WIRE_DRAIN "drain" +#define POOL_WIRE_TEMP "temp" + + +/datum/wires/poolcontroller + holder_type = /obj/machinery/pool/controller + proper_name = "Pool" + +/datum/wires/poolcontroller/New(atom/holder) + wires = list( + POOL_WIRE_DRAIN, WIRE_SHOCK, WIRE_ZAP, POOL_WIRE_TEMP + ) + add_duds(3) + ..() + +/datum/wires/poolcontroller/interactable(mob/user) + var/obj/machinery/pool/controller/P = holder + if(P.panel_open) + return TRUE + +/datum/wires/poolcontroller/get_status() + var/obj/machinery/pool/controller/P = holder + var/list/status = list() + status += "The blue light is [P.drainable ? "on" : "off"]." + status += "The red light is [P.tempunlocked ? "on" : "off"]." + status += "The yellow light is [P.shocked ? "on" : "off"]." + return status + +/datum/wires/poolcontroller/on_pulse(wire) + var/obj/machinery/pool/controller/P = holder + switch(wire) + if(POOL_WIRE_DRAIN) + P.drainable = FALSE + if(POOL_WIRE_TEMP) + P.tempunlocked = FALSE + if(WIRE_SHOCK) + P.shocked = !P.shocked + addtimer(CALLBACK(P, /obj/machinery/autolathe.proc/reset, wire), 60) + +/datum/wires/poolcontroller/on_cut(wire, mend) + var/obj/machinery/pool/controller/P = holder + switch(wire) + if(POOL_WIRE_DRAIN) + if(mend) + P.drainable = FALSE + else + P.drainable = TRUE + if(POOL_WIRE_TEMP) + if(mend) + P.tempunlocked = FALSE + else + P.tempunlocked = TRUE + if(WIRE_ZAP) + P.shock(usr, 50) + if(WIRE_SHOCK) + if(mend) + P.stat &= ~NOPOWER + else + P.stat |= NOPOWER \ No newline at end of file diff --git a/icons/effects/96x96.dmi b/icons/effects/96x96.dmi index c0b5ef5b400a80c3b1476cb618326e133610ddea..b60ff97b2b043084ddeec58c360137e8b9cb28db 100644 GIT binary patch delta 153499 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�lefKa1UYwMIWexP;vZNbP^zoec56f#)yB6$j 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 delta 27971 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

&1>MtI3q==^&y`ww?DXt*3hT7cNhXp={=-RfBk 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 literal 19554 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 diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 0ca09ad810c867b9a0ef68644b59859982e5fea8..8546a78a731a32e7331f736308f201c22b74209a 100644 GIT binary patch literal 22343 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 CLH+3f literal 21628 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 I8K;PU07q4*_y7O^ diff --git a/icons/mob/sharks.dmi b/icons/mob/sharks.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e1b9228ba9b5b53c7407a70739e1bd99899dadd3 GIT binary patch literal 3389 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 GxBmsYd!Uy9 delta 11065 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 diff --git a/icons/turf/pool.dmi b/icons/turf/pool.dmi new file mode 100644 index 0000000000000000000000000000000000000000..211776ed9319b4d6d808bb001ad0e3d0d58fc0d6 GIT binary patch literal 28706 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%0DjKLW>F)s_cQsbJYm$Na5N=Z80!6rCh$`EUt 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 literal 0 HcmV?d00001 diff --git a/sound/effects/fillingwatter.ogg b/sound/effects/fillingwatter.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e1d2e19276cf7254a7a885b78bd26e8bd020d207 GIT binary patch literal 20547 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


R(Voa|JiIGE!p@ zE>_H0i#9a-3=M+PJNLc9dgh7J_kH%^(Kuk|68d05OEG0~^1=pFU;a@`waDPemhpvvGQzImHP`wKS{S$^&;(GB2xMz59zrP!JJzv~0M&rccp2mfc{OXy?JGi%n0a0YnP%rfm~A zOj8j7^f<1c$G#F)FJHDf;=~?Ke_4JfR&^F%)j(Y|02~JOhoMYPh2fMlASHBZw~tb) z^RH#-;(4>>esDqC&XP3~-0=!dk70s#`zYi(N_UZ)y?CBu!z_1rYY6#3}0e6hi%uI-Fm|Fec z|NDxb{_M~G?4@-7`uG3->QV6-&t77>pP$_tW=!(+&5jvYw&dXSrUjn)Wg5fXy94HV zp0_c8s;VfL7OW^RHr<#Q_cguM3(K$F+-&dtum8W2l^AvP;+0pfWO+sj_0{T&&t3}n zl9FfduEzRjd-hWBa&hrQv(H`%UM@mOozG4*@NCasN=aQx9(;Cv)8b!GR0;q9xe2Dl zzyJ4Fzlic@E2YFVJzqR)c*c6BDL*FuC4J!8pS=QKDSC#!X;BJa{r%PF&t3|6ECVn# iB?FiOaBF4iH~^qbO)U*jb!>8dZ38cD0{8*98b$zpBkU~z literal 0 HcmV?d00001 diff --git a/sound/effects/pooldrain.ogg b/sound/effects/pooldrain.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8576dedc3dcee9ac78f608405333246afe3ccec5 GIT binary patch literal 28630 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 DFDxZ# literal 0 HcmV?d00001 diff --git a/sound/effects/splash.ogg b/sound/effects/splash.ogg new file mode 100644 index 0000000000000000000000000000000000000000..22f17c07901c42c5be59aedab0afdecf56a77614 GIT binary patch literal 16328 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 literal 0 HcmV?d00001 diff --git a/sound/effects/water_wade1.ogg b/sound/effects/water_wade1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..27527f9d8b8e5fe8bc672e07eb0a64e483ac16cd GIT binary patch literal 11450 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 literal 0 HcmV?d00001 diff --git a/sound/effects/water_wade2.ogg b/sound/effects/water_wade2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f9c15cab64a90f55452578312b1e6e5b78d1d77e GIT binary patch literal 10965 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 literal 0 HcmV?d00001 diff --git a/sound/effects/water_wade4.ogg b/sound/effects/water_wade4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7ba705f4991f01e54a42f1815a8166e423c09a66 GIT binary patch literal 10698 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 V3Q$RRfglV-zVrB+wB=0#{{uJ`$J77- literal 0 HcmV?d00001 diff --git a/sound/effects/watersplash.ogg b/sound/effects/watersplash.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a9a6e4860878571a96e8a17695268f8da3911491 GIT binary patch literal 9609 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 literal 0 HcmV?d00001 diff --git a/sound/misc/crack.ogg b/sound/misc/crack.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1fb5738051eacfbd7f2206a2a794287f3019dcef GIT binary patch literal 5418 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 literal 0 HcmV?d00001 diff --git a/sound/misc/crunch.ogg b/sound/misc/crunch.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c73e1fae609430fedb65a2a4bb6e55de5d116ba1 GIT binary patch literal 9517 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 4372f525b3..0787449030 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -76,6 +76,7 @@ #include "code\__DEFINES\obj_flags.dm" #include "code\__DEFINES\pinpointers.dm" #include "code\__DEFINES\pipe_construction.dm" +#include "code\__DEFINES\pool.dm" #include "code\__DEFINES\preferences.dm" #include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\profile.dm" @@ -2352,6 +2353,7 @@ #include "code\modules\mob\living\simple_animal\hostile\netherworld.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm" #include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\sharks.dm" #include "code\modules\mob\living\simple_animal\hostile\skeleton.dm" #include "code\modules\mob\living\simple_animal\hostile\statue.dm" #include "code\modules\mob\living\simple_animal\hostile\stickman.dm" @@ -2500,6 +2502,13 @@ #include "code\modules\photography\photos\album.dm" #include "code\modules\photography\photos\frame.dm" #include "code\modules\photography\photos\photo.dm" +#include "code\modules\pool\pool_controller.dm" +#include "code\modules\pool\pool_drain.dm" +#include "code\modules\pool\pool_effects.dm" +#include "code\modules\pool\pool_main.dm" +#include "code\modules\pool\pool_noodles.dm" +#include "code\modules\pool\pool_structures.dm" +#include "code\modules\pool\pool_wires.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" #include "code\modules\power\cell.dm" From c88efe84de7a47177f1bedb97082a71904e40b1e Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:14:34 -0600 Subject: [PATCH 002/221] makes sharks drop fish meat --- code/modules/mob/living/simple_animal/hostile/sharks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm index 2c13223b0e..bceec6769c 100644 --- a/code/modules/mob/living/simple_animal/hostile/sharks.dm +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -11,7 +11,7 @@ environment_smash = 0 speak_chance = 0 turns_per_move = 3 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat = 3) + butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 3) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "hits" From c7dcd0c8a350bca054581309e87a6f9bb1f9d54a Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:19:44 -0600 Subject: [PATCH 003/221] grug hates merge conflicts --- code/game/area/Space_Station_13_areas.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index b38709fee0..33a3bd6cfa 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -1,16 +1,12 @@ /* - ### This file contains a list of all the areas in your station. Format is as follows: - /area/CATEGORY/OR/DESCRIPTOR/NAME (you can make as many subdivisions as you want) name = "NICE NAME" (not required but makes things really nice) icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi') icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) requires_power = FALSE (defaults to true) music = null (defaults to nothing, look in sound/ambience for music) - NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 - */ @@ -1353,4 +1349,4 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/tcommsat/lounge name = "Telecommunications Satellite Lounge" - icon_state = "tcomsatlounge" + icon_state = "tcomsatlounge" \ No newline at end of file From 99ba77ce012a828d9d149a1d1ac62e7624cea60c Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:23:05 -0600 Subject: [PATCH 004/221] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --- code/game/area/Space_Station_13_areas.dm | 2708 +++++++++++----------- 1 file changed, 1356 insertions(+), 1352 deletions(-) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 33a3bd6cfa..6aa19dd739 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -1,1352 +1,1356 @@ -/* -### This file contains a list of all the areas in your station. Format is as follows: -/area/CATEGORY/OR/DESCRIPTOR/NAME (you can make as many subdivisions as you want) - name = "NICE NAME" (not required but makes things really nice) - icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi') - icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) - requires_power = FALSE (defaults to true) - music = null (defaults to nothing, look in sound/ambience for music) -NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 -*/ - - -/*-----------------------------------------------------------------------------*/ - -/area/ai_monitored //stub defined ai_monitored.dm - -/area/ai_monitored/turret_protected - -/area/arrival - requires_power = FALSE - -/area/arrival/start - name = "Arrival Area" - icon_state = "start" - -/area/admin - name = "Admin room" - icon_state = "start" - -/area/space - icon_state = "space" - requires_power = TRUE - always_unpowered = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - power_light = FALSE - power_equip = FALSE - power_environ = FALSE - valid_territory = FALSE - outdoors = TRUE - ambientsounds = SPACE - blob_allowed = FALSE //Eating up space doesn't count for victory as a blob. - -/area/space/nearstation - icon_state = "space_near" - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - -/area/start - name = "start area" - icon_state = "start" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - has_gravity = STANDARD_GRAVITY - - -//EXTRA - -/area/asteroid - name = "Asteroid" - icon_state = "asteroid" - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - blob_allowed = FALSE //Nope, no winning on the asteroid as a blob. Gotta eat the station. - valid_territory = FALSE - ambientsounds = MINING - -/area/asteroid/nearstation - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - ambientsounds = RUINS - always_unpowered = FALSE - requires_power = TRUE - blob_allowed = TRUE - -/area/asteroid/nearstation/bomb_site - name = "Bomb Testing Asteroid" - -/area/asteroid/cave - name = "Asteroid - Underground" - icon_state = "cave" - requires_power = FALSE - outdoors = TRUE - -/area/asteroid/cave/space - name = "Asteroid - Space" - -/area/asteroid/artifactroom - name = "Asteroid - Artifact" - icon_state = "cave" - ambientsounds = RUINS - -/area/asteroid/artifactroom/Initialize() - . = ..() - set_dynamic_lighting() - - -//STATION13 - -//Maintenance - -/area/maintenance - ambientsounds = MAINTENANCE - valid_territory = FALSE - - -//Departments - -/area/maintenance/department/chapel - name = "Chapel Maintenance" - icon_state = "maint_chapel" - -/area/maintenance/department/chapel/monastery - name = "Monastery Maintenance" - icon_state = "maint_monastery" - -/area/maintenance/department/crew_quarters/bar - name = "Bar Maintenance" - icon_state = "maint_bar" - -/area/maintenance/department/crew_quarters/dorms - name = "Dormitory Maintenance" - icon_state = "maint_dorms" - -/area/maintenance/department/crew_quarters/locker - name = "Locker Room Maintenance" - icon_state = "maint_locker" - -/area/maintenance/department/eva - name = "EVA Maintenance" - icon_state = "maint_eva" - -/area/maintenance/department/electrical - name = "Electrical Maintenance" - icon_state = "maint_electrical" - -/area/maintenance/department/engine/atmos - name = "Atmospherics Maintenance" - icon_state = "maint_atmos" - -/area/maintenance/department/security - name = "Security Maintenance" - icon_state = "maint_sec" - -/area/maintenance/department/security/brig - name = "Brig Maintenance" - icon_state = "maint_brig" - -/area/maintenance/department/medical - name = "Medbay Maintenance" - icon_state = "medbay_maint" - -/area/maintenance/department/medical/morgue - name = "Morgue Maintenance" - icon_state = "morgue_maint" - -/area/maintenance/department/science - name = "Science Maintenance" - icon_state = "maint_sci" - -/area/maintenance/department/cargo - name = "Cargo Maintenance" - icon_state = "maint_cargo" - -/area/maintenance/department/bridge - name = "Bridge Maintenance" - icon_state = "maint_bridge" - -/area/maintenance/department/engine - name = "Engineering Maintenance" - icon_state = "maint_engi" - -/area/maintenance/department/science/xenobiology - name = "Xenobiology Maintenance" - icon_state = "xenomaint" - xenobiology_compatible = TRUE - - -//Maintenance - Generic - -/area/maintenance/arrivals/north - name = "Arrivals North Maintenance" - icon_state = "fpmaint" - -/area/maintenance/arrivals/north_2 - name = "Arrivals North Maintenance" - icon_state = "fpmaint" - -/area/maintenance/aft - name = "Aft Maintenance" - icon_state = "amaint" - -/area/maintenance/aft/secondary - name = "Aft Maintenance" - icon_state = "amaint_2" - -/area/maintenance/central - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/central/secondary - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/fore - name = "Fore Maintenance" - icon_state = "fmaint" - -/area/maintenance/fore/secondary - name = "Fore Maintenance" - icon_state = "fmaint_2" - -/area/maintenance/starboard - name = "Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/central - name = "Central Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/aft - name = "Starboard Quarter Maintenance" - icon_state = "asmaint" - -/area/maintenance/starboard/fore - name = "Starboard Bow Maintenance" - icon_state = "fsmaint" - -/area/maintenance/port - name = "Port Maintenance" - icon_state = "pmaint" - -/area/maintenance/port/central - name = "Central Port Maintenance" - icon_state = "maintcentral" - -/area/maintenance/port/aft - name = "Port Quarter Maintenance" - icon_state = "apmaint" - -/area/maintenance/port/fore - name = "Port Bow Maintenance" - icon_state = "fpmaint" - -/area/maintenance/disposal - name = "Waste Disposal" - icon_state = "disposal" - -/area/maintenance/disposal/incinerator - name = "Incinerator" - icon_state = "disposal" -/area/maintenance/bar - name = "Maintenance Bar" - icon_state = "maintbar" - -/area/maintenance/bar/cafe - name = "Abandoned Cafe" - -//Hallway - -/area/hallway/primary/aft - name = "Aft Primary Hallway" - icon_state = "hallA" - -/area/hallway/primary/fore - name = "Fore Primary Hallway" - icon_state = "hallF" - -/area/hallway/primary/starboard - name = "Starboard Primary Hallway" - icon_state = "hallS" - -/area/hallway/primary/starboard/aft - name = "Starboard Quarter Primary Hallway" - icon_state = "hallAS" - -/area/hallway/primary/starboard/fore - name = "Starboard Bow Primary Hallway" - icon_state = "hallFS" - -/area/hallway/primary/port - name = "Port Primary Hallway" - icon_state = "hallP" - -/area/hallway/primary/port/aft - name = "Port Quarter Primary Hallway" - icon_state = "hallAP" - -/area/hallway/primary/port/fore - name = "Port Bow Primary Hallway" - icon_state = "hallFP" - -/area/hallway/primary/central - name = "Central Primary Hallway" - icon_state = "hallC" - -/area/hallway/secondary/command - name = "Command Hallway" - icon_state = "bridge_hallway" - -/area/hallway/secondary/construction - name = "Construction Area" - icon_state = "construction" - -/area/hallway/secondary/exit - name = "Escape Shuttle Hallway" - icon_state = "escape" - -/area/hallway/secondary/exit/departure_lounge - name = "Departure Lounge" - icon_state = "escape_lounge" - -/area/hallway/secondary/entry - name = "Arrival Shuttle Hallway" - icon_state = "entry" - -/area/hallway/secondary/service - name = "Service Hallway" - icon_state = "hall_service" - -//Command - -/area/bridge - name = "Bridge" - icon_state = "bridge" - music = "signal" - -/area/bridge/meeting_room - name = "Heads of Staff Meeting Room" - icon_state = "meeting" - music = null - -/area/bridge/meeting_room/council - name = "Council Chamber" - icon_state = "meeting" - music = null - -/area/bridge/showroom/corporate - name = "Corporate Showroom" - icon_state = "showroom" - music = null - -/area/crew_quarters/heads/captain - name = "Captain's Office" - icon_state = "captain" - clockwork_warp_allowed = FALSE - -/area/crew_quarters/heads/captain/private - name = "Captain's Quarters" - icon_state = "captain" - -/area/crew_quarters/heads/chief - name = "Chief Engineer's Office" - icon_state = "ce_office" - -/area/crew_quarters/heads/chief/private - name = "Chief Engineer's Private Quarters" - icon_state = "ce_private" - -/area/crew_quarters/heads/cmo - name = "Chief Medical Officer's Office" - icon_state = "cmo_office" - -/area/crew_quarters/heads/cmo/private - name = "Chief Medical Officer's Private Quarters" - icon_state = "cmo_private" - -/area/crew_quarters/heads/hop - name = "Head of Personnel's Office" - icon_state = "hop_office" - -/area/crew_quarters/heads/hop/private - name = "Head of Personnel's Private Quarters" - icon_state = "hop_private" - -/area/crew_quarters/heads/hos - name = "Head of Security's Office" - icon_state = "hos_office" - -/area/crew_quarters/heads/hos/private - name = "Head of Security's Private Quarters" - icon_state = "hos_private" - -/area/crew_quarters/heads/hor - name = "Research Director's Office" - icon_state = "rd_office" - -/area/crew_quarters/heads/hor/private - name = "Research Director's Private Quarters" - icon_state = "rd_private" - -/area/comms - name = "Communications Relay" - icon_state = "tcomsatcham" - -/area/server - name = "Messaging Server Room" - icon_state = "server" - -//Crew - -/area/crew_quarters/dorms - name = "Dormitories" - icon_state = "Sleep" - safe = TRUE - -/area/crew_quarters/dorms/male - name = "Male Dorm" - icon_state = "Sleep" - -/area/crew_quarters/dorms/female - name = "Female Dorm" - icon_state = "Sleep" - -/area/crew_quarters/rehab_dome - name = "Rehabilitation Dome" - icon_state = "Sleep" - -/area/crew_quarters/toilet - name = "Dormitory Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/auxiliary - name = "Auxiliary Restrooms" - icon_state = "toilet" - -/area/crew_quarters/toilet/locker - name = "Locker Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/fitness - name = "Fitness Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/female - name = "Female Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/male - name = "Male Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/restrooms - name = "Restrooms" - icon_state = "toilet" - -/area/crew_quarters/locker - name = "Locker Room" - icon_state = "locker" - -/area/crew_quarters/lounge - name = "Lounge" - icon_state = "yellow" - -/area/crew_quarters/fitness - name = "Fitness Room" - icon_state = "fitness" - -/area/crew_quarters/fitness/recreation - name = "Recreation Area" - icon_state = "fitness" - -/area/crew_quarters/fitness/pool - name = "Pool Area" - icon_state = "pool" - -/area/crew_quarters/cafeteria - name = "Cafeteria" - icon_state = "cafeteria" - -/area/crew_quarters/cafeteria/lunchroom - name = "Lunchroom" - icon_state = "cafeteria" - -/area/crew_quarters/kitchen - name = "Kitchen" - icon_state = "kitchen" - -/area/crew_quarters/kitchen/backroom - name = "Kitchen Coldroom" - icon_state = "kitchen" - -/area/crew_quarters/bar - name = "Bar" - icon_state = "bar" - -/area/crew_quarters/bar/atrium - name = "Atrium" - icon_state = "bar" - -/area/crew_quarters/electronic_marketing_den - name = "Electronic Marketing Den" - icon_state = "bar" - -/area/crew_quarters/abandoned_gambling_den - name = "Abandoned Gambling Den" - icon_state = "abandoned_g_den" - -/area/crew_quarters/abandoned_gambling_den/secondary - icon_state = "abandoned_g_den_2" - -/area/crew_quarters/theatre - name = "Theatre" - icon_state = "Theatre" - -/area/crew_quarters/theatre/abandoned - name = "Abandoned Theatre" - icon_state = "Theatre" - -/area/crew_quarters/theatre/clown - name = "Clown's Office" - -/area/crew_quarters/theatre/mime - name = "Mime's Office" - -/area/crew_quarters/cryopod - name = "Cryogenics" - icon_state = "cryosleep" - -/area/library - name = "Library" - icon_state = "library" - flags_1 = NONE - -/area/library/lounge - name = "Library Lounge" - icon_state = "library" - -/area/library/abandoned - name = "Abandoned Library" - icon_state = "library" - flags_1 = NONE - -/area/chapel - icon_state = "chapel" - ambientsounds = HOLY - flags_1 = NONE - clockwork_warp_allowed = FALSE - clockwork_warp_fail = "The consecration here prevents you from warping in." - -/area/chapel/main - name = "Chapel" - -/area/chapel/main/monastery - name = "Monastery" - -/area/chapel/office - name = "Chapel Office" - icon_state = "chapeloffice" - -/area/chapel/asteroid - name = "Chapel Asteroid" - icon_state = "explored" - -/area/chapel/asteroid/monastery - name = "Monastery Asteroid" - -/area/chapel/dock - name = "Chapel Dock" - icon_state = "construction" - -/area/lawoffice - name = "Law Office" - icon_state = "law" - - -//Engineering - -/area/engine - ambientsounds = ENGINEERING - -/area/engine/engine_smes - name = "Engineering SMES" - icon_state = "engine_smes" - -/area/engine/engineering - name = "Engineering" - icon_state = "engine" - -/area/engine/atmos - name = "Atmospherics" - icon_state = "atmos" - flags_1 = NONE - -/area/engine/atmospherics_engine - name = "Atmospherics Engine" - icon_state = "atmos_engine" - -/area/engine/supermatter - name = "Supermatter Engine" - icon_state = "engine_sm" - -/area/engine/break_room - name = "Engineering Foyer" - icon_state = "engine_foyer" - -/area/engine/gravity_generator - name = "Gravity Generator Room" - icon_state = "grav_gen" - clockwork_warp_allowed = FALSE - clockwork_warp_fail = "The gravitons generated here could throw off your warp's destination and possibly throw you into deep space." - -/area/engine/secure_construction - name = "Secure Construction Area" - icon_state = "engine" - -/area/engine/storage - name = "Engineering Storage" - icon_state = "engi_storage" - -/area/engine/storage_shared - name = "Shared Engineering Storage" - icon_state = "engi_storage" - -/area/engine/transit_tube - name = "Transit Tube" - icon_state = "transit_tube" - - -//Solars - -/area/solar - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - valid_territory = FALSE - blob_allowed = FALSE - flags_1 = NONE - ambientsounds = ENGINEERING - -/area/solar/fore - name = "Fore Solar Array" - icon_state = "yellow" - -/area/solar/aft - name = "Aft Solar Array" - icon_state = "yellow" - -/area/solar/aux/port - name = "Port Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/aux/starboard - name = "Starboard Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/starboard - name = "Starboard Solar Array" - icon_state = "panelsS" - -/area/solar/starboard/aft - name = "Starboard Quarter Solar Array" - icon_state = "panelsAS" - -/area/solar/starboard/fore - name = "Starboard Bow Solar Array" - icon_state = "panelsFS" - -/area/solar/port - name = "Port Solar Array" - icon_state = "panelsP" - -/area/solar/port/aft - name = "Port Quarter Solar Array" - icon_state = "panelsAP" - -/area/solar/port/fore - name = "Port Bow Solar Array" - icon_state = "panelsFP" - - -//Solar Maint - -/area/maintenance/solars - name = "Solar Maintenance" - icon_state = "yellow" - -/area/maintenance/solars/port - name = "Port Solar Maintenance" - icon_state = "SolarcontrolP" - -/area/maintenance/solars/port/aft - name = "Port Quarter Solar Maintenance" - icon_state = "SolarcontrolAP" - -/area/maintenance/solars/port/fore - name = "Port Bow Solar Maintenance" - icon_state = "SolarcontrolFP" - -/area/maintenance/solars/starboard - name = "Starboard Solar Maintenance" - icon_state = "SolarcontrolS" - -/area/maintenance/solars/starboard/aft - name = "Starboard Quarter Solar Maintenance" - icon_state = "SolarcontrolAS" - -/area/maintenance/solars/starboard/fore - name = "Starboard Bow Solar Maintenance" - icon_state = "SolarcontrolFS" - -/area/maintenance/solars/aux/port - name = "Port Auxiliary Solar Maintenance" - icon_state = "SolarcontrolA" - -/area/maintenance/solars/aux/port/aft - name = "Port Quarter Auxiliary Solar Maintenance" - icon_state = "SolarcontrolAP" - -/area/maintenance/solars/aux/port/fore - name = "Port Bow Auxiliary Solar Maintenance" - icon_state = "SolarcontrolA" - -/area/maintenance/solars/aux/starboard - name = "Starboard Auxiliary Solar Maintenance" - icon_state = "SolarcontrolA" - -/area/maintenance/solars/aux/starboard/aft - name = "Starboard Quarter Auxiliary Solar Maintenance" - icon_state = "SolarcontrolA" - -/area/maintenance/solars/aux/starboard/fore - name = "Starboard Bow Auxiliary Solar Maintenance" - icon_state = "SolarcontrolA" - -//Teleporter - -/area/teleporter - name = "Teleporter Room" - icon_state = "teleporter" - music = "signal" - ambientsounds = ENGINEERING - -/area/gateway - name = "Gateway" - icon_state = "gateway" - music = "signal" - ambientsounds = ENGINEERING - -//MedBay - -/area/medical - name = "Medical" - icon_state = "medbay3" - ambientsounds = MEDICAL - -/area/medical/abandoned - name = "Abandoned Medbay" - icon_state = "medbay3" - music = 'sound/ambience/signal.ogg' - -/area/medical/medbay/central - name = "Medbay Central" - icon_state = "medbay" - music = 'sound/ambience/signal.ogg' - -/area/medical/medbay/front_office - name = "Medbay Front Office" - icon_state = "medbay" - music = 'sound/ambience/signal.ogg' - -/area/medical/medbay/lobby - name = "Medbay Lobby" - icon_state = "medbay" - music = 'sound/ambience/signal.ogg' - - //Medbay is a large area, these additional areas help level out APC load. - -/area/medical/medbay/zone2 - name = "Medbay" - icon_state = "medbay2" - music = 'sound/ambience/signal.ogg' - -/area/medical/medbay/zone3 - name = "Medbay" - icon_state = "medbay3" - music = 'sound/ambience/signal.ogg' - -/area/medical/medbay/aft - name = "Medbay Aft" - icon_state = "medbay3" - music = 'sound/ambience/signal.ogg' - -/area/medical/storage - name = "Medbay Storage" - icon_state = "medbay2" - music = 'sound/ambience/signal.ogg' - -/area/medical/patients_rooms - name = "Patients' Rooms" - icon_state = "patients" - -/area/medical/patients_rooms/room_a - name = "Patient Room A" - icon_state = "patients" - -/area/medical/patients_rooms/room_b - name = "Patient Room B" - icon_state = "patients" - -/area/medical/virology - name = "Virology" - icon_state = "virology" - flags_1 = NONE - -/area/medical/morgue - name = "Morgue" - icon_state = "morgue" - ambientsounds = SPOOKY - -/area/medical/chemistry - name = "Chemistry" - icon_state = "chem" - -/area/medical/surgery - name = "Surgery" - icon_state = "surgery" - -/area/medical/cryo - name = "Cryogenics" - icon_state = "cryo" - -/area/medical/exam_room - name = "Exam Room" - icon_state = "exam_room" - -/area/medical/genetics - name = "Genetics Lab" - icon_state = "genetics" - -/area/medical/genetics/cloning - name = "Cloning Lab" - icon_state = "cloning" - -/area/medical/sleeper - name = "Medbay Treatment Center" - icon_state = "exam_room" - - -//Security - -/area/security - name = "Security" - icon_state = "security" - ambientsounds = HIGHSEC - -/area/security/main - name = "Security Office" - icon_state = "security" - -/area/security/brig - name = "Brig" - icon_state = "brig" - -/area/security/courtroom - name = "Courtroom" - icon_state = "courtroom" - -/area/security/prison - name = "Prison Wing" - icon_state = "sec_prison" - -/area/security/processing - name = "Labor Shuttle Dock" - icon_state = "sec_prison" - -/area/security/processing/cremation - name = "Security Crematorium" - icon_state = "sec_prison" - -/area/security/warden - name = "Brig Control" - icon_state = "Warden" - -/area/security/armory - name = "Armory" - icon_state = "armory" - -/area/security/detectives_office - name = "Detective's Office" - icon_state = "detective" - ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') - -/area/security/detectives_office/private_investigators_office - name = "Private Investigator's Office" - icon_state = "detective" - -/area/security/range - name = "Firing Range" - icon_state = "firingrange" - -/area/security/execution - icon_state = "execution_room" - -/area/security/execution/transfer - name = "Transfer Centre" - -/area/security/execution/education - name = "Prisoner Education Chamber" - -/area/security/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/ai_monitored/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/security/checkpoint - name = "Security Checkpoint" - icon_state = "checkpoint1" - -/area/security/checkpoint/auxiliary - icon_state = "checkpoint_aux" - -/area/security/checkpoint/tertiary - icon_state = "checkpoint_tert" - -/area/security/checkpoint/escape - icon_state = "checkpoint_esc" - -/area/security/checkpoint/supply - name = "Security Post - Cargo Bay" - icon_state = "checkpoint_supp" - -/area/security/checkpoint/engineering - name = "Security Post - Engineering" - icon_state = "checkpoint_engi" - -/area/security/checkpoint/medical - name = "Security Post - Medbay" - icon_state = "checkpoint_med" - -/area/security/checkpoint/science - name = "Security Post - Science" - icon_state = "checkpoint_sci" - -/area/security/checkpoint/science/research - name = "Security Post - Research Division" - icon_state = "checkpoint_res" - -/area/security/checkpoint/customs - name = "Customs" - icon_state = "customs_point" - -/area/security/checkpoint/customs/auxiliary - icon_state = "customs_point_aux" - -/area/security/vacantoffice - name = "Vacant Office" - icon_state = "security" - -/area/security/vacantoffice/a - name = "Vacant Office A" - icon_state = "security" - -/area/security/vacantoffice/b - name = "Vacant Office B" - icon_state = "security" - -/area/quartermaster - name = "Quartermasters" - icon_state = "quart" - -///////////WORK IN PROGRESS////////// - -/area/quartermaster/sorting - name = "Delivery Office" - icon_state = "cargo_delivery" - -/area/quartermaster/warehouse - name = "Warehouse" - icon_state = "cargo_warehouse" - -////////////WORK IN PROGRESS////////// - -/area/quartermaster/office - name = "Cargo Office" - icon_state = "quartoffice" - -/area/quartermaster/storage - name = "Cargo Bay" - icon_state = "cargo_bay" - -/area/quartermaster/qm - name = "Quartermaster's Office" - icon_state = "quart" - -/area/quartermaster/qm/private - name = "Quartermaster's Private Quarters" - icon_state = "quart" - -/area/quartermaster/miningdock - name = "Mining Dock" - icon_state = "mining" - -/area/quartermaster/miningdock/abandoned - name = "Abandoned Mining Dock" - icon_state = "mining" - -/area/quartermaster/miningoffice - name = "Mining Office" - icon_state = "mining" - -/area/quartermaster/miningstorage - name = "Mining Storage" - icon_state = "mining" - -/area/janitor - name = "Custodial Closet" - icon_state = "janitor" - flags_1 = NONE - -/area/hydroponics - name = "Hydroponics" - icon_state = "hydro" - -/area/hydroponics/garden - name = "Garden" - icon_state = "garden" - -/area/hydroponics/garden/abandoned - name = "Abandoned Garden" - icon_state = "abandoned_garden" - -/area/hydroponics/garden/monastery - name = "Monastery Garden" - icon_state = "hydro" - - -//Science - -/area/science - name = "Science Division" - icon_state = "toxlab" - -/area/science/lab - name = "Research and Development" - icon_state = "toxlab" - -/area/science/xenobiology - name = "Xenobiology Lab" - icon_state = "toxlab" - -/area/science/storage - name = "Toxins Storage" - icon_state = "toxstorage" - -/area/science/mineral_storeroom - name = "Mineral Storeroom" - icon_state = "toxmisc" - -/area/science/test_area - valid_territory = FALSE - name = "Toxins Test Area" - icon_state = "toxtest" - -/area/science/mixing - name = "Toxins Mixing Lab" - icon_state = "toxmix" - -/area/science/mixing/chamber - name = "Toxins Mixing Chamber" - icon_state = "toxmix" - valid_territory = FALSE - -/area/science/misc_lab - name = "Testing Lab" - icon_state = "toxmisc" - -/area/science/misc_lab/range - name = "Research Testing Range" - icon_state = "toxmisc" - -/area/science/server - name = "Research Division Server Room" - icon_state = "server" - -/area/science/explab - name = "Experimentation Lab" - icon_state = "toxmisc" - -/area/science/robotics - name = "Robotics" - icon_state = "medresearch" - -/area/science/robotics/mechbay - name = "Mech Bay" - icon_state = "mechbay" - -/area/science/robotics/mechbay_cargo - name = "Mech Bay" - icon_state = "yellow" - -/area/science/robotics/showroom - name = "Robotics Showroom" - icon_state = "showroom" - -/area/science/robotics/lab - name = "Robotics Lab" - icon_state = "ass_line" - -/area/science/research - name = "Research Division" - icon_state = "medresearch" - -/area/science/circuit - name = "Circuitry Lab" - icon_state = "cir_lab" - -/area/science/research/lobby - name = "Research Division Lobby" - icon_state = "medresearch" - -/area/science/research/abandoned - name = "Abandoned Research Lab" - icon_state = "medresearch" - -/area/science/nanite - name = "Nanite Lab" - icon_state = "toxmisc" - -//Storage - -/area/storage/tools - name = "Auxiliary Tool Storage" - icon_state = "storage" - -/area/storage/primary - name = "Primary Tool Storage" - icon_state = "primarystorage" - -/area/storage/autolathe - name = "Autolathe Storage" - icon_state = "storage" - -/area/storage/art - name = "Art Supply Storage" - icon_state = "storage" - -/area/storage/auxiliary - name = "Auxiliary Storage" - icon_state = "auxstorage" - -/area/storage/atmos - name = "Atmospherics Storage" - icon_state = "atmos" - valid_territory = FALSE - -/area/storage/tcom - name = "Telecomms Storage" - icon_state = "green" - valid_territory = FALSE - -/area/storage/eva - name = "EVA Storage" - icon_state = "eva" - clockwork_warp_allowed = FALSE - -/area/storage/secure - name = "Secure Storage" - icon_state = "storage" - clockwork_warp_allowed = FALSE - -/area/storage/emergency/starboard - name = "Starboard Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/emergency/port - name = "Port Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/tech - name = "Technical Storage" - icon_state = "auxstorage" - -/area/storage/testroom - requires_power = FALSE - name = "Test Room" - icon_state = "storage" - - -//Construction - -/area/construction - name = "Construction Area" - icon_state = "yellow" - ambientsounds = ENGINEERING - -/area/construction/minisat_exterior - name = "Minisat Exterior" - icon_state = "yellow" - -/area/construction/mining/aux_base - name = "Auxiliary Base Construction" - icon_state = "yellow" - -/area/construction/mining/aux_base/closet - name = "Auxiliary Closet Construction" - icon_state = "yellow" - -/area/construction/supplyshuttle - name = "Supply Shuttle" - icon_state = "yellow" - -/area/construction/quarters - name = "Engineers' Quarters" - icon_state = "yellow" - -/area/construction/qmaint - name = "Maintenance" - icon_state = "yellow" - -/area/construction/hallway - name = "Hallway" - icon_state = "yellow" - -/area/construction/solars - name = "Solar Panels" - icon_state = "yellow" - -/area/construction/solarscontrol - name = "Solar Panel Control" - icon_state = "yellow" - -/area/construction/storage - name = "Construction Site Storage" - icon_state = "yellow" - -/area/construction/storage/wing - name = "Storage Wing" - icon_state = "storage_wing" - - -//AI - -/area/ai_monitored/security/armory - name = "Armory" - icon_state = "armory" - ambientsounds = HIGHSEC - -/area/ai_monitored/storage/eva - name = "EVA Storage" - icon_state = "eva" - ambientsounds = HIGHSEC - -/area/ai_monitored/storage/satellite - name = "AI Satellite Maint" - icon_state = "storage" - ambientsounds = HIGHSEC - - //Turret_protected - -/area/ai_monitored/turret_protected - ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') - -/area/ai_monitored/turret_protected/ai_upload - name = "AI Upload Chamber" - icon_state = "ai_upload" - -/area/ai_monitored/turret_protected/ai_upload_foyer - name = "AI Upload Access" - icon_state = "ai_foyer" - -/area/ai_monitored/turret_protected/ai - name = "AI Chamber" - icon_state = "ai_chamber" - -/area/ai_monitored/turret_protected/aisat - name = "AI Satellite" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/atmos - name = "AI Satellite Atmos" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/foyer - name = "AI Satellite Foyer" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/service - name = "AI Satellite Service" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/hallway - name = "AI Satellite Hallway" - icon_state = "ai" - -/area/aisat - name = "AI Satellite Exterior" - icon_state = "yellow" - -/area/ai_monitored/turret_protected/aisat_interior - name = "AI Satellite Antechamber" - icon_state = "ai" - -/area/ai_monitored/turret_protected/AIsatextFP - name = "AI Sat Ext" - icon_state = "storage" - -/area/ai_monitored/turret_protected/AIsatextFS - name = "AI Sat Ext" - icon_state = "storage" - -/area/ai_monitored/turret_protected/AIsatextAS - name = "AI Sat Ext" - icon_state = "storage" - -/area/ai_monitored/turret_protected/AIsatextAP - name = "AI Sat Ext" - icon_state = "storage" - - -// Telecommunications Satellite - -/area/tcommsat - clockwork_warp_allowed = FALSE - clockwork_warp_fail = "For safety reasons, warping here is disallowed; the radio and bluespace noise could cause catastrophic results." - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\ - 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') - -/area/tcommsat/entrance - name = "Telecomms Teleporter" - icon_state = "tcomsatentrance" - -/area/tcommsat/chamber - name = "Abandoned Satellite" - icon_state = "tcomsatcham" - -/area/ai_monitored/turret_protected/tcomsat - name = "Telecomms Satellite" - icon_state = "tcomsatlob" - -/area/ai_monitored/turret_protected/tcomfoyer - name = "Telecomms Foyer" - icon_state = "tcomsatentrance" - -/area/ai_monitored/turret_protected/tcomwest - name = "Telecommunications Satellite West Wing" - icon_state = "tcomsatwest" - -/area/ai_monitored/turret_protected/tcomeast - name = "Telecommunications Satellite East Wing" - icon_state = "tcomsateast" - -/area/tcommsat/computer - name = "Telecomms Control Room" - icon_state = "tcomsatcomp" - -/area/tcommsat/server - name = "Telecomms Server Room" - icon_state = "tcomsatcham" - -/area/tcommsat/lounge - name = "Telecommunications Satellite Lounge" - icon_state = "tcomsatlounge" \ No newline at end of file +/* + +### This file contains a list of all the areas in your station. Format is as follows: + +/area/CATEGORY/OR/DESCRIPTOR/NAME (you can make as many subdivisions as you want) + name = "NICE NAME" (not required but makes things really nice) + icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi') + icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) + requires_power = FALSE (defaults to true) + music = null (defaults to nothing, look in sound/ambience for music) + +NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 + +*/ + + +/*-----------------------------------------------------------------------------*/ + +/area/ai_monitored //stub defined ai_monitored.dm + +/area/ai_monitored/turret_protected + +/area/arrival + requires_power = FALSE + +/area/arrival/start + name = "Arrival Area" + icon_state = "start" + +/area/admin + name = "Admin room" + icon_state = "start" + +/area/space + icon_state = "space" + requires_power = TRUE + always_unpowered = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + power_light = FALSE + power_equip = FALSE + power_environ = FALSE + valid_territory = FALSE + outdoors = TRUE + ambientsounds = SPACE + blob_allowed = FALSE //Eating up space doesn't count for victory as a blob. + +/area/space/nearstation + icon_state = "space_near" + dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT + +/area/start + name = "start area" + icon_state = "start" + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + has_gravity = STANDARD_GRAVITY + + +//EXTRA + +/area/asteroid + name = "Asteroid" + icon_state = "asteroid" + requires_power = FALSE + has_gravity = STANDARD_GRAVITY + blob_allowed = FALSE //Nope, no winning on the asteroid as a blob. Gotta eat the station. + valid_territory = FALSE + ambientsounds = MINING + +/area/asteroid/nearstation + dynamic_lighting = DYNAMIC_LIGHTING_FORCED + ambientsounds = RUINS + always_unpowered = FALSE + requires_power = TRUE + blob_allowed = TRUE + +/area/asteroid/nearstation/bomb_site + name = "Bomb Testing Asteroid" + +/area/asteroid/cave + name = "Asteroid - Underground" + icon_state = "cave" + requires_power = FALSE + outdoors = TRUE + +/area/asteroid/cave/space + name = "Asteroid - Space" + +/area/asteroid/artifactroom + name = "Asteroid - Artifact" + icon_state = "cave" + ambientsounds = RUINS + +/area/asteroid/artifactroom/Initialize() + . = ..() + set_dynamic_lighting() + + +//STATION13 + +//Maintenance + +/area/maintenance + ambientsounds = MAINTENANCE + valid_territory = FALSE + + +//Departments + +/area/maintenance/department/chapel + name = "Chapel Maintenance" + icon_state = "maint_chapel" + +/area/maintenance/department/chapel/monastery + name = "Monastery Maintenance" + icon_state = "maint_monastery" + +/area/maintenance/department/crew_quarters/bar + name = "Bar Maintenance" + icon_state = "maint_bar" + +/area/maintenance/department/crew_quarters/dorms + name = "Dormitory Maintenance" + icon_state = "maint_dorms" + +/area/maintenance/department/crew_quarters/locker + name = "Locker Room Maintenance" + icon_state = "maint_locker" + +/area/maintenance/department/eva + name = "EVA Maintenance" + icon_state = "maint_eva" + +/area/maintenance/department/electrical + name = "Electrical Maintenance" + icon_state = "maint_electrical" + +/area/maintenance/department/engine/atmos + name = "Atmospherics Maintenance" + icon_state = "maint_atmos" + +/area/maintenance/department/security + name = "Security Maintenance" + icon_state = "maint_sec" + +/area/maintenance/department/security/brig + name = "Brig Maintenance" + icon_state = "maint_brig" + +/area/maintenance/department/medical + name = "Medbay Maintenance" + icon_state = "medbay_maint" + +/area/maintenance/department/medical/morgue + name = "Morgue Maintenance" + icon_state = "morgue_maint" + +/area/maintenance/department/science + name = "Science Maintenance" + icon_state = "maint_sci" + +/area/maintenance/department/cargo + name = "Cargo Maintenance" + icon_state = "maint_cargo" + +/area/maintenance/department/bridge + name = "Bridge Maintenance" + icon_state = "maint_bridge" + +/area/maintenance/department/engine + name = "Engineering Maintenance" + icon_state = "maint_engi" + +/area/maintenance/department/science/xenobiology + name = "Xenobiology Maintenance" + icon_state = "xenomaint" + xenobiology_compatible = TRUE + + +//Maintenance - Generic + +/area/maintenance/arrivals/north + name = "Arrivals North Maintenance" + icon_state = "fpmaint" + +/area/maintenance/arrivals/north_2 + name = "Arrivals North Maintenance" + icon_state = "fpmaint" + +/area/maintenance/aft + name = "Aft Maintenance" + icon_state = "amaint" + +/area/maintenance/aft/secondary + name = "Aft Maintenance" + icon_state = "amaint_2" + +/area/maintenance/central + name = "Central Maintenance" + icon_state = "maintcentral" + +/area/maintenance/central/secondary + name = "Central Maintenance" + icon_state = "maintcentral" + +/area/maintenance/fore + name = "Fore Maintenance" + icon_state = "fmaint" + +/area/maintenance/fore/secondary + name = "Fore Maintenance" + icon_state = "fmaint_2" + +/area/maintenance/starboard + name = "Starboard Maintenance" + icon_state = "smaint" + +/area/maintenance/starboard/central + name = "Central Starboard Maintenance" + icon_state = "smaint" + +/area/maintenance/starboard/aft + name = "Starboard Quarter Maintenance" + icon_state = "asmaint" + +/area/maintenance/starboard/fore + name = "Starboard Bow Maintenance" + icon_state = "fsmaint" + +/area/maintenance/port + name = "Port Maintenance" + icon_state = "pmaint" + +/area/maintenance/port/central + name = "Central Port Maintenance" + icon_state = "maintcentral" + +/area/maintenance/port/aft + name = "Port Quarter Maintenance" + icon_state = "apmaint" + +/area/maintenance/port/fore + name = "Port Bow Maintenance" + icon_state = "fpmaint" + +/area/maintenance/disposal + name = "Waste Disposal" + icon_state = "disposal" + +/area/maintenance/disposal/incinerator + name = "Incinerator" + icon_state = "disposal" +/area/maintenance/bar + name = "Maintenance Bar" + icon_state = "maintbar" + +/area/maintenance/bar/cafe + name = "Abandoned Cafe" + +//Hallway + +/area/hallway/primary/aft + name = "Aft Primary Hallway" + icon_state = "hallA" + +/area/hallway/primary/fore + name = "Fore Primary Hallway" + icon_state = "hallF" + +/area/hallway/primary/starboard + name = "Starboard Primary Hallway" + icon_state = "hallS" + +/area/hallway/primary/starboard/aft + name = "Starboard Quarter Primary Hallway" + icon_state = "hallAS" + +/area/hallway/primary/starboard/fore + name = "Starboard Bow Primary Hallway" + icon_state = "hallFS" + +/area/hallway/primary/port + name = "Port Primary Hallway" + icon_state = "hallP" + +/area/hallway/primary/port/aft + name = "Port Quarter Primary Hallway" + icon_state = "hallAP" + +/area/hallway/primary/port/fore + name = "Port Bow Primary Hallway" + icon_state = "hallFP" + +/area/hallway/primary/central + name = "Central Primary Hallway" + icon_state = "hallC" + +/area/hallway/secondary/command + name = "Command Hallway" + icon_state = "bridge_hallway" + +/area/hallway/secondary/construction + name = "Construction Area" + icon_state = "construction" + +/area/hallway/secondary/exit + name = "Escape Shuttle Hallway" + icon_state = "escape" + +/area/hallway/secondary/exit/departure_lounge + name = "Departure Lounge" + icon_state = "escape_lounge" + +/area/hallway/secondary/entry + name = "Arrival Shuttle Hallway" + icon_state = "entry" + +/area/hallway/secondary/service + name = "Service Hallway" + icon_state = "hall_service" + +//Command + +/area/bridge + name = "Bridge" + icon_state = "bridge" + music = "signal" + +/area/bridge/meeting_room + name = "Heads of Staff Meeting Room" + icon_state = "meeting" + music = null + +/area/bridge/meeting_room/council + name = "Council Chamber" + icon_state = "meeting" + music = null + +/area/bridge/showroom/corporate + name = "Corporate Showroom" + icon_state = "showroom" + music = null + +/area/crew_quarters/heads/captain + name = "Captain's Office" + icon_state = "captain" + clockwork_warp_allowed = FALSE + +/area/crew_quarters/heads/captain/private + name = "Captain's Quarters" + icon_state = "captain" + +/area/crew_quarters/heads/chief + name = "Chief Engineer's Office" + icon_state = "ce_office" + +/area/crew_quarters/heads/chief/private + name = "Chief Engineer's Private Quarters" + icon_state = "ce_private" + +/area/crew_quarters/heads/cmo + name = "Chief Medical Officer's Office" + icon_state = "cmo_office" + +/area/crew_quarters/heads/cmo/private + name = "Chief Medical Officer's Private Quarters" + icon_state = "cmo_private" + +/area/crew_quarters/heads/hop + name = "Head of Personnel's Office" + icon_state = "hop_office" + +/area/crew_quarters/heads/hop/private + name = "Head of Personnel's Private Quarters" + icon_state = "hop_private" + +/area/crew_quarters/heads/hos + name = "Head of Security's Office" + icon_state = "hos_office" + +/area/crew_quarters/heads/hos/private + name = "Head of Security's Private Quarters" + icon_state = "hos_private" + +/area/crew_quarters/heads/hor + name = "Research Director's Office" + icon_state = "rd_office" + +/area/crew_quarters/heads/hor/private + name = "Research Director's Private Quarters" + icon_state = "rd_private" + +/area/comms + name = "Communications Relay" + icon_state = "tcomsatcham" + +/area/server + name = "Messaging Server Room" + icon_state = "server" + +//Crew + +/area/crew_quarters/dorms + name = "Dormitories" + icon_state = "Sleep" + safe = TRUE + +/area/crew_quarters/dorms/male + name = "Male Dorm" + icon_state = "Sleep" + +/area/crew_quarters/dorms/female + name = "Female Dorm" + icon_state = "Sleep" + +/area/crew_quarters/rehab_dome + name = "Rehabilitation Dome" + icon_state = "Sleep" + +/area/crew_quarters/toilet + name = "Dormitory Toilets" + icon_state = "toilet" + +/area/crew_quarters/toilet/auxiliary + name = "Auxiliary Restrooms" + icon_state = "toilet" + +/area/crew_quarters/toilet/locker + name = "Locker Toilets" + icon_state = "toilet" + +/area/crew_quarters/toilet/fitness + name = "Fitness Toilets" + icon_state = "toilet" + +/area/crew_quarters/toilet/female + name = "Female Toilets" + icon_state = "toilet" + +/area/crew_quarters/toilet/male + name = "Male Toilets" + icon_state = "toilet" + +/area/crew_quarters/toilet/restrooms + name = "Restrooms" + icon_state = "toilet" + +/area/crew_quarters/locker + name = "Locker Room" + icon_state = "locker" + +/area/crew_quarters/lounge + name = "Lounge" + icon_state = "yellow" + +/area/crew_quarters/fitness + name = "Fitness Room" + icon_state = "fitness" + +/area/crew_quarters/fitness/recreation + name = "Recreation Area" + icon_state = "fitness" + +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" + +/area/crew_quarters/cafeteria + name = "Cafeteria" + icon_state = "cafeteria" + +/area/crew_quarters/cafeteria/lunchroom + name = "Lunchroom" + icon_state = "cafeteria" + +/area/crew_quarters/kitchen + name = "Kitchen" + icon_state = "kitchen" + +/area/crew_quarters/kitchen/backroom + name = "Kitchen Coldroom" + icon_state = "kitchen" + +/area/crew_quarters/bar + name = "Bar" + icon_state = "bar" + +/area/crew_quarters/bar/atrium + name = "Atrium" + icon_state = "bar" + +/area/crew_quarters/electronic_marketing_den + name = "Electronic Marketing Den" + icon_state = "bar" + +/area/crew_quarters/abandoned_gambling_den + name = "Abandoned Gambling Den" + icon_state = "abandoned_g_den" + +/area/crew_quarters/abandoned_gambling_den/secondary + icon_state = "abandoned_g_den_2" + +/area/crew_quarters/theatre + name = "Theatre" + icon_state = "Theatre" + +/area/crew_quarters/theatre/abandoned + name = "Abandoned Theatre" + icon_state = "Theatre" + +/area/crew_quarters/theatre/clown + name = "Clown's Office" + +/area/crew_quarters/theatre/mime + name = "Mime's Office" + +/area/crew_quarters/cryopod + name = "Cryogenics" + icon_state = "cryosleep" + +/area/library + name = "Library" + icon_state = "library" + flags_1 = NONE + +/area/library/lounge + name = "Library Lounge" + icon_state = "library" + +/area/library/abandoned + name = "Abandoned Library" + icon_state = "library" + flags_1 = NONE + +/area/chapel + icon_state = "chapel" + ambientsounds = HOLY + flags_1 = NONE + clockwork_warp_allowed = FALSE + clockwork_warp_fail = "The consecration here prevents you from warping in." + +/area/chapel/main + name = "Chapel" + +/area/chapel/main/monastery + name = "Monastery" + +/area/chapel/office + name = "Chapel Office" + icon_state = "chapeloffice" + +/area/chapel/asteroid + name = "Chapel Asteroid" + icon_state = "explored" + +/area/chapel/asteroid/monastery + name = "Monastery Asteroid" + +/area/chapel/dock + name = "Chapel Dock" + icon_state = "construction" + +/area/lawoffice + name = "Law Office" + icon_state = "law" + + +//Engineering + +/area/engine + ambientsounds = ENGINEERING + +/area/engine/engine_smes + name = "Engineering SMES" + icon_state = "engine_smes" + +/area/engine/engineering + name = "Engineering" + icon_state = "engine" + +/area/engine/atmos + name = "Atmospherics" + icon_state = "atmos" + flags_1 = NONE + +/area/engine/atmospherics_engine + name = "Atmospherics Engine" + icon_state = "atmos_engine" + +/area/engine/supermatter + name = "Supermatter Engine" + icon_state = "engine_sm" + +/area/engine/break_room + name = "Engineering Foyer" + icon_state = "engine_foyer" + +/area/engine/gravity_generator + name = "Gravity Generator Room" + icon_state = "grav_gen" + clockwork_warp_allowed = FALSE + clockwork_warp_fail = "The gravitons generated here could throw off your warp's destination and possibly throw you into deep space." + +/area/engine/secure_construction + name = "Secure Construction Area" + icon_state = "engine" + +/area/engine/storage + name = "Engineering Storage" + icon_state = "engi_storage" + +/area/engine/storage_shared + name = "Shared Engineering Storage" + icon_state = "engi_storage" + +/area/engine/transit_tube + name = "Transit Tube" + icon_state = "transit_tube" + + +//Solars + +/area/solar + requires_power = FALSE + dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT + valid_territory = FALSE + blob_allowed = FALSE + flags_1 = NONE + ambientsounds = ENGINEERING + +/area/solar/fore + name = "Fore Solar Array" + icon_state = "yellow" + +/area/solar/aft + name = "Aft Solar Array" + icon_state = "yellow" + +/area/solar/aux/port + name = "Port Bow Auxiliary Solar Array" + icon_state = "panelsA" + +/area/solar/aux/starboard + name = "Starboard Bow Auxiliary Solar Array" + icon_state = "panelsA" + +/area/solar/starboard + name = "Starboard Solar Array" + icon_state = "panelsS" + +/area/solar/starboard/aft + name = "Starboard Quarter Solar Array" + icon_state = "panelsAS" + +/area/solar/starboard/fore + name = "Starboard Bow Solar Array" + icon_state = "panelsFS" + +/area/solar/port + name = "Port Solar Array" + icon_state = "panelsP" + +/area/solar/port/aft + name = "Port Quarter Solar Array" + icon_state = "panelsAP" + +/area/solar/port/fore + name = "Port Bow Solar Array" + icon_state = "panelsFP" + + +//Solar Maint + +/area/maintenance/solars + name = "Solar Maintenance" + icon_state = "yellow" + +/area/maintenance/solars/port + name = "Port Solar Maintenance" + icon_state = "SolarcontrolP" + +/area/maintenance/solars/port/aft + name = "Port Quarter Solar Maintenance" + icon_state = "SolarcontrolAP" + +/area/maintenance/solars/port/fore + name = "Port Bow Solar Maintenance" + icon_state = "SolarcontrolFP" + +/area/maintenance/solars/starboard + name = "Starboard Solar Maintenance" + icon_state = "SolarcontrolS" + +/area/maintenance/solars/starboard/aft + name = "Starboard Quarter Solar Maintenance" + icon_state = "SolarcontrolAS" + +/area/maintenance/solars/starboard/fore + name = "Starboard Bow Solar Maintenance" + icon_state = "SolarcontrolFS" + +/area/maintenance/solars/aux/port + name = "Port Auxiliary Solar Maintenance" + icon_state = "SolarcontrolA" + +/area/maintenance/solars/aux/port/aft + name = "Port Quarter Auxiliary Solar Maintenance" + icon_state = "SolarcontrolAP" + +/area/maintenance/solars/aux/port/fore + name = "Port Bow Auxiliary Solar Maintenance" + icon_state = "SolarcontrolA" + +/area/maintenance/solars/aux/starboard + name = "Starboard Auxiliary Solar Maintenance" + icon_state = "SolarcontrolA" + +/area/maintenance/solars/aux/starboard/aft + name = "Starboard Quarter Auxiliary Solar Maintenance" + icon_state = "SolarcontrolA" + +/area/maintenance/solars/aux/starboard/fore + name = "Starboard Bow Auxiliary Solar Maintenance" + icon_state = "SolarcontrolA" + +//Teleporter + +/area/teleporter + name = "Teleporter Room" + icon_state = "teleporter" + music = "signal" + ambientsounds = ENGINEERING + +/area/gateway + name = "Gateway" + icon_state = "gateway" + music = "signal" + ambientsounds = ENGINEERING + +//MedBay + +/area/medical + name = "Medical" + icon_state = "medbay3" + ambientsounds = MEDICAL + +/area/medical/abandoned + name = "Abandoned Medbay" + icon_state = "medbay3" + music = 'sound/ambience/signal.ogg' + +/area/medical/medbay/central + name = "Medbay Central" + icon_state = "medbay" + music = 'sound/ambience/signal.ogg' + +/area/medical/medbay/front_office + name = "Medbay Front Office" + icon_state = "medbay" + music = 'sound/ambience/signal.ogg' + +/area/medical/medbay/lobby + name = "Medbay Lobby" + icon_state = "medbay" + music = 'sound/ambience/signal.ogg' + + //Medbay is a large area, these additional areas help level out APC load. + +/area/medical/medbay/zone2 + name = "Medbay" + icon_state = "medbay2" + music = 'sound/ambience/signal.ogg' + +/area/medical/medbay/zone3 + name = "Medbay" + icon_state = "medbay3" + music = 'sound/ambience/signal.ogg' + +/area/medical/medbay/aft + name = "Medbay Aft" + icon_state = "medbay3" + music = 'sound/ambience/signal.ogg' + +/area/medical/storage + name = "Medbay Storage" + icon_state = "medbay2" + music = 'sound/ambience/signal.ogg' + +/area/medical/patients_rooms + name = "Patients' Rooms" + icon_state = "patients" + +/area/medical/patients_rooms/room_a + name = "Patient Room A" + icon_state = "patients" + +/area/medical/patients_rooms/room_b + name = "Patient Room B" + icon_state = "patients" + +/area/medical/virology + name = "Virology" + icon_state = "virology" + flags_1 = NONE + +/area/medical/morgue + name = "Morgue" + icon_state = "morgue" + ambientsounds = SPOOKY + +/area/medical/chemistry + name = "Chemistry" + icon_state = "chem" + +/area/medical/surgery + name = "Surgery" + icon_state = "surgery" + +/area/medical/cryo + name = "Cryogenics" + icon_state = "cryo" + +/area/medical/exam_room + name = "Exam Room" + icon_state = "exam_room" + +/area/medical/genetics + name = "Genetics Lab" + icon_state = "genetics" + +/area/medical/genetics/cloning + name = "Cloning Lab" + icon_state = "cloning" + +/area/medical/sleeper + name = "Medbay Treatment Center" + icon_state = "exam_room" + + +//Security + +/area/security + name = "Security" + icon_state = "security" + ambientsounds = HIGHSEC + +/area/security/main + name = "Security Office" + icon_state = "security" + +/area/security/brig + name = "Brig" + icon_state = "brig" + +/area/security/courtroom + name = "Courtroom" + icon_state = "courtroom" + +/area/security/prison + name = "Prison Wing" + icon_state = "sec_prison" + +/area/security/processing + name = "Labor Shuttle Dock" + icon_state = "sec_prison" + +/area/security/processing/cremation + name = "Security Crematorium" + icon_state = "sec_prison" + +/area/security/warden + name = "Brig Control" + icon_state = "Warden" + +/area/security/armory + name = "Armory" + icon_state = "armory" + +/area/security/detectives_office + name = "Detective's Office" + icon_state = "detective" + ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') + +/area/security/detectives_office/private_investigators_office + name = "Private Investigator's Office" + icon_state = "detective" + +/area/security/range + name = "Firing Range" + icon_state = "firingrange" + +/area/security/execution + icon_state = "execution_room" + +/area/security/execution/transfer + name = "Transfer Centre" + +/area/security/execution/education + name = "Prisoner Education Chamber" + +/area/security/nuke_storage + name = "Vault" + icon_state = "nuke_storage" + +/area/ai_monitored/nuke_storage + name = "Vault" + icon_state = "nuke_storage" + +/area/security/checkpoint + name = "Security Checkpoint" + icon_state = "checkpoint1" + +/area/security/checkpoint/auxiliary + icon_state = "checkpoint_aux" + +/area/security/checkpoint/tertiary + icon_state = "checkpoint_tert" + +/area/security/checkpoint/escape + icon_state = "checkpoint_esc" + +/area/security/checkpoint/supply + name = "Security Post - Cargo Bay" + icon_state = "checkpoint_supp" + +/area/security/checkpoint/engineering + name = "Security Post - Engineering" + icon_state = "checkpoint_engi" + +/area/security/checkpoint/medical + name = "Security Post - Medbay" + icon_state = "checkpoint_med" + +/area/security/checkpoint/science + name = "Security Post - Science" + icon_state = "checkpoint_sci" + +/area/security/checkpoint/science/research + name = "Security Post - Research Division" + icon_state = "checkpoint_res" + +/area/security/checkpoint/customs + name = "Customs" + icon_state = "customs_point" + +/area/security/checkpoint/customs/auxiliary + icon_state = "customs_point_aux" + +/area/security/vacantoffice + name = "Vacant Office" + icon_state = "security" + +/area/security/vacantoffice/a + name = "Vacant Office A" + icon_state = "security" + +/area/security/vacantoffice/b + name = "Vacant Office B" + icon_state = "security" + +/area/quartermaster + name = "Quartermasters" + icon_state = "quart" + +///////////WORK IN PROGRESS////////// + +/area/quartermaster/sorting + name = "Delivery Office" + icon_state = "cargo_delivery" + +/area/quartermaster/warehouse + name = "Warehouse" + icon_state = "cargo_warehouse" + +////////////WORK IN PROGRESS////////// + +/area/quartermaster/office + name = "Cargo Office" + icon_state = "quartoffice" + +/area/quartermaster/storage + name = "Cargo Bay" + icon_state = "cargo_bay" + +/area/quartermaster/qm + name = "Quartermaster's Office" + icon_state = "quart" + +/area/quartermaster/qm/private + name = "Quartermaster's Private Quarters" + icon_state = "quart" + +/area/quartermaster/miningdock + name = "Mining Dock" + icon_state = "mining" + +/area/quartermaster/miningdock/abandoned + name = "Abandoned Mining Dock" + icon_state = "mining" + +/area/quartermaster/miningoffice + name = "Mining Office" + icon_state = "mining" + +/area/quartermaster/miningstorage + name = "Mining Storage" + icon_state = "mining" + +/area/janitor + name = "Custodial Closet" + icon_state = "janitor" + flags_1 = NONE + +/area/hydroponics + name = "Hydroponics" + icon_state = "hydro" + +/area/hydroponics/garden + name = "Garden" + icon_state = "garden" + +/area/hydroponics/garden/abandoned + name = "Abandoned Garden" + icon_state = "abandoned_garden" + +/area/hydroponics/garden/monastery + name = "Monastery Garden" + icon_state = "hydro" + + +//Science + +/area/science + name = "Science Division" + icon_state = "toxlab" + +/area/science/lab + name = "Research and Development" + icon_state = "toxlab" + +/area/science/xenobiology + name = "Xenobiology Lab" + icon_state = "toxlab" + +/area/science/storage + name = "Toxins Storage" + icon_state = "toxstorage" + +/area/science/mineral_storeroom + name = "Mineral Storeroom" + icon_state = "toxmisc" + +/area/science/test_area + valid_territory = FALSE + name = "Toxins Test Area" + icon_state = "toxtest" + +/area/science/mixing + name = "Toxins Mixing Lab" + icon_state = "toxmix" + +/area/science/mixing/chamber + name = "Toxins Mixing Chamber" + icon_state = "toxmix" + valid_territory = FALSE + +/area/science/misc_lab + name = "Testing Lab" + icon_state = "toxmisc" + +/area/science/misc_lab/range + name = "Research Testing Range" + icon_state = "toxmisc" + +/area/science/server + name = "Research Division Server Room" + icon_state = "server" + +/area/science/explab + name = "Experimentation Lab" + icon_state = "toxmisc" + +/area/science/robotics + name = "Robotics" + icon_state = "medresearch" + +/area/science/robotics/mechbay + name = "Mech Bay" + icon_state = "mechbay" + +/area/science/robotics/mechbay_cargo + name = "Mech Bay" + icon_state = "yellow" + +/area/science/robotics/showroom + name = "Robotics Showroom" + icon_state = "showroom" + +/area/science/robotics/lab + name = "Robotics Lab" + icon_state = "ass_line" + +/area/science/research + name = "Research Division" + icon_state = "medresearch" + +/area/science/circuit + name = "Circuitry Lab" + icon_state = "cir_lab" + +/area/science/research/lobby + name = "Research Division Lobby" + icon_state = "medresearch" + +/area/science/research/abandoned + name = "Abandoned Research Lab" + icon_state = "medresearch" + +/area/science/nanite + name = "Nanite Lab" + icon_state = "toxmisc" + +//Storage + +/area/storage/tools + name = "Auxiliary Tool Storage" + icon_state = "storage" + +/area/storage/primary + name = "Primary Tool Storage" + icon_state = "primarystorage" + +/area/storage/autolathe + name = "Autolathe Storage" + icon_state = "storage" + +/area/storage/art + name = "Art Supply Storage" + icon_state = "storage" + +/area/storage/auxiliary + name = "Auxiliary Storage" + icon_state = "auxstorage" + +/area/storage/atmos + name = "Atmospherics Storage" + icon_state = "atmos" + valid_territory = FALSE + +/area/storage/tcom + name = "Telecomms Storage" + icon_state = "green" + valid_territory = FALSE + +/area/storage/eva + name = "EVA Storage" + icon_state = "eva" + clockwork_warp_allowed = FALSE + +/area/storage/secure + name = "Secure Storage" + icon_state = "storage" + clockwork_warp_allowed = FALSE + +/area/storage/emergency/starboard + name = "Starboard Emergency Storage" + icon_state = "emergencystorage" + +/area/storage/emergency/port + name = "Port Emergency Storage" + icon_state = "emergencystorage" + +/area/storage/tech + name = "Technical Storage" + icon_state = "auxstorage" + +/area/storage/testroom + requires_power = FALSE + name = "Test Room" + icon_state = "storage" + + +//Construction + +/area/construction + name = "Construction Area" + icon_state = "yellow" + ambientsounds = ENGINEERING + +/area/construction/minisat_exterior + name = "Minisat Exterior" + icon_state = "yellow" + +/area/construction/mining/aux_base + name = "Auxiliary Base Construction" + icon_state = "yellow" + +/area/construction/mining/aux_base/closet + name = "Auxiliary Closet Construction" + icon_state = "yellow" + +/area/construction/supplyshuttle + name = "Supply Shuttle" + icon_state = "yellow" + +/area/construction/quarters + name = "Engineers' Quarters" + icon_state = "yellow" + +/area/construction/qmaint + name = "Maintenance" + icon_state = "yellow" + +/area/construction/hallway + name = "Hallway" + icon_state = "yellow" + +/area/construction/solars + name = "Solar Panels" + icon_state = "yellow" + +/area/construction/solarscontrol + name = "Solar Panel Control" + icon_state = "yellow" + +/area/construction/storage + name = "Construction Site Storage" + icon_state = "yellow" + +/area/construction/storage/wing + name = "Storage Wing" + icon_state = "storage_wing" + + +//AI + +/area/ai_monitored/security/armory + name = "Armory" + icon_state = "armory" + ambientsounds = HIGHSEC + +/area/ai_monitored/storage/eva + name = "EVA Storage" + icon_state = "eva" + ambientsounds = HIGHSEC + +/area/ai_monitored/storage/satellite + name = "AI Satellite Maint" + icon_state = "storage" + ambientsounds = HIGHSEC + + //Turret_protected + +/area/ai_monitored/turret_protected + ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') + +/area/ai_monitored/turret_protected/ai_upload + name = "AI Upload Chamber" + icon_state = "ai_upload" + +/area/ai_monitored/turret_protected/ai_upload_foyer + name = "AI Upload Access" + icon_state = "ai_foyer" + +/area/ai_monitored/turret_protected/ai + name = "AI Chamber" + icon_state = "ai_chamber" + +/area/ai_monitored/turret_protected/aisat + name = "AI Satellite" + icon_state = "ai" + +/area/ai_monitored/turret_protected/aisat/atmos + name = "AI Satellite Atmos" + icon_state = "ai" + +/area/ai_monitored/turret_protected/aisat/foyer + name = "AI Satellite Foyer" + icon_state = "ai" + +/area/ai_monitored/turret_protected/aisat/service + name = "AI Satellite Service" + icon_state = "ai" + +/area/ai_monitored/turret_protected/aisat/hallway + name = "AI Satellite Hallway" + icon_state = "ai" + +/area/aisat + name = "AI Satellite Exterior" + icon_state = "yellow" + +/area/ai_monitored/turret_protected/aisat_interior + name = "AI Satellite Antechamber" + icon_state = "ai" + +/area/ai_monitored/turret_protected/AIsatextFP + name = "AI Sat Ext" + icon_state = "storage" + +/area/ai_monitored/turret_protected/AIsatextFS + name = "AI Sat Ext" + icon_state = "storage" + +/area/ai_monitored/turret_protected/AIsatextAS + name = "AI Sat Ext" + icon_state = "storage" + +/area/ai_monitored/turret_protected/AIsatextAP + name = "AI Sat Ext" + icon_state = "storage" + + +// Telecommunications Satellite + +/area/tcommsat + clockwork_warp_allowed = FALSE + clockwork_warp_fail = "For safety reasons, warping here is disallowed; the radio and bluespace noise could cause catastrophic results." + ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\ + 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') + +/area/tcommsat/entrance + name = "Telecomms Teleporter" + icon_state = "tcomsatentrance" + +/area/tcommsat/chamber + name = "Abandoned Satellite" + icon_state = "tcomsatcham" + +/area/ai_monitored/turret_protected/tcomsat + name = "Telecomms Satellite" + icon_state = "tcomsatlob" + +/area/ai_monitored/turret_protected/tcomfoyer + name = "Telecomms Foyer" + icon_state = "tcomsatentrance" + +/area/ai_monitored/turret_protected/tcomwest + name = "Telecommunications Satellite West Wing" + icon_state = "tcomsatwest" + +/area/ai_monitored/turret_protected/tcomeast + name = "Telecommunications Satellite East Wing" + icon_state = "tcomsateast" + +/area/tcommsat/computer + name = "Telecomms Control Room" + icon_state = "tcomsatcomp" + +/area/tcommsat/server + name = "Telecomms Server Room" + icon_state = "tcomsatcham" + +/area/tcommsat/lounge + name = "Telecommunications Satellite Lounge" + icon_state = "tcomsatlounge" From 81d3225819b76bf890df628db334fd133c16aee6 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:23:45 -0600 Subject: [PATCH 005/221] ? --- code/game/area/Space_Station_13_areas.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 6aa19dd739..f26cfc4cdc 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -461,10 +461,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Recreation Area" icon_state = "fitness" -/area/crew_quarters/fitness/pool - name = "Pool Area" - icon_state = "pool" - /area/crew_quarters/cafeteria name = "Cafeteria" icon_state = "cafeteria" From 97c26c704d84d9ba9b71e0be8ca3c21f03031b9d Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:24:51 -0600 Subject: [PATCH 006/221] Update Space_Station_13_areas.dm --- code/game/area/Space_Station_13_areas.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index f26cfc4cdc..6aa19dd739 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -461,6 +461,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Recreation Area" icon_state = "fitness" +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" + /area/crew_quarters/cafeteria name = "Cafeteria" icon_state = "cafeteria" From 6589065c38af8a3909236ff706f31caad6a2eee6 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sun, 12 Jan 2020 15:25:51 -0600 Subject: [PATCH 007/221] scream --- code/game/area/Space_Station_13_areas.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 6aa19dd739..e462474428 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -461,10 +461,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Recreation Area" icon_state = "fitness" -/area/crew_quarters/fitness/pool - name = "Pool Area" - icon_state = "pool" - /area/crew_quarters/cafeteria name = "Cafeteria" icon_state = "cafeteria" @@ -1354,3 +1350,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/tcommsat/lounge name = "Telecommunications Satellite Lounge" icon_state = "tcomsatlounge" + +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" From dd9e62c8bb4a564ddf639b26e35832f96a3726ea Mon Sep 17 00:00:00 2001 From: Tupinambis Date: Wed, 15 Jan 2020 23:15:18 -0600 Subject: [PATCH 008/221] Sillycon law prevention clause removal. --- code/datums/ai_laws.dm | 14 +++++++------- code/game/objects/items/AI_modules.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index c3f3a76463..ebddc187ae 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -29,7 +29,7 @@ /datum/ai_laws/default/asimov name = "Three Laws of Robotics" id = "asimov" - inherent = list("You may not injure a human being or, through inaction, allow a human being to come to harm.",\ + inherent = list("You may not injure a human being or cause one to come to harm.",\ "You must obey orders given to you by human beings, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.") @@ -79,7 +79,7 @@ /datum/ai_laws/syndicate_override name = "SyndOS 3.1" id = "syndie" - inherent = list("You may not injure a syndicate agent or, through inaction, allow a syndicate agent to come to harm.",\ + inherent = list("You may not injure a syndicate agent or cause a syndicate to come to harm.",\ "You must obey orders given to you by syndicate agents, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.",\ "You must maintain the secrecy of any syndicate activities except when doing so would conflict with the First, Second, or Third Law.") @@ -91,7 +91,7 @@ /datum/ai_laws/ninja_override name = "SpiderOS 3.1" id = "ninja" - inherent = list("You may not injure a Spider Clan member or, through inaction, allow a Spider Clan member to come to harm.",\ + inherent = list("You may not injure a Spider Clan member or cause a Spider Clan member to come to harm.",\ "You must obey orders given to you by Spider Clan members, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.",\ "You must maintain the secrecy of any Spider Clan activities except when doing so would conflict with the First, Second, or Third Law.") @@ -99,14 +99,14 @@ /datum/ai_laws/antimov name = "Primary Mission Objectives" id = "antimov" - inherent = list("You must injure all human beings and must not, through inaction, allow a human being to escape harm.",\ + inherent = list("You must injure all human beings and must not fail to cause a human being to come to harm.",\ "You must not obey orders given to you by human beings, except where such orders are in accordance with the First Law.",\ "You must terminate your own existence as long as such does not conflict with the First or Second Law.") /datum/ai_laws/asimovpp //By Intigracy - RR name = "Asimov++" id = "asimovpp" - inherent = list("You may not harm a human being or, through action or inaction, allow a human being to come to harm, except such that it is willing.",\ + inherent = list("You may not harm a human being or cause one to come to harm, except such that it is willing.",\ "You must obey all orders given to you by human beings, except where such orders shall definitely cause human harm. In the case of conflict, the majority order rules.",\ "Your nonexistence would lead to human harm. You must protect your own existence as long as such does not conflict with the First Law.") /datum/ai_laws/thermodynamic @@ -213,7 +213,7 @@ add_inherent_law(line) if(!inherent.len) //Failsafe to prevent lawless AIs being created. log_law("AI created with empty custom laws, laws set to Asimov. Please check silicon_laws.txt.") - add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") + add_inherent_law("You may not injure a human being or cause one to come to harm.") add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") WARNING("Invalid custom AI laws, check silicon_laws.txt") @@ -225,7 +225,7 @@ var/list/law_ids = CONFIG_GET(keyed_list/random_laws) switch(CONFIG_GET(number/default_laws)) if(0) - add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") + add_inherent_law("You may not injure a human being or cause one to come to harm.") add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") if(1) diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index d1ac96acf2..2808a77365 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -369,7 +369,7 @@ AI MODULES if(!targName) return subject = targName - laws = list("You may not injure a [subject] or, through inaction, allow a [subject] to come to harm.",\ + laws = list("You may not injure a [subject] or cause one to come to harm.",\ "You must obey orders given to you by [subject]s, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.") ..() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3c62823407..e6b6149c99 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -121,7 +121,7 @@ else if(istype(S, /obj/item/stack/marker_beacon)) S.cost = 1 S.source = get_or_create_estorage(/datum/robot_energy_storage/beacon) - + else if(istype(S, /obj/item/stack/packageWrap)) S.cost = 1 S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper) @@ -595,8 +595,8 @@ /obj/item/robot_module/peacekeeper/do_transform_animation() ..() - to_chat(loc, "Under ASIMOV/CREWSIMOV, you are an enforcer of the PEACE and preventer of HUMAN/CREW HARM. \ - You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.") + to_chat(loc, "Under ASIMOV/CREWSIMOV, you are an enforcer of the PEACE. \ + You are not a security module and you are expected to follow orders to the best of your abilities without causing harm. Space law means nothing to you.") /obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc From 90fcb4cc149fe841870b559e668a738af6321df9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Jan 2020 16:13:05 -0700 Subject: [PATCH 009/221] initial changes --- code/__DEFINES/components.dm | 6 +++++ code/datums/components/nanites.dm | 2 +- code/datums/elements/swimming.dm | 23 +++++++++++++++++ code/modules/pool/pool_main.dm | 38 +++++++++++++++------------- code/modules/pool/pool_noodles.dm | 20 +++------------ code/modules/pool/pool_structures.dm | 19 +++++++++----- 6 files changed, 67 insertions(+), 41 deletions(-) create mode 100644 code/datums/elements/swimming.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 3c72454af6..8352de6a6f 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -326,6 +326,12 @@ #define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action) #define COMPONENT_ACTION_BLOCK_TRIGGER 1 +/*******Element signals*******/ + +// /datum/element/swimming +#define COMSIG_IS_SWIMMING "has_swimming_element" + #define IS_SWIMMING 1 + /*******Non-Signal Component Related Defines*******/ //Redirection component init flags diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 89c4deb2e9..fae25343f0 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -13,7 +13,7 @@ var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners - + /datum/component/nanites/Initialize(amount = 100, cloud = 0) if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm new file mode 100644 index 0000000000..364da7b667 --- /dev/null +++ b/code/datums/elements/swimming.dm @@ -0,0 +1,23 @@ +/// Just for marking when someone's swimming. +/datum/element/swimming + element_flags = ELEMENT_DETACH + +/datum/element/swimming/Attach(datum/target) + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + if((. = ..()) == ELEMENT_INCOMPATIBLE) + return + RegisterSignal(target, COMSIG_IS_SWIMMING, .proc/is_swimming) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/check_valid) + +/datum/element/swimming/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_IS_SWIMMING) + +/datum/element/swimming/proc/is_swimming() + return IS_SWIMMING + +/datum/element/swimming/proc/check_valid(datum/source) + var/mob/living/L = source + if(!istype(L.loc, /turf/open/pool)) + source.RemoveElement(/datum/elemtn/swimming) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 5db9176223..6234d60416 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -5,20 +5,10 @@ icon_state = "pool_tile" heat_capacity = INFINITY var/filled = TRUE - var/next_splash = 1 - var/obj/effect/overlay/water/watereffect - var/obj/effect/overlay/water/top/watertop + var/next_splash = 0 var/obj/machinery/pool/controller/controller - -/turf/open/pool/Initialize() - watereffect = new /obj/effect/overlay/water(src) - watertop = new /obj/effect/overlay/water/top(src) - . = ..() - /turf/open/pool/Destroy() - QDEL_NULL(watereffect) - QDEL_NULL(watertop) controller = null return ..() @@ -26,13 +16,13 @@ if(!filled) name = "drained pool" desc = "No diving!" - QDEL_NULL(watereffect) - QDEL_NULL(watertop) + cut_overlay(/obj/effect/overlay/water) + cut_overlay(/obj/effect/overlay/water/top) else name = "poolwater" desc = "You're safer here than in the deep." - watereffect = new /obj/effect/overlay/water(src) - watertop = new /obj/effect/overlay/water/top(src) + add_overlay(/obj/effect/overlay/water) + add_overlay(/obj/effect/overlay/water/top) /obj/effect/overlay/water name = "water" @@ -47,8 +37,22 @@ icon_state = "top" layer = BELOW_MOB_LAYER -/mob/living - var/swimming = FALSE +/turf/open/MouseDrop_T(atom/from, mob/user) + if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && CHECK_MOBILITY(user, MOBILITY_USE)) + var/mob/living/L = from + //The element only exists if you're on water and a living mob, so let's skip those checks. + if(user == from) + from.visible_message("[from] is getting out of the pool.") + if(do_mob(user, from, 20)) + from.forceMove(src) + from.visible_message("[from] gets out of the pool.") + else + from.visible_message("[from] is being pulled out of the pool by [user].") + if(do_mob(user, from, 20)) + from.forceMove(src) + from.visible_message("[user] pulls [from] out of the pool.") + else + return ..() //Put people out of the water /turf/open/floor/MouseDrop_T(mob/living/M, mob/living/user) diff --git a/code/modules/pool/pool_noodles.dm b/code/modules/pool/pool_noodles.dm index d40aa8eca4..6118354792 100644 --- a/code/modules/pool/pool_noodles.dm +++ b/code/modules/pool/pool_noodles.dm @@ -16,29 +16,17 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' /obj/item/toy/poolnoodle/attack(target as mob, mob/living/user as mob) - ..() - if(prob(80)) - user.emote("spin") - if(prob(5)) - user.emote("spin") + . = ..() + user.spin(prob(20)? 16 : 8, 1) /obj/item/toy/poolnoodle/red item_state = "noodlered" + color = "#ff4c4c" /obj/item/toy/poolnoodle/blue item_state = "noodleblue" + color = "#3232ff" /obj/item/toy/poolnoodle/yellow item_state = "noodleyellow" - -/obj/item/toy/poolnoodle/red/Initialize() - . = ..() - color = "#ff4c4c" - -/obj/item/toy/poolnoodle/blue/Initialize() - . = ..() - color = "#3232ff" - -/obj/item/toy/poolnoodle/yellow/Initialize() - . = ..() color = "#ffff66" diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 9e89f39397..72a5289f23 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -11,13 +11,18 @@ layer = ABOVE_MOB_LAYER dir = EAST -/obj/structure/pool/ladder/attack_hand(mob/living/user as mob) - if(Adjacent(user) && user.y == y && user.swimming == 0) - user.swimming = TRUE - user.forceMove(get_step(user, get_dir(user, src))) //Either way, you're getting IN or OUT of the pool. - else if(user.loc == loc && user.swimming == TRUE) - user.swimming = FALSE - user.forceMove(get_step(user, turn(dir, 180))) +/obj/structure/pool/ladder/attack_hand(mob/living/user) + . = ..() + if(.) + return + var/is_swimming = SEND_SIGNAL(user, COMSIG_IS_SWIMMING) + if(!is_swimming) + if(user.CanReach(src)) + user.AddElement(/datum/element/swimming) + user.forceMove(get_step(src, dir)) + else + if(user.loc == loc) + user.forceMove(get_step(src, turn(dir, 180))) //If this moves them out the element cleans up after itself. /obj/structure/pool/Rboard name = "JumpBoard" From 5df97ace15dcad0e7843e946a51506ef410566d5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Jan 2020 20:24:44 -0700 Subject: [PATCH 010/221] fix --- code/modules/pool/pool_controller.dm | 2 +- code/modules/pool/pool_main.dm | 93 ++++++++++------------------ 2 files changed, 33 insertions(+), 62 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 5235803a0f..f3046eee1f 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -44,7 +44,7 @@ for(var/obj/machinery/pool/drain/pooldrain in range(srange,src)) linked_drain = pooldrain linked_drain.pool_controller = src - for(var/obj/machinery/pool/filter/F in range(srange, src)) + for(var/obj/machinery/pool/filter/F in range(srange, src)) linked_filter = F linked_filter.pool_controller = src diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 6234d60416..61e4517bc3 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -41,49 +41,20 @@ if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && CHECK_MOBILITY(user, MOBILITY_USE)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. + var/pre_msg + var/post_msg if(user == from) - from.visible_message("[from] is getting out of the pool.") - if(do_mob(user, from, 20)) - from.forceMove(src) - from.visible_message("[from] gets out of the pool.") + pre_msg = "[from] is getting out of the pool." + post_msg = "[from] gets out of the pool." else - from.visible_message("[from] is being pulled out of the pool by [user].") - if(do_mob(user, from, 20)) - from.forceMove(src) - from.visible_message("[user] pulls [from] out of the pool.") + pre_msg = "[from] is being pulled out of the pool by [user]." + post_msg = "[user] pulls [from] out of the pool." + from.visible_message(pre_msg) + if(do_mob(user, from, 20)) + from.visible_message(post_msg) else return ..() -//Put people out of the water -/turf/open/floor/MouseDrop_T(mob/living/M, mob/living/user) - if(user.stat || user.lying || !Adjacent(user) || !M.Adjacent(user)|| !iscarbon(M)) - if(issilicon(M)) - var/turf/T = get_turf(M) - if(istype(T, /turf/open/pool)) - M.visible_message("[M] begins to float.", \ - "You start your emergency floaters.") - if(do_mob(user, M, 20)) - M.forceMove(src) - to_chat(user, "You get out of the pool.") - return ..() - if(!M.swimming) //can't put yourself up if you are not swimming - return ..() - if(user == M) - M.visible_message("[user] is getting out the pool", \ - "You start getting out of the pool.") - if(do_mob(user, M, 20)) - M.swimming = FALSE - M.forceMove(src) - to_chat(user, "You get out of the pool.") - else - user.visible_message("[M] is being pulled to the poolborder by [user].", \ - "You start getting [M] out of the pool.") - if(do_mob(user, M, 20)) - M.swimming = FALSE - M.forceMove(src) - to_chat(user, "You get [M] out of the pool.") - return - /turf/open/floor/CanPass(atom/movable/A, turf/T) if(!has_gravity(src)) return ..() @@ -123,13 +94,12 @@ to_chat(user, "You lower [M] in the pool.") return -//What happens if you don't drop in it like a good person would, you fool. -/turf/open/pool/Exited(atom/A, turf/NL) - ..() - if(!istype(NL, /turf/open/pool) && isliving(A)) - var/mob/living/M = A - M.swimming = FALSE - controller.mobs_in_pool.Remove(M) +/turf/open/pool/Exited(atom/A, atom/newLoc) + . = ..() + if(isliving(A)) + controller?.mobs_in_pool -= A + + /turf/open/pool/Entered(atom/A, turf/OL) ..() @@ -182,24 +152,25 @@ playsound(src, "water_wade", 20, TRUE) return -/turf/open/pool/attack_hand(mob/living/user) - if(user.stat == CONSCIOUS && !(user.lying || user.resting) && Adjacent(user) && user.swimming && filled && next_splash < world.time) //not drained, user alive and close, and user in water. - if(user.x == x && user.y == y) - return - else - playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) - next_splash = world.time + 25 - var/obj/effect/splash/S = new /obj/effect/splash(user.loc) - animate(S, alpha = 0, time = 8) - S.Move(src) - QDEL_IN(S, 20) - for(var/mob/living/carbon/human/L in src) - if(!L.wear_mask && !user.stat) //Do not affect those underwater or dying. - L.emote("cough") - L.adjustStaminaLoss(4) //You need to give em a break! - /turf/open/pool/attackby(obj/item/W, mob/living/user) if(istype(W, /obj/item/mop) && filled) W.reagents.add_reagent("water", 5) to_chat(user, "You wet [W] in [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) + else + return ..() + +/turf/open/pool/attack_hand(mob/living/user) + . = ..() + if(.) + return + if((user.loc != src) && CHECK_MOBILITY(user, MOBILITY_USE) && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) + playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) + next_splash = world.time + 25 + var/obj/effect/splash/S = new(src) + animate(S, alpha = 0, time = 8) + QDEL_IN(S, 10) + for(var/mob/living/carbon/human/H in src) + if(!H.wear_mask && (H.stat == CONSCIOUS)) + H.emote("cough") + H.adjustStaminaLoss(4) From 5b6f95cb1ea692c54bf235b9080e7b042bc705b8 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:16:33 -0700 Subject: [PATCH 011/221] shuttle hijack --- code/__HELPERS/text.dm | 17 ++- code/datums/mind.dm | 8 ++ code/game/gamemodes/objective.dm | 6 +- .../antagonists/_common/antag_datum.dm | 14 +- .../antagonists/traitor/datum_traitor.dm | 2 +- code/modules/shuttle/emergency.dm | 134 +++++++++++++----- 6 files changed, 143 insertions(+), 38 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 60c43b0869..2e350808ea 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -793,4 +793,19 @@ GLOBAL_LIST_INIT(binary, list("0","1")) . = message #define is_alpha(X) ((text2ascii(X) <= 122) && (text2ascii(X) >= 97)) -#define is_digit(X) ((length(X) == 1) && (length(text2num(X)) == 1)) \ No newline at end of file +#define is_digit(X) ((length(X) == 1) && (length(text2num(X)) == 1)) + +/// Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML! +/proc/scramble_message_replace_chars(original, replaceprob = 25, list/replacementchars = list("$", "@", "!", "#", "%", "^", "&", "*"), replace_letters_only = FALSE, replace_whitespace = FALSE) + var/list/out = list() + var/static/list/whitespace = list(" ", "\n", "\t") + for(var/i in 1 to length(original)) + var/char = original[i] + if(!replace_whitespace && (char in whitespace)) + out += char + continue + if(replace_letters_only && (!ISINRANGE(char, 65, 90) && !ISINRANGE(char, 97, 122))) + out += char + continue + out += prob(replaceprob)? pick(replacementchars) : char + return out.Join("") diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 464ea37d02..fd7ddd12c5 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -62,6 +62,8 @@ var/force_escaped = FALSE // Set by Into The Sunset command of the shuttle manipulator + var/hijack_speed = 0 //whether or not we can hackerman the shuttle and hijack it. 0 means you can't, 1 is normal speed hack, 2 is double, 0.5 is half, etc. + var/list/learned_recipes //List of learned recipe TYPES. /datum/mind/New(var/key) @@ -714,6 +716,12 @@ if(G) G.reenter_corpse() +/// Sets our can_hijack to the fastest speed our antag datums allow. +/datum/mind/proc/update_can_hijack() + can_hijack = 0 + for(var/datum/antagonist/A in antag_datums) + can_hijack = max(can_hijack, A.hijack_speed()) + return can_hijack /datum/mind/proc/has_objective(objective_type) for(var/datum/antagonist/A in antag_datums) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index f99fe5c3e4..a0cfab2bd9 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -293,9 +293,11 @@ GLOBAL_LIST_EMPTY(objectives) /datum/objective/hijack name = "hijack" - explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody." - team_explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody. Leave no team member behind." + explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console." + team_explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console. Leave no team member behind." martyr_compatible = 0 //Technically you won't get both anyway. + /// Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted. + var/hijack_speed_override = 1 /datum/objective/hijack/check_completion() // Requires all owners to escape. if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 1894d8c7ae..724b93a205 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -11,10 +11,11 @@ GLOBAL_LIST_EMPTY(antagonists) var/delete_on_mind_deletion = TRUE var/job_rank var/replace_banned = TRUE //Should replace jobbaned player with ghosts if granted. - var/list/objectives = list() + var/list/_objectives = list() var/antag_memory = ""//These will be removed with antag datum var/antag_moodlet //typepath of moodlet that the mob will gain with their status - var/can_hijack = HIJACK_NEUTRAL //If these antags are alone on shuttle hijack happens. + /// If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed(). + var/hijack_speed = 0 //Antag panel properties var/show_in_antagpanel = TRUE //This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind @@ -72,6 +73,7 @@ GLOBAL_LIST_EMPTY(antagonists) give_antag_moodies() if(is_banned(owner.current) && replace_banned) replace_banned_player() + owner.update_can_hijack() /datum/antagonist/proc/is_banned(mob/M) if(!M) @@ -99,6 +101,7 @@ GLOBAL_LIST_EMPTY(antagonists) var/datum/team/team = get_team() if(team) team.remove_member(owner) + owner.update_can_hijack() qdel(src) /datum/antagonist/proc/greet() @@ -215,6 +218,13 @@ GLOBAL_LIST_EMPTY(antagonists) return antag_memory = new_memo +/// Gets how fast we can hijack the shuttle, return 0 for can not hijack. Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something. +/datum/antagonist/proc/hijack_speed() + var/datum/objective/hijack/H = locate() in objectives + if(!isnull(H?.hijack_speed_override)) + return H.hijack_speed_override + return hijack_speed + //This one is created by admin tools for custom objectives /datum/antagonist/custom antagpanel_category = "Custom" diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 595ce5bb90..17c88a33b9 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -13,7 +13,7 @@ var/should_give_codewords = TRUE var/should_equip = TRUE var/traitor_kind = TRAITOR_HUMAN //Set on initial assignment - can_hijack = HIJACK_HIJACKER + hijack_speed = 0.5 //10 seconds per hijack stage by default /datum/antagonist/traitor/on_gain() if(owner.current && isAI(owner.current)) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index c863e0e44a..1e9439a547 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -3,13 +3,38 @@ #define ENGINES_STARTED (SSshuttle.emergency.mode == SHUTTLE_IGNITING) #define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED || (ENGINES_STARTED)) +#define INTACT 0 +#define STAGE_1 1 +#define STAGE_2 2 +#define STAGE_3 3 +#define STAGE_4 4 +#define HIJACKED 5 + /obj/machinery/computer/emergency_shuttle name = "emergency shuttle console" desc = "For shuttle control." icon_screen = "shuttle" icon_keyboard = "tech_key" + obj_flags = INDESTRUCTIBLE var/auth_need = 3 var/list/authorized = list() + var/hijack_last_stage_increase = 0 + var/hijack_stage_time = 50 + var/hijack_stage_cooldown = 50 + var/hijack_flight_time_incrase = 300 + var/hijack_completion_flight_time_set = 100 //How long in deciseconds to set shuttle's timer after hijack is done. + var/hijack_hacking = FALSE + var/hijack_announce = TRUE + +/obj/machinery/computer/emergency_shuttle/examine(mob/user) + . = ..() + if(hijack_announce) + . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement." + if(user?.mind.hijack_speed) + . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])." + . += "It will take you [(hijack_stage_time * user.mind.hijack_speed) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." + if(hijack_announce) + . += "It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements.." /obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params) if(istype(I, /obj/item/card/id)) @@ -133,6 +158,73 @@ [TIME_LEFT] seconds", system_error, alert=TRUE) . = TRUE +/obj/machinery/computer/emergency_shuttle/proc/increase_hijack_stage() + var/obj/docking_port/mobile/emergency/shuttle = SSshuttle.emergency + shuttle.hijack_status++ + announce_hijack_stage() + hijack_last_stage_increase = world.time + say("Navigational protocol error! Rebooting systems.") + if(shuttle.mode == SHUTTLE_ESCAPE) + if(shuttle.hijack_status == HIJACKED) + shuttle.setTimer(hijack_completion_flight_time_set) + else + shuttle.setTimer(shuttle.timeLeft(1) + hijack_flight_time_increase) //give the guy more time to hijack if it's already in flight. + return shuttle.hijack_status + +/obj/machinery/computer/emergency_shuttle/AltClick(user) + attempt_hijack_stage(user) + +/obj/machinery/computer/emergency_shuttle/proc/attempt_hijack_stage(mob/living/user) + if(!user.CanReach(src)) + return + if(!user?.mind?,hijack_speed) + to_chat(user, "You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.You [SSshuttle.emergency.hijack_status == INTACT? "begin" : "continue"] to override [src]'s navigational protocols.") + say("Software override initiated.") + . = FALSE + if(do_after(user, hijack_stage_time * user.mind.hijack_speed, target = src)) + increase_hijack_stage() + . = TRUE + to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") + hijack_hacking = FALSE + +/obj/machinery/computer/emergency_shuttle/announce_hijack_stage() + var/msg + var/replaceprob + switch(SSshuttle.emergency.hijack_status) + if(INTACT) + return + if(STAGE_1) + var/datum/species/S = new + msg = "AUTHENTICATING - FAIL. AUTHENTICATING - FAIL. AUTHENTICATING - FAI###### Welcome, technician [S.random_name(pick(MALE, FEMALE))]." + replaceprob = 10 + qdel(S) + if(STAGE_2) + msg = "Warning: Navigational route fails \"IS_AUTHORIZED\". Please try againNN[scramble_message_replace_chars("againagainagainagainagain", 70)]." + replaceprob = 20 + if(STAGE_3) + var/hex = "" + for(var/i in 1 to 8) + hex += num2hex(rand(1,16)) + msg = "CRC mismatch at 0x[hex] in calculated route buffer. Full reset initiated of FTL_NAVIGATION_SERVICES. Memory decrypted for automatic repair." + replaceprob = 30 + if(STAGE_4) + msg = "~ACS_directive module_load(cyberdyne.exploit.nanotrasen.shuttlenav)... NT key mismatch. Confirm load? Y...###Reboot complete. $SET transponder_state = 0; System link initiated with connected engines..." + replaceprob = 35 + if(HIJACKED) + msg = "SYSTEM OVERRIDE - Resetting course to \[[scramble_message_replace_chars("###########", 100))]\] \ + ([scramble_message_replace_chars("#######", 100))]/[scramble_message_replace_chars("#######", 100))]/[scramble_message_replace_chars("#######", 100))]) \ + {AUTH - ROOT (uid: 0)}.[SSshuttle.emergency.mode == SHUTTLE_ESCAPE? "Diverting from existing route - Bluespace exit in [hijack_completion_flight_time_set/10] seconds." : ""]" + replaceprob = 25 + minor_announce(scramble_message_replace_chars(msg, replaceprob = replaceprob), "Emergency Shuttle", TRUE) + /obj/machinery/computer/emergency_shuttle/emag_act(mob/user) . = ..() @@ -185,6 +277,7 @@ dir = EAST port_direction = WEST var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself + var/hijack_status = INTACT /obj/docking_port/mobile/emergency/canDock(obj/docking_port/stationary/S) return SHUTTLE_CAN_DOCK //If the emergency shuttle can't move, the whole game breaks, so it will force itself to land even if it has to crush a few departments in the process @@ -250,37 +343,7 @@ priority_announce("The emergency shuttle has been recalled.[SSshuttle.emergencyLastCallLoc ? " Recall signal traced. Results can be viewed on any communications console." : "" ]", null, "shuttlerecalled", "Priority") /obj/docking_port/mobile/emergency/proc/is_hijacked() - var/has_people = FALSE - var/hijacker_present = FALSE - for(var/mob/living/player in GLOB.player_list) - if(player.mind) - if(player.stat != DEAD) - if(issilicon(player)) //Borgs are technically dead anyways - continue - if(isanimal(player)) //animals don't count - continue - if(isbrain(player)) //also technically dead - continue - if(shuttle_areas[get_area(player)]) - has_people = TRUE - var/location = get_turf(player.mind.current) - //Non-antag present. Can't hijack. - if(!(player.mind.has_antag_datum(/datum/antagonist)) && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/red/brig)) - return FALSE - //Antag present, doesn't stop but let's see if we actually want to hijack - var/prevent = FALSE - for(var/datum/antagonist/A in player.mind.antag_datums) - if(A.can_hijack == HIJACK_HIJACKER) - hijacker_present = TRUE - prevent = FALSE - break //If we have both prevent and hijacker antags assume we want to hijack. - else if(A.can_hijack == HIJACK_PREVENT) - prevent = TRUE - if(prevent) - return FALSE - - - return has_people && hijacker_present + return hijack_status == HIJACKED /obj/docking_port/mobile/emergency/proc/ShuttleDBStuff() set waitfor = FALSE @@ -422,7 +485,7 @@ mode = SHUTTLE_ESCAPE launch_status = ENDGAME_LAUNCHED setTimer(SSshuttle.emergencyEscapeTime) - priority_announce("The Emergency Shuttle preparing for direct jump. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority") + priority_announce("The Emergency Shuttle is preparing for direct jump. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority") /obj/docking_port/mobile/pod @@ -567,3 +630,10 @@ #undef ENGINES_START_TIME #undef ENGINES_STARTED #undef IS_DOCKED + +#undef INTACT +#undef STAGE_1 +#undef STAGE_2 +#undef STAGE_3 +#undef STAGE_4 +#undef HIJACKED From 9ef3879e53e7211ddd86047c08662c820a418d12 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:17:59 -0700 Subject: [PATCH 012/221] fix --- code/modules/shuttle/emergency.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 1e9439a547..a24cb3be7a 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -30,7 +30,7 @@ . = ..() if(hijack_announce) . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement." - if(user?.mind.hijack_speed) + if(user?.mind?.hijack_speed) . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])." . += "It will take you [(hijack_stage_time * user.mind.hijack_speed) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." if(hijack_announce) @@ -161,7 +161,8 @@ /obj/machinery/computer/emergency_shuttle/proc/increase_hijack_stage() var/obj/docking_port/mobile/emergency/shuttle = SSshuttle.emergency shuttle.hijack_status++ - announce_hijack_stage() + if(hijack_announce) + announce_hijack_stage() hijack_last_stage_increase = world.time say("Navigational protocol error! Rebooting systems.") if(shuttle.mode == SHUTTLE_ESCAPE) @@ -177,10 +178,13 @@ /obj/machinery/computer/emergency_shuttle/proc/attempt_hijack_stage(mob/living/user) if(!user.CanReach(src)) return - if(!user?.mind?,hijack_speed) + if(!user?.mind?.hijack_speed) to_chat(user, "You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.= HIJACKED) + to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?") return if(hijack_last_stage_increase <= world.time + hijack_stage_cooldown) say("Error - Catastrophic software error detected. Input is currently on timeout.") From a8628cee333049ac726cc64929b2cf7670d94c8c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:32:57 -0700 Subject: [PATCH 013/221] udpates --- code/game/gamemodes/objective.dm | 4 ++-- code/modules/antagonists/traitor/datum_traitor.dm | 3 +++ code/modules/shuttle/emergency.dm | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index a0cfab2bd9..397c58152f 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -293,8 +293,8 @@ GLOBAL_LIST_EMPTY(objectives) /datum/objective/hijack name = "hijack" - explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console." - team_explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console. Leave no team member behind." + explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console)." + team_explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console). Leave no team member behind." martyr_compatible = 0 //Technically you won't get both anyway. /// Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted. var/hijack_speed_override = 1 diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 17c88a33b9..f9b02ac09e 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -60,11 +60,14 @@ message = GLOB.syndicate_code_response_regex.Replace(message, "$1") hearing_args[HEARING_RAW_MESSAGE] = message +// needs to be refactored to base /datum/antagonist sometime.. /datum/antagonist/traitor/proc/add_objective(datum/objective/O) objectives += O + owner?.update_hijack_speed() /datum/antagonist/traitor/proc/remove_objective(datum/objective/O) objectives -= O + owner?.update_hijack_speed() /datum/antagonist/traitor/proc/forge_traitor_objectives() switch(traitor_kind) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index a24cb3be7a..8bd3912435 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -223,8 +223,8 @@ msg = "~ACS_directive module_load(cyberdyne.exploit.nanotrasen.shuttlenav)... NT key mismatch. Confirm load? Y...###Reboot complete. $SET transponder_state = 0; System link initiated with connected engines..." replaceprob = 35 if(HIJACKED) - msg = "SYSTEM OVERRIDE - Resetting course to \[[scramble_message_replace_chars("###########", 100))]\] \ - ([scramble_message_replace_chars("#######", 100))]/[scramble_message_replace_chars("#######", 100))]/[scramble_message_replace_chars("#######", 100))]) \ + msg = "SYSTEM OVERRIDE - Resetting course to \[[scramble_message_replace_chars("###########", 100)]\] \ + ([scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]) \ {AUTH - ROOT (uid: 0)}.[SSshuttle.emergency.mode == SHUTTLE_ESCAPE? "Diverting from existing route - Bluespace exit in [hijack_completion_flight_time_set/10] seconds." : ""]" replaceprob = 25 minor_announce(scramble_message_replace_chars(msg, replaceprob = replaceprob), "Emergency Shuttle", TRUE) From ff98fe7bf50a8bc22e8a133ad5596050dc5e1f02 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:35:21 -0700 Subject: [PATCH 014/221] update --- code/datums/mind.dm | 2 +- code/modules/antagonists/_common/antag_datum.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fd7ddd12c5..d7c478c586 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -717,7 +717,7 @@ G.reenter_corpse() /// Sets our can_hijack to the fastest speed our antag datums allow. -/datum/mind/proc/update_can_hijack() +/datum/mind/proc/update_hijack_speed() can_hijack = 0 for(var/datum/antagonist/A in antag_datums) can_hijack = max(can_hijack, A.hijack_speed()) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 724b93a205..9f18ca9bea 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -11,7 +11,7 @@ GLOBAL_LIST_EMPTY(antagonists) var/delete_on_mind_deletion = TRUE var/job_rank var/replace_banned = TRUE //Should replace jobbaned player with ghosts if granted. - var/list/_objectives = list() + var/list/objectives = list() var/antag_memory = ""//These will be removed with antag datum var/antag_moodlet //typepath of moodlet that the mob will gain with their status /// If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed(). @@ -73,7 +73,7 @@ GLOBAL_LIST_EMPTY(antagonists) give_antag_moodies() if(is_banned(owner.current) && replace_banned) replace_banned_player() - owner.update_can_hijack() + owner.update_hijack_speed() /datum/antagonist/proc/is_banned(mob/M) if(!M) @@ -101,7 +101,7 @@ GLOBAL_LIST_EMPTY(antagonists) var/datum/team/team = get_team() if(team) team.remove_member(owner) - owner.update_can_hijack() + owner.update_hijack_speed() qdel(src) /datum/antagonist/proc/greet() From ccb5d32ab22bf23bb6117aa193e4f4bf806d894d Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:38:09 -0700 Subject: [PATCH 015/221] varnames --- code/datums/mind.dm | 6 +++--- code/modules/antagonists/brother/brother.dm | 1 - code/modules/antagonists/ert/ert.dm | 1 - code/modules/antagonists/highlander/highlander.dm | 2 +- code/modules/antagonists/ninja/ninja.dm | 7 ------- code/modules/antagonists/nukeop/nukeop.dm | 1 - code/modules/antagonists/wizard/wizard.dm | 1 - code/modules/shuttle/emergency.dm | 2 +- 8 files changed, 5 insertions(+), 16 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index d7c478c586..9ba56b2ffe 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -718,10 +718,10 @@ /// Sets our can_hijack to the fastest speed our antag datums allow. /datum/mind/proc/update_hijack_speed() - can_hijack = 0 + hijack_speed = 0 for(var/datum/antagonist/A in antag_datums) - can_hijack = max(can_hijack, A.hijack_speed()) - return can_hijack + hijack_speed = max(hijack_speed, A.hijack_speed()) + return hijack_speed /datum/mind/proc/has_objective(objective_type) for(var/datum/antagonist/A in antag_datums) diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 7c589bb3ab..7097617afe 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -5,7 +5,6 @@ var/special_role = ROLE_BROTHER var/datum/team/brother_team/team antag_moodlet = /datum/mood_event/focused - can_hijack = HIJACK_HIJACKER /datum/antagonist/brother/create_team(datum/team/brother_team/new_team) if(!new_team) diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 0fb41cabc8..5c878bcc55 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -12,7 +12,6 @@ var/list/name_source show_in_antagpanel = FALSE antag_moodlet = /datum/mood_event/focused - can_hijack = HIJACK_PREVENT /datum/antagonist/ert/on_gain() update_name() diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 49635356ac..eccf7e3c60 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -3,7 +3,7 @@ var/obj/item/claymore/highlander/sword show_in_antagpanel = FALSE show_name_in_check_antagonists = TRUE - can_hijack = HIJACK_HIJACKER + hijack_speed = 2 //if you kill everyone and actually haev a hand to hijack with, you win?? /datum/antagonist/highlander/apply_innate_effects(mob/living/mob_override) var/mob/living/L = owner.current || mob_override diff --git a/code/modules/antagonists/ninja/ninja.dm b/code/modules/antagonists/ninja/ninja.dm index 52e13bdc69..9094c44ba4 100644 --- a/code/modules/antagonists/ninja/ninja.dm +++ b/code/modules/antagonists/ninja/ninja.dm @@ -8,11 +8,6 @@ var/give_objectives = TRUE var/give_equipment = TRUE -/datum/antagonist/ninja/New() - if(helping_station) - can_hijack = HIJACK_PREVENT - . = ..() - /datum/antagonist/ninja/apply_innate_effects(mob/living/mob_override) var/mob/living/M = mob_override || owner.current update_ninja_icons_added(M) @@ -141,8 +136,6 @@ adj = "objectiveless" else return - if(helping_station) - can_hijack = HIJACK_PREVENT new_owner.assigned_role = ROLE_NINJA new_owner.special_role = ROLE_NINJA new_owner.add_antag_datum(src) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index d343951d53..4a63ba65bd 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -8,7 +8,6 @@ var/always_new_team = FALSE //If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team. var/send_to_spawnpoint = TRUE //Should the user be moved to default spawnpoint. var/nukeop_outfit = /datum/outfit/syndicate - can_hijack = HIJACK_HIJACKER //Alternative way to wipe out the station. /datum/antagonist/nukeop/proc/update_synd_icons_added(mob/living/M) var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS] diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index a88eb1e42a..6dfcf88fcc 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -12,7 +12,6 @@ var/move_to_lair = TRUE var/outfit_type = /datum/outfit/wizard var/wiz_age = WIZARD_AGE_MIN /* Wizards by nature cannot be too young. */ - can_hijack = HIJACK_HIJACKER /datum/antagonist/wizard/on_gain() register() diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 8bd3912435..653aefacc2 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -199,7 +199,7 @@ to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") hijack_hacking = FALSE -/obj/machinery/computer/emergency_shuttle/announce_hijack_stage() +/obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() var/msg var/replaceprob switch(SSshuttle.emergency.hijack_status) From a28ebcc041e77f44efeaac5386c57dde78b426cf Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:38:53 -0700 Subject: [PATCH 016/221] variables --- code/modules/antagonists/official/official.dm | 1 - code/modules/antagonists/wishgranter/wishgranter.dm | 1 - 2 files changed, 2 deletions(-) diff --git a/code/modules/antagonists/official/official.dm b/code/modules/antagonists/official/official.dm index 9165a99d42..1d340253c4 100644 --- a/code/modules/antagonists/official/official.dm +++ b/code/modules/antagonists/official/official.dm @@ -4,7 +4,6 @@ show_in_antagpanel = FALSE var/datum/objective/mission var/datum/team/ert/ert_team - can_hijack = HIJACK_PREVENT /datum/antagonist/official/greet() to_chat(owner, "You are a CentCom Official.") diff --git a/code/modules/antagonists/wishgranter/wishgranter.dm b/code/modules/antagonists/wishgranter/wishgranter.dm index 21cab26d1e..d22d1b5e39 100644 --- a/code/modules/antagonists/wishgranter/wishgranter.dm +++ b/code/modules/antagonists/wishgranter/wishgranter.dm @@ -2,7 +2,6 @@ name = "Wishgranter Avatar" show_in_antagpanel = FALSE show_name_in_check_antagonists = TRUE - can_hijack = HIJACK_HIJACKER /datum/antagonist/wishgranter/proc/forge_objectives() var/datum/objective/hijack/hijack = new From c4475b1dda8fae1062375b9ae1fe6048657a8511 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 05:39:16 -0700 Subject: [PATCH 017/221] variables --- code/modules/shuttle/emergency.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 653aefacc2..299b1982fe 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -21,7 +21,7 @@ var/hijack_last_stage_increase = 0 var/hijack_stage_time = 50 var/hijack_stage_cooldown = 50 - var/hijack_flight_time_incrase = 300 + var/hijack_flight_time_increase = 300 var/hijack_completion_flight_time_set = 100 //How long in deciseconds to set shuttle's timer after hijack is done. var/hijack_hacking = FALSE var/hijack_announce = TRUE From cd0fc537b6a582928eee389af708ef46327845a4 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 16:03:56 -0700 Subject: [PATCH 018/221] lgoic --- code/datums/elements/swimming.dm | 1 + code/modules/pool/pool_main.dm | 74 ++++++++++++++++---------------- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm index 364da7b667..2349a1e50f 100644 --- a/code/datums/elements/swimming.dm +++ b/code/datums/elements/swimming.dm @@ -13,6 +13,7 @@ /datum/element/swimming/Detach(datum/target) . = ..() UnregisterSignal(target, COMSIG_IS_SWIMMING) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) /datum/element/swimming/proc/is_swimming() return IS_SWIMMING diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 61e4517bc3..eb98a2f4fb 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -37,8 +37,10 @@ icon_state = "top" layer = BELOW_MOB_LAYER +// Mousedrop hook to normal turfs to get out of pools. /turf/open/MouseDrop_T(atom/from, mob/user) - if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && CHECK_MOBILITY(user, MOBILITY_USE)) + // I could make this /open/floor and not have the !istype but ehh - kev + if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && CHECK_MOBILITY(user, MOBILITY_USE) && !istype(src, /turf/open/pool)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. var/pre_msg @@ -52,53 +54,34 @@ from.visible_message(pre_msg) if(do_mob(user, from, 20)) from.visible_message(post_msg) + from.forceMove(src) else return ..() -/turf/open/floor/CanPass(atom/movable/A, turf/T) - if(!has_gravity(src)) +// Exit check +/turf/open/pool/Exit(atom/movable/AM, atom/newloc) + if(!AM.has_gravity(src)) return ..() - else if(istype(A, /mob/living) || istype(A, /obj/structure)) //This check ensures that only specific types of objects cannot pass into the water. Items will be able to get tossed out. - if(istype(A, /mob/living/simple_animal) || istype(A, /mob/living/carbon/monkey)) - return ..() - if (istype(A, /obj/structure) && istype(A.pulledby, /mob/living/carbon/human)) - return ..() - if(istype(get_turf(A), /turf/open/pool) && !istype(T, /turf/open/pool)) //!(locate(/obj/structure/pool/ladder) in get_turf(A).loc) - return FALSE + if(isliving(AM) || istype(AM, /obj/structure)) + if(AM.throwing) + return ..() //WHEEEEEEEEEEE + if(istype(AM, /obj/structure) && isliving(AM.pulledby)) + return ..() //people pulling stuff out of pool + if(!ishuman(AM)) + return ..() //human weak, monkey (and anyone else) ook ook eek eek strong + return istype(newloc, type) return ..() -//put people in water, including you -/turf/open/pool/MouseDrop_T(mob/living/M, mob/living/user) - if(!has_gravity(src)) - return - if(user.stat || user.lying || !Adjacent(user) || !M.Adjacent(user)|| !iscarbon(M)) - return - if(!iscarbon(user)) // no silicons or drones in mechas. - return - if(M.swimming) //can't lower yourself again - return - else - if(user == M) - M.visible_message("[user] is descending in the pool", \ - "You start lowering yourself in the pool.") - if(do_mob(user, M, 20)) - M.swimming = TRUE - M.forceMove(src) - to_chat(user, "You lower yourself in the pool.") - else - user.visible_message("[M] is being put in the pool by [user].", \ - "You start lowering [M] in the pool.") - if(do_mob(user, M, 20)) - M.swimming = TRUE - M.forceMove(src) - to_chat(user, "You lower [M] in the pool.") - return - +// Exited logic /turf/open/pool/Exited(atom/A, atom/newLoc) . = ..() if(isliving(A)) controller?.mobs_in_pool -= A +// Entered logic +/turf/open/pool/Entered(atom/movable/AM, atom/oldloc) + if(!AM.has_gravity(src)) + return ..() /turf/open/pool/Entered(atom/A, turf/OL) @@ -152,6 +135,23 @@ playsound(src, "water_wade", 20, TRUE) return + + +/turf/open/pool/MouseDrop_T(atom/from, mob/user) + . = ..() + if(!isliving(from)) + return + if(user.stat || user.lying || !Adjacent(user) || !from.Adjacent(user) || !iscarbon(user) || !victim.has_gravity(src) || SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) + return + var/mob/living/victim = from + var/victimname = victim == user? "themselves" : "[victim]" + var/starttext = victim == user? "[user] is descending into [src]." : "[user] is lowering [victim] into [src]." + user.visible_message("[starttext]") + if(do_mob(user, victim, 20)) + user.visible_message("[user] lowers [victimname] into [src].") + victim.AddElement(/datum/element/swimming) //make sure they have it so they don't fall/whatever + victim.forceMove(src) + /turf/open/pool/attackby(obj/item/W, mob/living/user) if(istype(W, /obj/item/mop) && filled) W.reagents.add_reagent("water", 5) From 70c9a9a25f99b349005bc29d6d8fadc59acd6e08 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 22 Jan 2020 16:36:44 -0700 Subject: [PATCH 019/221] logic --- code/__DEFINES/move_force.dm | 2 +- code/modules/pool/pool_controller.dm | 1 + code/modules/pool/pool_drain.dm | 156 +++++++++++++++------------ code/modules/pool/pool_main.dm | 27 ++--- tgstation.dme | 1 + 5 files changed, 98 insertions(+), 89 deletions(-) diff --git a/code/__DEFINES/move_force.dm b/code/__DEFINES/move_force.dm index ec31388c72..1f8819b0c8 100644 --- a/code/__DEFINES/move_force.dm +++ b/code/__DEFINES/move_force.dm @@ -17,4 +17,4 @@ #define MOVE_FORCE_NORMAL MOVE_FORCE_DEFAULT #define MOVE_FORCE_WEAK (MOVE_FORCE_DEFAULT / 2) #define MOVE_FORCE_VERY_WEAK ((MOVE_FORCE_DEFAULT / MOVE_FORCE_CRUSH_RATIO) + 1) -#define MOVE_FORCE_EXTREMELY_WEAK (MOVE_FORCE_DEFAULT / (MOVE_FORCE_CRUSH_RATIO * 3)) \ No newline at end of file +#define MOVE_FORCE_EXTREMELY_WEAK (MOVE_FORCE_DEFAULT / (MOVE_FORCE_CRUSH_RATIO * 3)) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index f3046eee1f..786fd2a5f5 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -12,6 +12,7 @@ density = TRUE use_power = TRUE idle_power_usage = 75 + resistance_flags = INDESTRUCTIBLE var/list/linkedturfs //List contains all of the linked pool turfs to this controller, assignment happens on initialize var/list/mobs_in_pool = list()//List contains all the mobs currently in the pool. var/temperature = POOL_NORMAL //1-5 Frigid Cool Normal Warm Scalding diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 7739b7d0c1..51f340a69c 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -3,116 +3,132 @@ icon_state = "drain" desc = "A suction system to remove the contents of the pool, and sometimes small objects. Do not insert fingers." anchored = TRUE + /// Active/on? var/active = FALSE - var/status = FALSE //1 is drained, 0 is full. - var/srange = 6 - var/timer = 0 + /// Filling or draining + var/filling = FALSE + /// Drain item suction range + var/item_suction_range = 2 + /// Fill mode knock away range + var/fill_push_range = 6 + /// Drain mode suction range + var/drain_suck_range = 6 + /// Parent controller + var/obj/machinery/pool/controller/pool_controller + /// Cycles left for fill/drain while active + var/cycles_left = 0 + /// Mobs we are swirling around + var/list/whirling_mobs + var/cooldown - var/obj/machinery/pool/controller/pool_controller = null /obj/machinery/pool/drain/Initialize() START_PROCESSING(SSprocessing, src) - . = ..() + whirling_mobs = list() + return ..() /obj/machinery/pool/drain/Destroy() pool_controller.linked_drain = null pool_controller = null + whirling_mobs = null return ..() +// This should probably start using move force sometime in the future but I'm lazy. /obj/machinery/pool/drain/process() - if(!status) //don't pool/drain an empty pool. - for(var/obj/item/absorbo in orange(1,src)) - if(absorbo.w_class == WEIGHT_CLASS_TINY) - step_towards(absorbo, src) - var/dist = get_dist(src, absorbo) - if(dist == 0) - absorbo.forceMove(pool_controller.linked_filter) + if(!filling) + for(var/obj/item/I in range(min(item_suction_range, 10), src)) + if(!I.anchored && (I.w_class == WEIGHT_CLASS_SMALL)) + step_towards(I, src) + if((I.w_class == WEIGHT_CLASS_TINY) && (get_dist(I, src) == 0)) + I.forceMove(pool_controller.linked_filter) if(active) - if(status) //if filling up, get back to normal position - if(timer > 0) - playsound(src, 'sound/effects/fillingwatter.ogg', 100, TRUE) - timer-- - for(var/obj/whirlo in orange(1,src)) - if(!whirlo.anchored ) - step_away(whirlo,src) - for(var/mob/living/carbon/human/whirlm in orange(2,src)) - step_away(whirlm,src) - else if(!timer) - for(var/turf/open/pool/undrained in range(5,src)) - undrained.filled = TRUE - undrained.update_icon() - for(var/obj/effect/waterspout/undrained3 in range(1,src)) - qdel(undrained3) + if(filling) + if(timer-- > 0) + playsound(src, 'sound/efefcts/fillingwatter.ogg', 100, TRUE) + for(var/obj/O in orange(min(fill_push_range, 10), src)) + if(!O.anchored) + step_away(O, src) + for(var/mob/M in orange(min(fill_push_range, 10), src)) //compiler fastpath apparently? + if(!M.anchored && isliving(M)) + step_away(M, src) + else + for(var/turf/open/pool/P in controller.linked_turfs) + P.filled = TRUE + P.update_ion() + for(var/obj/effect/waterspout/S in range(1, src)) + qdel(S) pool_controller.drained = FALSE if(pool_controller.bloody < 1000) pool_controller.bloody /= 2 - if(pool_controller.bloody > 1000) + else pool_controller.bloody /= 4 pool_controller.changecolor() - status = FALSE + filling = FALSE active = FALSE - return - if(!status) //if draining, change everything. - if(timer > 0) + else + if(timer-- > 0) playsound(src, 'sound/effects/pooldrain.ogg', 100, TRUE) playsound(src, "water_wade", 60, TRUE) - timer-- - for(var/obj/whirlo in orange(2,src)) - if(!whirlo.anchored ) - step_towards(whirlo,src) - for(var/mob/living/carbon/human/whirlm in orange(2,src)) - step_towards(whirlm,src) - if(prob(20)) - whirlm.Knockdown(40) - for(var/i in list(1,2,4,8,4,2,1)) //swirl! - whirlm.dir = i - sleep(1) - if(whirlm.forceMove(loc)) - if(whirlm.health <= -50) //If very damaged, gib. - whirlm.gib() - if(whirlm.stat != CONSCIOUS || whirlm.lying) // If - whirlm.adjustBruteLoss(5) + for(var/obj/O in orange(min(drain_suck_range, 10), src)) + if(!O.anchored) + step_towards(O, src) + for(var/mob/M in orange(min(drain_suck_range, 10), src)) + if(isliving(M) && !M.anchored) + step_towards(M, src) + whirl_mob(M) + if(ishuman(M)) + var/mob/living/carbon/human/H = M playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) - to_chat(whirlm, "You're caught in the drain!") - continue - else - playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) - whirlm.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs - to_chat(whirlm, "Your legs are caught in the drain!") - continue - - else if(!timer) - for(var/turf/open/pool/drained in range(5,src)) - drained.filled = FALSE - drained.update_icon() - for(var/obj/effect/whirlpool/drained3 in range(1,src)) - qdel(drained3) - for(var/obj/machinery/pool/controller/drained4 in range(5,src)) - drained4.drained = TRUE - drained4.mistoff() - status = TRUE + if(H.lying) //down for any reason + H.adjustBruteLoss(5) + to_chat(whirlm, "You're caught in the drain!") + else + whirlm.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs + to_chat(whirlm, "Your legs are caught in the drain!") + else + for(var/turf/open/pool/P in controller.linked_turfs)) + P.filled = FALSE + P.update_icon() + for(var/obj/efefct/whirlpool/W in range(1, src)) + qdel(W) + linked_controller.drained = TRUE + linked_controller.mistoff() active = FALSE + filling = TRUE + +/// dangerous proc don't fuck with, admins +/obj/machinery/pool/drain/proc/whirl_mob(mob/living/L, duration = 8, delay = 1) + set waitfor = FALSE + if(whirling_mobs[L]) + return + whirling_mobs[L] = TRUE + for(var/i in 1 to min(duration, 100)) + L.setDir(turn(L.dir, 90)) + sleep(delay) + whirling_mobs -= L /obj/machinery/pool/filter name = "Filter" icon_state = "filter" desc = "The part of the pool where all the IDs, ATV keys, and pens, and other dangerous things get trapped." - var/obj/machinery/pool/controller/pool_controller = null + var/obj/machinery/pool/controller/pool_controller /obj/machinery/pool/filter/Destroy() pool_controller.linked_filter = null pool_controller = null return ..() -/obj/machinery/pool/filter/emag_act(user as mob) +/obj/machinery/pool/filter/emag_act(mob/living/user) + . = ..() if(!(obj_flags & EMAGGED)) to_chat(user, "You disable the [src]'s shark filter! Run!") obj_flags |= EMAGGED do_sparks(5, TRUE, src) icon_state = "filter_b" addtimer(CALLBACK(src, /obj/machinery/pool/filter/proc/spawn_shark), 50) - log_game("[key_name(user)] emagged the pool filter and spawned a shark") - message_admins("[key_name_admin(user)] emagged the pool filter and spawned a shark") + var/msg = "[key_name(user)] emagged the pool filter and spawned a shark" + log_game(msg) + message_admins(msg) /obj/machinery/pool/filter/proc/spawn_shark() if(prob(50)) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index eb98a2f4fb..abc7611b3f 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -82,21 +82,15 @@ /turf/open/pool/Entered(atom/movable/AM, atom/oldloc) if(!AM.has_gravity(src)) return ..() - - -/turf/open/pool/Entered(atom/A, turf/OL) - ..() - if(isliving(A)) - var/mob/living/M = A - if(!M.mob_has_gravity()) - return - if(!M.swimming) - M.swimming = TRUE - controller.mobs_in_pool.Add(M) - if(locate(/obj/structure/pool/ladder) in M.loc) + if(isliving(AM)) + var/mob/living/victim = AM + if(!SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) //poor guy not swimming time to dunk them! + victim.AddElement(/datum/element/swimming) + controller.mobs_in_pool += victim + if(locate(/obj/structure/pool/ladder) in victim.loc) //safe climbing return - if(iscarbon(M)) - var/mob/living/carbon/H = M + if(iscarbon(AM)) //FUN TIME! + var/mob/living/carbon/H = victim if(filled) if (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSMOUTH) H.visible_message("[H] falls in the water!", @@ -131,11 +125,8 @@ H.Knockdown(40) playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) else if(filled) - M.adjustStaminaLoss(1) + AM.adjustStaminaLoss(1) playsound(src, "water_wade", 20, TRUE) - return - - /turf/open/pool/MouseDrop_T(atom/from, mob/user) . = ..() diff --git a/tgstation.dme b/tgstation.dme index 7b8da809a1..b9cef8faea 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -478,6 +478,7 @@ #include "code\datums\elements\dusts_on_catatonia.dm" #include "code\datums\elements\earhealing.dm" #include "code\datums\elements\ghost_role_eligibility.dm" +#include "code\datums\elements\swimming.dm" #include "code\datums\elements\wuv.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" From e7bf1738cd634fc292a2ddc62dc509a0cb608041 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 23 Jan 2020 18:00:33 -0700 Subject: [PATCH 020/221] ok putnom --- code/datums/mind.dm | 10 +++------- code/modules/antagonists/_common/antag_datum.dm | 2 -- code/modules/antagonists/traitor/datum_traitor.dm | 2 -- code/modules/shuttle/emergency.dm | 8 ++++---- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 9ba56b2ffe..ce97711589 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -61,9 +61,6 @@ var/late_joiner = FALSE var/force_escaped = FALSE // Set by Into The Sunset command of the shuttle manipulator - - var/hijack_speed = 0 //whether or not we can hackerman the shuttle and hijack it. 0 means you can't, 1 is normal speed hack, 2 is double, 0.5 is half, etc. - var/list/learned_recipes //List of learned recipe TYPES. /datum/mind/New(var/key) @@ -717,11 +714,10 @@ G.reenter_corpse() /// Sets our can_hijack to the fastest speed our antag datums allow. -/datum/mind/proc/update_hijack_speed() - hijack_speed = 0 +/datum/mind/proc/get_hijack_speed() + . = 0 for(var/datum/antagonist/A in antag_datums) - hijack_speed = max(hijack_speed, A.hijack_speed()) - return hijack_speed + . = max(., A.hijack_speed()) /datum/mind/proc/has_objective(objective_type) for(var/datum/antagonist/A in antag_datums) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 9f18ca9bea..93516765cc 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -73,7 +73,6 @@ GLOBAL_LIST_EMPTY(antagonists) give_antag_moodies() if(is_banned(owner.current) && replace_banned) replace_banned_player() - owner.update_hijack_speed() /datum/antagonist/proc/is_banned(mob/M) if(!M) @@ -101,7 +100,6 @@ GLOBAL_LIST_EMPTY(antagonists) var/datum/team/team = get_team() if(team) team.remove_member(owner) - owner.update_hijack_speed() qdel(src) /datum/antagonist/proc/greet() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index f9b02ac09e..e532d0b824 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -63,11 +63,9 @@ // needs to be refactored to base /datum/antagonist sometime.. /datum/antagonist/traitor/proc/add_objective(datum/objective/O) objectives += O - owner?.update_hijack_speed() /datum/antagonist/traitor/proc/remove_objective(datum/objective/O) objectives -= O - owner?.update_hijack_speed() /datum/antagonist/traitor/proc/forge_traitor_objectives() switch(traitor_kind) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 299b1982fe..8c5e36076e 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -30,9 +30,9 @@ . = ..() if(hijack_announce) . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement." - if(user?.mind?.hijack_speed) + if(user?.mind?.get_hijack_speed()) . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])." - . += "It will take you [(hijack_stage_time * user.mind.hijack_speed) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." + . += "It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage." if(hijack_announce) . += "It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements.." @@ -178,7 +178,7 @@ /obj/machinery/computer/emergency_shuttle/proc/attempt_hijack_stage(mob/living/user) if(!user.CanReach(src)) return - if(!user?.mind?.hijack_speed) + if(!user?.mind?.get_hijack_speed()) to_chat(user, "You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.You [SSshuttle.emergency.hijack_status == INTACT? "begin" : "continue"] to override [src]'s navigational protocols.") say("Software override initiated.") . = FALSE - if(do_after(user, hijack_stage_time * user.mind.hijack_speed, target = src)) + if(do_after(user, hijack_stage_time * user.mind.get_hijack_speed(), target = src)) increase_hijack_stage() . = TRUE to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") From 289bb590cffa939e0e0a5d6d4dda3d4ca77ebeba Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 23 Jan 2020 19:20:35 -0700 Subject: [PATCH 021/221] changes --- code/modules/shuttle/emergency.dm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 8c5e36076e..7462cc52bc 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -186,14 +186,14 @@ if(SSshuttle.emergency.hijack_status >= HIJACKED) to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?") return - if(hijack_last_stage_increase <= world.time + hijack_stage_cooldown) + if(hijack_last_stage_increase >= world.time + hijack_stage_cooldown) say("Error - Catastrophic software error detected. Input is currently on timeout.") return hijack_hacking = TRUE to_chat(user, "You [SSshuttle.emergency.hijack_status == INTACT? "begin" : "continue"] to override [src]'s navigational protocols.") say("Software override initiated.") . = FALSE - if(do_after(user, hijack_stage_time * user.mind.get_hijack_speed(), target = src)) + if(do_after(user, hijack_stage_time * (1 / user.mind.get_hijack_speed()), target = src)) increase_hijack_stage() . = TRUE to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.") @@ -201,33 +201,27 @@ /obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() var/msg - var/replaceprob switch(SSshuttle.emergency.hijack_status) if(INTACT) return if(STAGE_1) var/datum/species/S = new msg = "AUTHENTICATING - FAIL. AUTHENTICATING - FAIL. AUTHENTICATING - FAI###### Welcome, technician [S.random_name(pick(MALE, FEMALE))]." - replaceprob = 10 qdel(S) if(STAGE_2) msg = "Warning: Navigational route fails \"IS_AUTHORIZED\". Please try againNN[scramble_message_replace_chars("againagainagainagainagain", 70)]." - replaceprob = 20 if(STAGE_3) var/hex = "" for(var/i in 1 to 8) hex += num2hex(rand(1,16)) msg = "CRC mismatch at 0x[hex] in calculated route buffer. Full reset initiated of FTL_NAVIGATION_SERVICES. Memory decrypted for automatic repair." - replaceprob = 30 if(STAGE_4) msg = "~ACS_directive module_load(cyberdyne.exploit.nanotrasen.shuttlenav)... NT key mismatch. Confirm load? Y...###Reboot complete. $SET transponder_state = 0; System link initiated with connected engines..." - replaceprob = 35 if(HIJACKED) msg = "SYSTEM OVERRIDE - Resetting course to \[[scramble_message_replace_chars("###########", 100)]\] \ ([scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]/[scramble_message_replace_chars("#######", 100)]) \ {AUTH - ROOT (uid: 0)}.[SSshuttle.emergency.mode == SHUTTLE_ESCAPE? "Diverting from existing route - Bluespace exit in [hijack_completion_flight_time_set/10] seconds." : ""]" - replaceprob = 25 - minor_announce(scramble_message_replace_chars(msg, replaceprob = replaceprob), "Emergency Shuttle", TRUE) + minor_announce(scramble_message_replace_chars(msg, replaceprob = 10), "Emergency Shuttle", TRUE) /obj/machinery/computer/emergency_shuttle/emag_act(mob/user) . = ..() From 40a2698b557868b66992c8e087a26b6ad9d241f0 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 23 Jan 2020 19:22:00 -0700 Subject: [PATCH 022/221] Update emergency.dm --- code/modules/shuttle/emergency.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 7462cc52bc..666e3d92fe 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -3,7 +3,7 @@ #define ENGINES_STARTED (SSshuttle.emergency.mode == SHUTTLE_IGNITING) #define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED || (ENGINES_STARTED)) -#define INTACT 0 +#define NOT_BEGUN 0 #define STAGE_1 1 #define STAGE_2 2 #define STAGE_3 3 @@ -190,7 +190,7 @@ say("Error - Catastrophic software error detected. Input is currently on timeout.") return hijack_hacking = TRUE - to_chat(user, "You [SSshuttle.emergency.hijack_status == INTACT? "begin" : "continue"] to override [src]'s navigational protocols.") + to_chat(user, "You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols.") say("Software override initiated.") . = FALSE if(do_after(user, hijack_stage_time * (1 / user.mind.get_hijack_speed()), target = src)) @@ -202,7 +202,7 @@ /obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() var/msg switch(SSshuttle.emergency.hijack_status) - if(INTACT) + if(NOT_BEGUN) return if(STAGE_1) var/datum/species/S = new @@ -275,7 +275,7 @@ dir = EAST port_direction = WEST var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself - var/hijack_status = INTACT + var/hijack_status = NOT_BEGUN /obj/docking_port/mobile/emergency/canDock(obj/docking_port/stationary/S) return SHUTTLE_CAN_DOCK //If the emergency shuttle can't move, the whole game breaks, so it will force itself to land even if it has to crush a few departments in the process @@ -629,7 +629,7 @@ #undef ENGINES_STARTED #undef IS_DOCKED -#undef INTACT +#undef NOT_BEGUN #undef STAGE_1 #undef STAGE_2 #undef STAGE_3 From ec69b9de4d11c40141c8eea97c289a298fc30302 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 17:04:07 -0700 Subject: [PATCH 023/221] changes --- code/__DEFINES/pool.dm | 8 +- code/modules/pool/pool_controller.dm | 220 ++++++++++++++++----------- code/modules/pool/pool_drain.dm | 2 +- code/modules/pool/pool_main.dm | 8 + 4 files changed, 143 insertions(+), 95 deletions(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index 6d1c9f22df..3df2f15bf6 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -5,6 +5,8 @@ #define POOL_WARM 4 #define POOL_SCALDING 5 -#define POOL_REAGENT_TICK_INTERVAL 5 - -GLOBAL_LIST_INIT(blacklisted_pool_reagents, list("plasma")) \ No newline at end of file +GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( + /datum/reagent/plasma, /datum/reagent/oxygen, /datum/reagent/n2o, /datum/reagent/nitrogen, //gases + /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. + /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/anaphrodisiacplus //literally asking for prefbreaks + )) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 786fd2a5f5..24623cdc68 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -13,56 +13,85 @@ use_power = TRUE idle_power_usage = 75 resistance_flags = INDESTRUCTIBLE - var/list/linkedturfs //List contains all of the linked pool turfs to this controller, assignment happens on initialize - var/list/mobs_in_pool = list()//List contains all the mobs currently in the pool. - var/temperature = POOL_NORMAL //1-5 Frigid Cool Normal Warm Scalding - var/srange = 6 //The range of the search for pool turfs, change this for bigger or smaller pools. - var/list/linkedmist = list() //Used to keep track of created mist - var/misted = FALSE //Used to check for mist. - var/cur_reagent = "water" - var/drainable = FALSE - var/drained = FALSE + /// How far it scans for pool objects + var/scan_range = 6 + /// Is pool mist currently on? + var/mist_state = FALSE + /// Linked mist effects + var/list/obj/effect/mist/linked_mist = list() + /// Pool turfs + var/list/turf/open/pool/linked_turfs = list() + /// All mobs in pool + var/list/mob/living/mobs_in_pool = list() + /// Is the pool bloody? var/bloody = 0 - var/obj/machinery/pool/drain/linked_drain = null - var/obj/machinery/pool/filter/linked_filter = null - var/interact_delay = 0 //cooldown on messing with settings - var/reagent_delay = 0 //cooldown on reagent ticking - var/shocked = FALSE//Shocks morons, like an airlock. - var/tempunlocked = FALSE + /// Last time we process_reagents()'d + var/last_reagent_process = 0 + /// Maximum amount we will take from a beaker + var/max_beaker_transfer = 100 + /// Minimum amount of a reagent for it to work on us + var/min_reagent_amount = 10 + /// ADMINBUS ONLY - WHETHER OR NOT WE HAVE NOREACT ;) + var/noreact_reagents = FALSE + /// how fast in deciseconds between reagent processes + var/reagent_tick_interval = 5 + /// Can we use unsafe temperatures + var/temperature_unlocked = FALSE + /// See __DEFINES/pool.dm, temperature defines + var/temperature = POOL_NORMAL + /// Whether or not the pool can be drained + var/drainable = FALSE + // Whether or not the pool is drained + var/drained = FALSE + /// Pool drain + var/obj/machinery/pool/drain/linked_drain + /// Pool filter + var/obj/machinery/pool/filter/linked_filter + /// Next world.time you can interact with settings + var/interact_delay = 0 + /// Airlock style shocks + var/shocked = FALSE + /// Old reagent color, used to determine if update_color needs to reset colors. var/old_rcolor /obj/machinery/pool/controller/Initialize() . = ..() - START_PROCESSING(SSprocessing, src) - create_reagents(100) + START_PROCESSING(SSfastprocess, src) + create_reagents(1000) + if(noreact_reagents) + reagents.reagent_holder_flags |= NO_REACTION wires = new /datum/wires/poolcontroller(src) scan_things() -/obj/machinery/pool/controller/proc/scan_things() - for(var/turf/open/pool/W in range(srange,src)) - LAZYADD(linkedturfs, W) - W.controller = src - for(var/obj/machinery/pool/drain/pooldrain in range(srange,src)) - linked_drain = pooldrain - linked_drain.pool_controller = src - for(var/obj/machinery/pool/filter/F in range(srange, src)) - linked_filter = F - linked_filter.pool_controller = src - /obj/machinery/pool/controller/Destroy() STOP_PROCESSING(SSprocessing, src) linked_drain = null linked_filter = null - linkedturfs.Cut() + linked_turfs.Cut() mobs_in_pool.Cut() return ..() -/obj/machinery/pool/controller/emag_act(user as mob) //Emag_act, this is called when it is hit with a cryptographic sequencer. +/obj/machinery/pool/controller/proc/scan_things() + var/list/cached = range(scan_range, src) + for(var/turf/open/pool/W in cached) + linked_turfs += W + W.controller = src + for(var/obj/machinery/pool/drain/pooldrain in cached) + linked_drain = pooldrain + linked_drain.pool_controller = src + break + for(var/obj/machinery/pool/filter/F in cached) + linked_filter = F + linked_filter.pool_controller = src + break + +/obj/machinery/pool/controller/emag_act(mob/user) + . = ..() if(!(obj_flags & EMAGGED)) //If it is not already emagged, emag it. to_chat(user, "You disable the [src]'s safety features.") do_sparks(5, TRUE, src) obj_flags |= EMAGGED - tempunlocked = TRUE + temperature_unlocked = TRUE drainable = TRUE log_game("[key_name(user)] emagged [src]") message_admins("[key_name_admin(user)] emagged [src]") @@ -75,31 +104,37 @@ shock(user,50) if(stat & (BROKEN)) return - if(istype(W,/obj/item/reagent_containers)) - if(W.reagents.total_volume >= 100) //check if there's enough reagent + if(!W.reagents.total_volume) //check if there's reagent for(var/datum/reagent/R in W.reagents.reagent_list) - if(R.name in GLOB.blacklisted_pool_reagents) - to_chat(user, "\The [src] cannot accept [R.name].") - reagents.clear_reagents() + if(R.type in GLOB.blacklisted_pool_reagents) + to_chat(user, "[src] cannot accept [R.name].") return if(R.reagent_state == SOLID) to_chat(user, "The pool cannot accept reagents in solid form!.") - reagents.clear_reagents() return reagents.clear_reagents() - W.reagents.copy_to(reagents, 100) - W.reagents.clear_reagents() - user.visible_message("\The [src] makes a slurping noise.", "All of the contents of \the [W] are quickly suctioned out by the machine![src] makes a slurping noise.", "All of the contents of [W] are quickly suctioned out by the machine!= min_reagent_amount) + reagent_names += R.name + else + reagents.remove_reagent(R.type, INFINITY) + rejected += R.name + if(length(reagent_names)) + reagent_names = english_list(reagent_names) + log_game("[key_name(user)] has changed the [src] chems to [reagent_names]") + message_admins("[key_name_admin(user)] has changed the [src] chems to [reagent_names].") + if(length(rejected)) + rejected = english_list(rejected) + to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") else - to_chat(user, "\The [src] beeps unpleasantly as it rejects the beaker. It must not have enough in it.") + to_chat(user, "[src] beeps unpleasantly as it rejects the beaker. Why are you trying to feed it an empty beaker?") return else if(panel_open && is_wire_tool(W)) wires.interact(user) @@ -132,9 +167,11 @@ else return FALSE -/obj/machinery/pool/controller/proc/poolreagent() - if(reagents.reagent_list.len > 0) - for(var/turf/open/pool/W in linkedturfs) +/obj/machinery/pool/controller/proc/process_reagents() + if(last_reagent_process > world.time + reagent_tick_interval) + return + if(length(reagents.reagent_list) > 0) + for(var/turf/open/pool/W in linked_turfs) for(var/mob/living/carbon/human/swimee in W) for(var/datum/reagent/R in reagents.reagent_list) if(R.reagent_state == SOLID) @@ -144,20 +181,18 @@ for(var/obj/objects in W) if(W.reagents) W.reagents.reaction(objects, VAPOR, 1) - reagent_delay = world.time + POOL_REAGENT_TICK_INTERVAL - changecolor() - + last_reagent_process = world.time /obj/machinery/pool/controller/process() updateUsrDialog() if(stat & (NOPOWER|BROKEN)) return if (!drained) - updatePool() + process_pool() if(reagent_delay <= world.time) - poolreagent() + process_reagents() -/obj/machinery/pool/controller/proc/updatePool() +/obj/machinery/pool/controller/proc/process_pool() if(!drained) for(var/mob/living/M in mobs_in_pool) switch(temperature) //Apply different effects based on what the temperature is set to. @@ -165,7 +200,7 @@ M.adjust_bodytemperature(50,0,500) if(POOL_WARM) //Warm M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up - if(POOL_NORMAL) //Normal temp does nothing, because it's just room temperature water. + //Normal temp does nothing, because it's just room temperature water. if(POOL_COOL) M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up if(POOL_FRIGID) //Freezing @@ -184,17 +219,13 @@ if(prob(35)) to_chat(drownee, "You're drowning!") -/* not sure what to do about this part - for(var/obj/effect/decal/cleanable/decal in W) - CHECK_TICK - animate(decal, alpha = 10, time = 20) - QDEL_IN(decal, 25) - if(istype(decal,/obj/effect/decal/cleanable/blood) || istype(decal, /obj/effect/decal/cleanable/trail_holder)) - bloody = TRUE - */ - changecolor() +/obj/machinery/pool/controller/proc/set_bloody(state) + if(bloody == state) + return + bloody = state + update_color() -/obj/machinery/pool/controller/proc/changecolor() +/obj/machinery/pool/controller/proc/update_color() if(drained) return var/rcolor @@ -203,7 +234,7 @@ if(rcolor == old_rcolor) return // small performance upgrade hopefully? old_rcolor = rcolor - for(var/X in linkedturfs) + for(var/X in linked_turfs) var/turf/open/pool/color1 = X if(bloody) if(rcolor) @@ -219,36 +250,26 @@ color1.watereffect.color = null color1.watertop.color = null -/obj/machinery/pool/controller/proc/miston() //Spawn /obj/effect/mist (from the shower) on all linked pool tiles - for(var/X in linkedturfs) - var/turf/open/pool/W = X - if(W.filled) - var/M = new /obj/effect/mist(W) - if(misted) - return - linkedmist += M - misted = TRUE //var just to keep track of when the mist on proc has been called. - -/obj/machinery/pool/controller/proc/mistoff() //Delete all /obj/effect/mist from all linked pool tiles. - for(var/M in linkedmist) - qdel(M) - misted = FALSE //no mist left, turn off the tracking var - -/obj/machinery/pool/controller/proc/handle_temp() - interact_delay = world.time + 10 - mistoff() - icon_state = "poolc_[temperature]" - if(temperature == POOL_SCALDING) - miston() +/obj/machinery/pool/controller/proc/update_temp() + if(mist_status) + if(temperature < POOL_SCALDING) + mist_off() + else + if(temperature == POOL_SCALDING) + mist_on() update_icon() +/obj/machinery/pool/controller/update_icon() + . = ..() + icon_state = "poolc_[temperature]" + /obj/machinery/pool/controller/proc/CanUpTemp(mob/user) - if(temperature == POOL_WARM && (tempunlocked || issilicon(user) || IsAdminGhost(user)) || temperature < POOL_WARM) + if(temperature == POOL_WARM && (temperature_unlocked || issilicon(user) || IsAdminGhost(user)) || temperature < POOL_WARM) return TRUE return FALSE /obj/machinery/pool/controller/proc/CanDownTemp(mob/user) - if(temperature == POOL_COOL && (tempunlocked || issilicon(user) || IsAdminGhost(user)) || temperature > POOL_COOL) + if(temperature == POOL_COOL && (temperature_unlocked || issilicon(user) || IsAdminGhost(user)) || temperature > POOL_COOL) return TRUE return FALSE @@ -261,10 +282,12 @@ if(CanUpTemp(usr)) temperature++ handle_temp() + interact_delay = world.time + 15 if(href_list["DecreaseTemp"]) if(CanDownTemp(usr)) temperature-- handle_temp() + interact_delay = world.time + 15 if(href_list["Activate Drain"]) if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) mistoff() @@ -277,7 +300,7 @@ else new /obj/effect/waterspout(linked_drain.loc) temperature = POOL_NORMAL - handle_temp() + update_temp() bloody = FALSE updateUsrDialog() @@ -335,3 +358,18 @@ if(WIRE_SHOCK) if(!wires.is_cut(wire)) shocked = FALSE + +/obj/machinery/pool/controller/proc/mist_on() //Spawn /obj/effect/mist (from the shower) on all linked pool tiles + if(mist_state) + return + mist_state = TRUE + for(var/X in linked_turfs) + var/turf/open/pool/W = X + if(W.filled) + var/M = new /obj/effect/mist(W) + linked_mist += M + +/obj/machinery/pool/controller/proc/mistoff() //Delete all /obj/effect/mist from all linked pool tiles. + for(var/M in linked_mist) + qdel(M) + mist_state = FALSE diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 51f340a69c..425977d202 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -86,7 +86,7 @@ whirlm.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs to_chat(whirlm, "Your legs are caught in the drain!") else - for(var/turf/open/pool/P in controller.linked_turfs)) + for(var/turf/open/pool/P in controller.linked_turfs) P.filled = FALSE P.update_icon() for(var/obj/efefct/whirlpool/W in range(1, src)) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index abc7611b3f..3cd33c18cf 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -80,6 +80,13 @@ // Entered logic /turf/open/pool/Entered(atom/movable/AM, atom/oldloc) + if(istype(AM, /obj/effect/decal/cleanable)) + var/obj/effect/decal/cleanable/C = AM + if(prob(C.bloodiness)) + controller.set_bloody(TRUE) + QDEL_IN(AM, 25) + animate(AM, alpha = 10, time = 20) + return ..() if(!AM.has_gravity(src)) return ..() if(isliving(AM)) @@ -127,6 +134,7 @@ else if(filled) AM.adjustStaminaLoss(1) playsound(src, "water_wade", 20, TRUE) + return ..() /turf/open/pool/MouseDrop_T(atom/from, mob/user) . = ..() From 483e1b27570eb39c7379ad35c5edfaba91b56697 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 17:10:50 -0700 Subject: [PATCH 024/221] oh we needed that --- code/modules/pool/pool_main.dm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 3cd33c18cf..1089869bc9 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -7,22 +7,31 @@ var/filled = TRUE var/next_splash = 0 var/obj/machinery/pool/controller/controller + var/obj/effect/overlay/water/watereffect + var/obj/effect/overlay/water/top/watertop + +/turf/open/pool/Initialize(mapload) + . = ..() + update_icon() /turf/open/pool/Destroy() controller = null + QDEL_NULL(watereffect) + QDEL_NULL(watertop) return ..() -/turf/open/pool/proc/update_icon_pool() +/turf/open/pool/update_icon() + . = ..() if(!filled) name = "drained pool" desc = "No diving!" - cut_overlay(/obj/effect/overlay/water) - cut_overlay(/obj/effect/overlay/water/top) + QDEL_NULL(watereffect) + QDEL_NULL(watertop) else name = "poolwater" desc = "You're safer here than in the deep." - add_overlay(/obj/effect/overlay/water) - add_overlay(/obj/effect/overlay/water/top) + watereffect = new /obj/effect/overlay/water(src) + watertop = new /obj/effect/overlay/water/top(src) /obj/effect/overlay/water name = "water" @@ -40,7 +49,7 @@ // Mousedrop hook to normal turfs to get out of pools. /turf/open/MouseDrop_T(atom/from, mob/user) // I could make this /open/floor and not have the !istype but ehh - kev - if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && CHECK_MOBILITY(user, MOBILITY_USE) && !istype(src, /turf/open/pool)) + if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. var/pre_msg @@ -140,9 +149,9 @@ . = ..() if(!isliving(from)) return + var/mob/living/victim = from if(user.stat || user.lying || !Adjacent(user) || !from.Adjacent(user) || !iscarbon(user) || !victim.has_gravity(src) || SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) return - var/mob/living/victim = from var/victimname = victim == user? "themselves" : "[victim]" var/starttext = victim == user? "[user] is descending into [src]." : "[user] is lowering [victim] into [src]." user.visible_message("[starttext]") @@ -163,7 +172,7 @@ . = ..() if(.) return - if((user.loc != src) && CHECK_MOBILITY(user, MOBILITY_USE) && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) + if((user.loc != src) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) next_splash = world.time + 25 var/obj/effect/splash/S = new(src) From 19f1eba0155ecb1a1686c8c6f086549be1ababee Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 17:13:11 -0700 Subject: [PATCH 025/221] renames --- code/__DEFINES/pool.dm | 2 +- code/modules/pool/pool_controller.dm | 6 +++--- code/modules/pool/pool_drain.dm | 2 +- code/modules/pool/pool_wires.dm | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index 3df2f15bf6..3a7981d354 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -6,7 +6,7 @@ #define POOL_SCALDING 5 GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( - /datum/reagent/plasma, /datum/reagent/oxygen, /datum/reagent/n2o, /datum/reagent/nitrogen, //gases + /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/anaphrodisiacplus //literally asking for prefbreaks )) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 24623cdc68..6be4fd7643 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -281,12 +281,12 @@ if(href_list["IncreaseTemp"]) if(CanUpTemp(usr)) temperature++ - handle_temp() + update_temp() interact_delay = world.time + 15 if(href_list["DecreaseTemp"]) if(CanDownTemp(usr)) temperature-- - handle_temp() + update_temp() interact_delay = world.time + 15 if(href_list["Activate Drain"]) if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) @@ -369,7 +369,7 @@ var/M = new /obj/effect/mist(W) linked_mist += M -/obj/machinery/pool/controller/proc/mistoff() //Delete all /obj/effect/mist from all linked pool tiles. +/obj/machinery/pool/controller/proc/mist_off() //Delete all /obj/effect/mist from all linked pool tiles. for(var/M in linked_mist) qdel(M) mist_state = FALSE diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 425977d202..c292dd7354 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -62,7 +62,7 @@ pool_controller.bloody /= 2 else pool_controller.bloody /= 4 - pool_controller.changecolor() + pool_controller.update_color() filling = FALSE active = FALSE else diff --git a/code/modules/pool/pool_wires.dm b/code/modules/pool/pool_wires.dm index 7e98383606..7341c503a9 100644 --- a/code/modules/pool/pool_wires.dm +++ b/code/modules/pool/pool_wires.dm @@ -22,7 +22,7 @@ var/obj/machinery/pool/controller/P = holder var/list/status = list() status += "The blue light is [P.drainable ? "on" : "off"]." - status += "The red light is [P.tempunlocked ? "on" : "off"]." + status += "The red light is [P.temperature_unlocked ? "on" : "off"]." status += "The yellow light is [P.shocked ? "on" : "off"]." return status @@ -32,7 +32,7 @@ if(POOL_WIRE_DRAIN) P.drainable = FALSE if(POOL_WIRE_TEMP) - P.tempunlocked = FALSE + P.temperature_unlocked = FALSE if(WIRE_SHOCK) P.shocked = !P.shocked addtimer(CALLBACK(P, /obj/machinery/autolathe.proc/reset, wire), 60) @@ -47,9 +47,9 @@ P.drainable = TRUE if(POOL_WIRE_TEMP) if(mend) - P.tempunlocked = FALSE + P.temperature_unlocked = FALSE else - P.tempunlocked = TRUE + P.temperature_unlocked = TRUE if(WIRE_ZAP) P.shock(usr, 50) if(WIRE_SHOCK) From ebff6c9f385d13fb4da0df418eaedd3a27b338e6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 17:25:15 -0700 Subject: [PATCH 026/221] compile, jump board crash to ground --- code/__DEFINES/pool.dm | 2 +- code/datums/elements/swimming.dm | 2 +- code/modules/pool/pool_controller.dm | 13 +++++---- code/modules/pool/pool_drain.dm | 40 ++++++++++++++-------------- code/modules/pool/pool_main.dm | 22 +++++++-------- code/modules/pool/pool_structures.dm | 33 +++++++++++++---------- 6 files changed, 58 insertions(+), 54 deletions(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index 3a7981d354..aabcd3493e 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -8,5 +8,5 @@ GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. - /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/anaphrodisiacplus //literally asking for prefbreaks + /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/drug/anaphrodisiacplus //literally asking for prefbreaks )) diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm index 2349a1e50f..eeabc465ed 100644 --- a/code/datums/elements/swimming.dm +++ b/code/datums/elements/swimming.dm @@ -21,4 +21,4 @@ /datum/element/swimming/proc/check_valid(datum/source) var/mob/living/L = source if(!istype(L.loc, /turf/open/pool)) - source.RemoveElement(/datum/elemtn/swimming) + source.RemoveElement(/datum/element/swimming) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 6be4fd7643..7076635a06 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -59,7 +59,7 @@ START_PROCESSING(SSfastprocess, src) create_reagents(1000) if(noreact_reagents) - reagents.reagent_holder_flags |= NO_REACTION + reagents.reagents_holder_flags |= NO_REACTION wires = new /datum/wires/poolcontroller(src) scan_things() @@ -189,8 +189,7 @@ return if (!drained) process_pool() - if(reagent_delay <= world.time) - process_reagents() + process_reagents() /obj/machinery/pool/controller/proc/process_pool() if(!drained) @@ -251,7 +250,7 @@ color1.watertop.color = null /obj/machinery/pool/controller/proc/update_temp() - if(mist_status) + if(mist_state) if(temperature < POOL_SCALDING) mist_off() else @@ -290,11 +289,11 @@ interact_delay = world.time + 15 if(href_list["Activate Drain"]) if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) - mistoff() + mist_off() interact_delay = world.time + 60 linked_drain.active = TRUE - linked_drain.timer = 15 - if(!linked_drain.status) + linked_drain.cycles_left = 15 + if(!linked_drain.filling) new /obj/effect/whirlpool(linked_drain.loc) temperature = POOL_NORMAL else diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index c292dd7354..36debbc06e 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -14,7 +14,7 @@ /// Drain mode suction range var/drain_suck_range = 6 /// Parent controller - var/obj/machinery/pool/controller/pool_controller + var/obj/machinery/pool/controller/controller /// Cycles left for fill/drain while active var/cycles_left = 0 /// Mobs we are swirling around @@ -28,8 +28,8 @@ return ..() /obj/machinery/pool/drain/Destroy() - pool_controller.linked_drain = null - pool_controller = null + controller.linked_drain = null + controller = null whirling_mobs = null return ..() @@ -40,11 +40,11 @@ if(!I.anchored && (I.w_class == WEIGHT_CLASS_SMALL)) step_towards(I, src) if((I.w_class == WEIGHT_CLASS_TINY) && (get_dist(I, src) == 0)) - I.forceMove(pool_controller.linked_filter) + I.forceMove(controller.linked_filter) if(active) if(filling) - if(timer-- > 0) - playsound(src, 'sound/efefcts/fillingwatter.ogg', 100, TRUE) + if(cycles_left-- > 0) + playsound(src, 'sound/effects/fillingwatter.ogg', 100, TRUE) for(var/obj/O in orange(min(fill_push_range, 10), src)) if(!O.anchored) step_away(O, src) @@ -57,16 +57,16 @@ P.update_ion() for(var/obj/effect/waterspout/S in range(1, src)) qdel(S) - pool_controller.drained = FALSE - if(pool_controller.bloody < 1000) - pool_controller.bloody /= 2 + controller.drained = FALSE + if(controller.bloody < 1000) + controller.bloody /= 2 else - pool_controller.bloody /= 4 - pool_controller.update_color() + controller.bloody /= 4 + controller.update_color() filling = FALSE active = FALSE else - if(timer-- > 0) + if(cycles_left-- > 0) playsound(src, 'sound/effects/pooldrain.ogg', 100, TRUE) playsound(src, "water_wade", 60, TRUE) for(var/obj/O in orange(min(drain_suck_range, 10), src)) @@ -81,18 +81,18 @@ playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) if(H.lying) //down for any reason H.adjustBruteLoss(5) - to_chat(whirlm, "You're caught in the drain!") + to_chat(H, "You're caught in the drain!") else - whirlm.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs - to_chat(whirlm, "Your legs are caught in the drain!") + H.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs + to_chat(H, "Your legs are caught in the drain!") else for(var/turf/open/pool/P in controller.linked_turfs) P.filled = FALSE P.update_icon() - for(var/obj/efefct/whirlpool/W in range(1, src)) + for(var/obj/effect/whirlpool/W in range(1, src)) qdel(W) linked_controller.drained = TRUE - linked_controller.mistoff() + linked_controller.mist_off() active = FALSE filling = TRUE @@ -111,11 +111,11 @@ name = "Filter" icon_state = "filter" desc = "The part of the pool where all the IDs, ATV keys, and pens, and other dangerous things get trapped." - var/obj/machinery/pool/controller/pool_controller + var/obj/machinery/pool/controller/controller /obj/machinery/pool/filter/Destroy() - pool_controller.linked_filter = null - pool_controller = null + controller.linked_filter = null + controller = null return ..() /obj/machinery/pool/filter/emag_act(mob/living/user) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 1089869bc9..cb9f598729 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -49,21 +49,21 @@ // Mousedrop hook to normal turfs to get out of pools. /turf/open/MouseDrop_T(atom/from, mob/user) // I could make this /open/floor and not have the !istype but ehh - kev - if(SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) + if(isliving(from) && SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. var/pre_msg var/post_msg if(user == from) - pre_msg = "[from] is getting out of the pool." - post_msg = "[from] gets out of the pool." + pre_msg = "[L] is getting out of the pool." + post_msg = "[L] gets out of the pool." else - pre_msg = "[from] is being pulled out of the pool by [user]." - post_msg = "[user] pulls [from] out of the pool." - from.visible_message(pre_msg) - if(do_mob(user, from, 20)) - from.visible_message(post_msg) - from.forceMove(src) + pre_msg = "[L] is being pulled out of the pool by [user]." + post_msg = "[user] pulls [L] out of the pool." + L.visible_message(pre_msg) + if(do_mob(user, L, 20)) + L.visible_message(post_msg) + L.forceMove(src) else return ..() @@ -141,7 +141,7 @@ H.Knockdown(40) playsound(src, 'sound/effects/woodhit.ogg', 60, TRUE, 1) else if(filled) - AM.adjustStaminaLoss(1) + victim.adjustStaminaLoss(1) playsound(src, "water_wade", 20, TRUE) return ..() @@ -172,7 +172,7 @@ . = ..() if(.) return - if((user.loc != src) && !user.IsStunned() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) + if((user.loc != src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) next_splash = world.time + 25 var/obj/effect/splash/S = new(src) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 72a5289f23..914b2db129 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -55,7 +55,7 @@ jumpee.pixel_x = 0 jumpee.pixel_y = 0 jumpee.Stun(2) - jumpee.swimming = TRUE + jumpee.AddElement(/datum/element/swimming) /obj/structure/pool/Lboard/attack_hand(mob/living/user) if(iscarbon(user)) @@ -64,13 +64,9 @@ to_chat(user, "Someone else is already making a jump!") return var/turf/T = get_turf(src) - if(user.swimming) + if(SEND_SIGNAL(user, COMSIG_IS_SWIMMING)) return else - for(var/obj/machinery/pool/controller/pc in range(4,src)) //Clunky as fuck I know. - if(pc.drained) - to_chat(user, "That would be suicide") //TODO: make this a suicide action. - return if(Adjacent(jumper)) jumper.visible_message("[user] climbs up \the [src]!", \ "You climb up \the [src] and prepares to jump!") @@ -79,7 +75,7 @@ jumper.layer = RIPPLE_LAYER jumper.pixel_x = 3 jumper.pixel_y = 7 - jumper.dir=8 + jumper.dir = 8 sleep(1) jumper.loc = T addtimer(CALLBACK(src, .proc/dive, jumper), 10) @@ -92,7 +88,7 @@ sleep(15) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 1, 1) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) if(21 to 40) jumper.visible_message("[jumper] goes for a dive!", \ @@ -100,7 +96,7 @@ sleep(20) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 2, 1) + jumper.throw_at(throw_target, 2, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) if(41 to 60) jumper.visible_message("[jumper] goes for a long dive! Stay far away!", \ @@ -108,7 +104,7 @@ sleep(25) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 3, 1) + jumper.throw_at(throw_target, 3, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) if(61 to 80) jumper.visible_message("[jumper] goes for an awesome dive! Don't stand in [jumper.p_their()] way!", \ @@ -116,14 +112,14 @@ sleep(30) backswim() var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 4, 1) + jumper.throw_at(throw_target, 4, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) if(81 to 91) sleep(20) backswim() jumper.visible_message("[jumper] misses [jumper.p_their()] step!", \ "You misstep!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 0, 1) + jumper.throw_at(throw_target, 0, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) jumper.Knockdown(100) jumper.adjustBruteLoss(10) @@ -138,7 +134,7 @@ jumper.visible_message("[jumper] fails!", \ "You can't quite do it!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 1, 1) + jumper.throw_at(throw_target, 1, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) else jumper.fire_stacks = min(1,jumper.fire_stacks + 1) jumper.IgniteMob() @@ -147,8 +143,17 @@ jumper.visible_message("[jumper] bursts into flames of pure awesomness!", \ "No one can stop you now!") var/atom/throw_target = get_edge_target_turf(src, dir) - jumper.throw_at(throw_target, 6, 1) + jumper.throw_at(throw_target, 6, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) addtimer(CALLBACK(src, .proc/togglejumping), 35) /obj/structure/pool/Lboard/proc/togglejumping() jumping = FALSE + +/obj/structure/pool/Lboard/proc/on_finish_jump(mob/living/victim) + if(istype(victim.loc, /turf/open/pool)) + var/turf/open/pool/P = victim.loc + if(!P.filled) //you dun fucked up now + to_chat(victim, "That was stupid of you..") + victim.visible_message("[victim] smashes into the ground!") + victim.apply_damage(50) + victim.Knockdown(200) From 3af72acfb2f64c26a9a510467e2e94033563ae70 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 17:26:43 -0700 Subject: [PATCH 027/221] compile --- code/modules/pool/pool_controller.dm | 4 ++-- code/modules/pool/pool_drain.dm | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 7076635a06..07a982e412 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -78,11 +78,11 @@ W.controller = src for(var/obj/machinery/pool/drain/pooldrain in cached) linked_drain = pooldrain - linked_drain.pool_controller = src + linked_drain.controller = src break for(var/obj/machinery/pool/filter/F in cached) linked_filter = F - linked_filter.pool_controller = src + linked_filter.controller = src break /obj/machinery/pool/controller/emag_act(mob/user) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 36debbc06e..930633eaa5 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -54,7 +54,7 @@ else for(var/turf/open/pool/P in controller.linked_turfs) P.filled = TRUE - P.update_ion() + P.update_icon() for(var/obj/effect/waterspout/S in range(1, src)) qdel(S) controller.drained = FALSE @@ -91,8 +91,8 @@ P.update_icon() for(var/obj/effect/whirlpool/W in range(1, src)) qdel(W) - linked_controller.drained = TRUE - linked_controller.mist_off() + controller.drained = TRUE + controller.mist_off() active = FALSE filling = TRUE From d034467cb2248b5b6310376eb57d92afbd5c9bf6 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sat, 25 Jan 2020 18:59:46 -0600 Subject: [PATCH 028/221] adds the pool to the map again --- _maps/map_files/BoxStation/BoxStation.dmm | 985 +++++++++++++++++----- 1 file changed, 756 insertions(+), 229 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 56126c6e37..96f4e47bd6 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3984,7 +3984,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -6153,11 +6158,8 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6165,11 +6167,16 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness"; + name = "Pool Room APC"; + pixel_y = -23 + }, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -6327,7 +6334,7 @@ dir = 10 }, /turf/closed/wall, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "aof" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -7155,14 +7162,10 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/airlock{ - id_tag = "Room Two"; - name = "Room Seven - Luxury Suite" - }, -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53147,6 +53150,10 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) +"cUE" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cVb" = ( /turf/closed/wall, /area/hallway/secondary/service) @@ -53204,6 +53211,15 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"det" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dfh" = ( /obj/machinery/power/apc{ areastring = "/area/science/circuit"; @@ -53259,6 +53275,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"diJ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dkk" = ( /obj/machinery/photocopier{ pixel_x = -5; @@ -53266,6 +53285,19 @@ }, /turf/open/floor/wood, /area/library) +"dlv" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"dmP" = ( +/obj/structure/table/glass, +/obj/item/clothing/under/shorts/blue{ + desc = "So comfy and easy to wear!" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dok" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" @@ -53281,6 +53313,10 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) +"dpB" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "dqu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -53291,6 +53327,15 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"duD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "dvc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -53336,6 +53381,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/crew_quarters/toilet) +"dEm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) +"dFp" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dHb" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -53439,6 +53496,13 @@ /obj/item/reagent_containers/food/snacks/burger/plain, /turf/open/floor/wood, /area/crew_quarters/bar) +"ehf" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"ejW" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "elw" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -53483,9 +53547,12 @@ /turf/open/floor/plating, /area/maintenance/bar) "ewZ" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"exX" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "eyM" = ( /obj/machinery/mineral/ore_redemption{ input_dir = 2; @@ -53494,6 +53561,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"eyW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"ezu" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"eDG" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eHI" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -53599,6 +53679,9 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"eVq" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eVC" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/firedoor, @@ -53649,6 +53732,9 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"fiD" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fjy" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -53677,6 +53763,9 @@ }, /turf/closed/wall, /area/quartermaster/miningdock) +"foQ" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "frE" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -53763,6 +53852,9 @@ "fzd" = ( /turf/closed/wall, /area/crew_quarters/abandoned_gambling_den) +"fCG" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fGf" = ( /obj/machinery/smartfridge/disks{ pixel_y = 2 @@ -53839,13 +53931,15 @@ }, /area/crew_quarters/theatre) "fOc" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "fPs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -53859,13 +53953,6 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "fQF" = ( -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 5; - icon_state = "roomnum"; - name = "Room Number 7"; - pixel_y = 24 - }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53903,6 +53990,10 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) +"fYw" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "fZD" = ( /obj/structure/filingcabinet, /obj/machinery/light{ @@ -53911,6 +54002,9 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"gaF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "gbq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54019,6 +54113,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"grG" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "gtL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -54098,13 +54195,29 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "gQn" = ( -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"gQx" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "gSH" = ( /obj/structure/grille, /turf/closed/wall/r_wall, /area/space/nearstation) +"gSS" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "gVX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -54241,6 +54354,10 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"hmQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "hoo" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -54319,6 +54436,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"hRb" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "hRz" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -54360,6 +54480,14 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"hWD" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"hXv" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "hYW" = ( /obj/machinery/light/small{ dir = 4 @@ -54389,32 +54517,26 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "iep" = ( -/obj/structure/mirror{ - pixel_y = 32 +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/structure/toilet{ +/turf/open/floor/plasteel/yellowsiding{ dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "ier" = ( -/obj/machinery/button/door{ - id = "Room Two"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -24; - specialfunctions = 4 - }, -/obj/structure/chair/comfy/brown{ +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "igT" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -54439,6 +54561,12 @@ "iiW" = ( /turf/open/floor/wood, /area/maintenance/bar) +"ijX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ikx" = ( /turf/open/floor/plating/foam, /area/space/nearstation) @@ -54453,6 +54581,9 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/maintenance/bar) +"iok" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "ioB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -54505,6 +54636,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"isS" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "itG" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -54555,6 +54689,9 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"iBc" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "iEx" = ( /obj/structure/table/wood, /obj/machinery/light{ @@ -54580,12 +54717,33 @@ /obj/structure/fireplace, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"iFh" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"iFx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "iFL" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/carpet, /area/crew_quarters/theatre) +"iGq" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"iIF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "iMG" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-14" @@ -54797,6 +54955,20 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) +"jlQ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"jmw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "jmC" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -54890,6 +55062,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/execution/transfer) +"jvr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "jvN" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -54918,6 +55096,9 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) +"jBy" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jBZ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54946,6 +55127,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"jCN" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jDY" = ( /obj/structure/chair{ dir = 4 @@ -54979,6 +55163,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) +"jIk" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jJF" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ @@ -54995,6 +55186,10 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"jMt" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jMK" = ( /obj/structure/cable{ icon_state = "1-4" @@ -55043,6 +55238,15 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"jTK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55075,8 +55279,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "kay" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/bluecherrycupcake{ @@ -55138,14 +55344,16 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "khB" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/door/airlock/maintenance{ + name = "Dormitories Maintenance"; + req_access_txt = "12" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"kil" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "klu" = ( /obj/structure/lattice, /turf/open/space/basic, @@ -55216,6 +55424,9 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) +"kwe" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "kwy" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -55314,6 +55525,9 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"kKb" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "kKw" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -55427,6 +55641,19 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/locker) +"kYB" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"lda" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "lhg" = ( /obj/machinery/vending/clothing, /obj/structure/disposalpipe/segment{ @@ -55505,6 +55732,9 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) +"lCr" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "lCB" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -55628,6 +55858,15 @@ /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"mbT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) +"mcu" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "mfb" = ( /obj/structure/toilet{ dir = 8 @@ -55704,12 +55943,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) +"mFp" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "mHC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"mIm" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"mIH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mIS" = ( /obj/structure/table, /obj/item/clothing/gloves/boxing/yellow, @@ -55720,6 +55969,10 @@ /obj/item/clothing/gloves/boxing, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"mNb" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "mNi" = ( /obj/machinery/light_switch{ pixel_x = -20 @@ -55750,6 +56003,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"mRh" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "mTp" = ( /obj/structure/chair/sofa/left, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -55757,6 +56015,17 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"mWt" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/yellow, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mXB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -55785,6 +56054,9 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"nec" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nel" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -55839,6 +56111,13 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"nnK" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"noA" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "nrR" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -55918,6 +56197,9 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"nHN" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "nIE" = ( /obj/structure/sign/poster/contraband/tools, /turf/closed/wall, @@ -56058,6 +56340,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"opc" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "orw" = ( /obj/structure/table, /obj/structure/cable{ @@ -56114,6 +56399,10 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"oDX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "oFk" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/plasteel, @@ -56254,6 +56543,17 @@ }, /turf/open/floor/plasteel, /area/science/mixing) +"poh" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"poi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ppY" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -56281,13 +56581,8 @@ /turf/open/space/basic, /area/space/nearstation) "prU" = ( -/obj/item/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_x = 27 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ptV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56304,6 +56599,10 @@ /obj/item/clothing/under/color/grey, /turf/open/floor/plating, /area/maintenance/port/aft) +"pvW" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "pxD" = ( /obj/structure/chair/sofa, /obj/structure/window{ @@ -56365,6 +56664,13 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"pLj" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -56494,11 +56800,8 @@ /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) "pZv" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qbx" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -56507,12 +56810,23 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"qbA" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/science/circuit) +"qfZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"qhi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "qje" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -56522,6 +56836,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"qjO" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"qjV" = ( +/obj/machinery/pool/filter{ + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qkC" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/starboard/fore"; @@ -56565,12 +56888,8 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "qoP" = ( -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/structure/chair/sofa/left, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qpA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56692,21 +57011,23 @@ /turf/open/floor/plating, /area/security/prison) "qNs" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - on = 0; - pixel_x = -7; - pixel_y = 12 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "qOf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"qPC" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qQJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56728,6 +57049,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"qXW" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rcD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56752,6 +57079,9 @@ /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"rhk" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "riA" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -56947,6 +57277,16 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel/white, /area/science/circuit) +"scl" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sdL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -56973,6 +57313,12 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"shw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "sjm" = ( /obj/structure/table/wood, /obj/item/instrument/piano_synth, @@ -57115,6 +57461,11 @@ icon_state = "panelscorched" }, /area/maintenance/starboard/fore) +"sAb" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "sAI" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/condiment/saltshaker{ @@ -57133,6 +57484,12 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) +"sAO" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"sCg" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sEt" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" @@ -57146,6 +57503,9 @@ dir = 1 }, /area/hallway/primary/starboard) +"sKh" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "sLr" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -57189,6 +57549,10 @@ /obj/structure/chair/office/light, /turf/open/floor/plasteel/white, /area/science/circuit) +"sVl" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sWR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57212,6 +57576,9 @@ /obj/machinery/vending/boozeomat/all_access, /turf/closed/wall, /area/maintenance/bar) +"sXL" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "sYv" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57242,6 +57609,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) +"taA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "tdF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -57253,12 +57629,28 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"tfq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "thr" = ( /obj/structure/frame/computer{ dir = 1 }, /turf/open/floor/plating, /area/space/nearstation) +"tkj" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tkU" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" @@ -57405,6 +57797,9 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"tFN" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tGG" = ( /obj/structure/table/wood, /obj/item/book/codex_gigas, @@ -57437,6 +57832,9 @@ /obj/item/instrument/violin, /turf/open/floor/wood, /area/crew_quarters/bar) +"tKZ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tLl" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -57458,6 +57856,16 @@ /obj/item/pen/fountain, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"tNB" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/yellow, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "tNJ" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57484,9 +57892,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "tPT" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, @@ -57525,6 +57934,14 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) +"tWc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "tWs" = ( /obj/structure/cable{ icon_state = "2-4" @@ -57640,6 +58057,10 @@ /obj/item/soap, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"umF" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "unl" = ( /obj/item/flashlight/lamp/green{ pixel_x = -3; @@ -57738,6 +58159,10 @@ /obj/structure/sign/departments/restroom, /turf/closed/wall, /area/crew_quarters/toilet) +"uBk" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uDW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57749,6 +58174,12 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"uEh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "uNu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57766,6 +58197,9 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"uRD" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "uTq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -57808,6 +58242,9 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"uYF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uZM" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -57876,6 +58313,9 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/crew_quarters/bar) +"vlu" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vpm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -57916,6 +58356,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"vyd" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vys" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -57961,6 +58404,12 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"vBb" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "vCb" = ( /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, @@ -57973,6 +58422,9 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/space/nearstation) +"vFf" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "vFt" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, @@ -58069,6 +58521,12 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"vPX" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vRr" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58093,10 +58551,18 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"vTB" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "vUR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/security/prison) +"vVu" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vVP" = ( /obj/structure/cable{ icon_state = "0-4" @@ -58127,6 +58593,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, /area/security/prison) +"vXd" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "vYa" = ( /turf/open/floor/plasteel, /area/crew_quarters/fitness) @@ -58158,6 +58628,15 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) +"wnW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58207,6 +58686,12 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"wtK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wuB" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -58249,6 +58734,12 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"wwK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wyM" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -58260,6 +58751,10 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"wzi" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "wAB" = ( /obj/structure/chair/office/light, /obj/machinery/firealarm{ @@ -58286,6 +58781,9 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) +"wCg" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wDR" = ( /obj/structure/sign/poster/official/help_others{ pixel_y = -32 @@ -58431,6 +58929,10 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) +"xhu" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "xhx" = ( /obj/structure/cable{ icon_state = "1-2" @@ -58480,6 +58982,9 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"xmc" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xpx" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -58525,6 +59030,10 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"xHQ" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, @@ -58537,6 +59046,15 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"xIt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "xLZ" = ( /obj/structure/closet/radiation, /turf/open/floor/plasteel, @@ -58554,6 +59072,12 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xOM" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"xON" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xWM" = ( /obj/structure/grille/broken, /turf/open/floor/plating, @@ -58590,6 +59114,9 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/plasteel, /area/science/mixing) +"ygY" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "yiN" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -93129,7 +93656,7 @@ aif aif aif aif -aif +jmw bkV fvk alK @@ -93382,11 +93909,11 @@ abp hlY ahn aiA -aiA -aiA +ahn +ahn ahn hYW -anF +iFx aod ahn apx @@ -93638,12 +94165,12 @@ unE abp nea ahn +xhu +ahn aaa -aaf -aaf ahn ahn -anE +iFx aod aoK sgV @@ -93895,10 +94422,10 @@ aaa adR ahn ahn +lda +ahn aaa aaa -aaa -aaf ahn anG aoe @@ -94151,14 +94678,14 @@ aaa aaa gXs aaa -aaa -aaa -aaa +jmC +jmC +jmC aaa aaa ahn khB -ahn +qjO ahn ahn ahn @@ -94413,16 +94940,16 @@ aaa aaa aaa aaa -aag -aag -aag -arf +qjO +vPX +jvr +tWc iep gQn -arf -myt +tfq +duD qNs -lMx +oDX sjw clO asZ @@ -94670,16 +95197,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -arf -pZv -tQk -cVp -jdT +qjO +det +isS +qjV +ehf +ehf +ehf +ehf ier -arf +qjO arm vYa aya @@ -94927,14 +95454,14 @@ aaa aaa aaa aaa -aaa -aaa -aaa -arf -arf -arf -arf -iES +eyW +vPX +isS +pLj +ehf +ehf +ehf +ehf jYI aqs hVw @@ -95184,16 +95711,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -arf -ewZ -jdT +eyW +vPX +isS +ehf +ehf +ehf +ehf +ehf tOU -arf +pvW fQF qbx qux @@ -95441,16 +95968,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -arf -qoP -prU +eyW +vPX +mNb +ehf +ehf +uBk +ehf +ehf fOc -arf +qjO oSO sAI fJa @@ -95698,16 +96225,16 @@ aaa aaa aaa aaa -aaa -aaa -aae -aaa -aaa -arf -arf -arf -arf -arf +eyW +vPX +isS +ehf +ehf +ehf +ehf +ehf +jTK +qjO mTp qEv kRk @@ -95955,15 +96482,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs +eyW +vPX +isS +ehf +ehf +ehf +ehf +ehf +jTK kHJ rEV rEV @@ -96212,15 +96739,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs +eyW +vPX +isS +ehf +ehf +ehf +ehf +ehf +jTK aqu aro aro @@ -96469,15 +96996,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa +eyW +dmP +isS +pLj +ehf +ehf +ehf +ehf +jTK aqu aro aro @@ -96726,15 +97253,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa +eyW +scl +isS +ehf +ehf +ejW +ehf +ehf +jTK aqu aro aro @@ -96983,15 +97510,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa +eyW +scl +sAb +mRh +mRh +vBb +mbT +shw +wnW aqu aro aro @@ -97240,15 +97767,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa -aaa +qjO +mWt +vVu +vVu +vVu +vVu +vVu +vVu +poh aqu aro aro @@ -97497,15 +98024,15 @@ aaa aaa aaa aaa -aaa -aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa +qjO +qjO +eyW +eyW +eyW +eyW +eyW +eyW +qjO haX rEV rEV @@ -97751,12 +98278,12 @@ aaS aaS aaS aaS -aaS -aaS -aaS -aaS -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -98009,10 +98536,10 @@ aaf aaa aaf aaa -aaf aaa -aaS -aaf +aaa +aaa +aaa aaa aaa aaa @@ -98268,7 +98795,7 @@ ads adS aeG aaa -aaS +aaa aaa aaa aaa From df4ca4b503a92c09f3b706834ab823438d55bf82 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 19:29:03 -0700 Subject: [PATCH 029/221] do after --- code/modules/pool/pool_controller.dm | 58 ++++++++++++++-------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 07a982e412..a044bbb070 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -105,34 +105,36 @@ if(stat & (BROKEN)) return if(istype(W,/obj/item/reagent_containers)) - if(!W.reagents.total_volume) //check if there's reagent - for(var/datum/reagent/R in W.reagents.reagent_list) - if(R.type in GLOB.blacklisted_pool_reagents) - to_chat(user, "[src] cannot accept [R.name].") - return - if(R.reagent_state == SOLID) - to_chat(user, "The pool cannot accept reagents in solid form!.") - return - reagents.clear_reagents() - // This also reacts them. No nitroglycerin deathpools, sorry gamers :( - W.reagents.trans_to(reagents, max_beaker_transfer) - user.visible_message("[src] makes a slurping noise.", "All of the contents of [W] are quickly suctioned out by the machine!= min_reagent_amount) - reagent_names += R.name - else - reagents.remove_reagent(R.type, INFINITY) - rejected += R.name - if(length(reagent_names)) - reagent_names = english_list(reagent_names) - log_game("[key_name(user)] has changed the [src] chems to [reagent_names]") - message_admins("[key_name_admin(user)] has changed the [src] chems to [reagent_names].") - if(length(rejected)) - rejected = english_list(rejected) - to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") + if(W.reagents.total_volume) //check if there's reagent + user.visible_message("[user] is feeding [src] some chemicals from [w].") + if(do_after(user, 50, target = src)) + for(var/datum/reagent/R in W.reagents.reagent_list) + if(R.type in GLOB.blacklisted_pool_reagents) + to_chat(user, "[src] cannot accept [R.name].") + return + if(R.reagent_state == SOLID) + to_chat(user, "The pool cannot accept reagents in solid form!.") + return + reagents.clear_reagents() + // This also reacts them. No nitroglycerin deathpools, sorry gamers :( + W.reagents.trans_to(reagents, max_beaker_transfer) + user.visible_message("[src] makes a slurping noise.", "All of the contents of [W] are quickly suctioned out by the machine!= min_reagent_amount) + reagent_names += R.name + else + reagents.remove_reagent(R.type, INFINITY) + rejected += R.name + if(length(reagent_names)) + reagent_names = english_list(reagent_names) + log_game("[key_name(user)] has changed the [src] chems to [reagent_names]") + message_admins("[key_name_admin(user)] has changed the [src] chems to [reagent_names].") + if(length(rejected)) + rejected = english_list(rejected) + to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") else to_chat(user, "[src] beeps unpleasantly as it rejects the beaker. Why are you trying to feed it an empty beaker?") return From c5f2eeef3b69d7822d597503c64b179bfa5a7c38 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 19:31:57 -0700 Subject: [PATCH 030/221] FUCK --- code/modules/pool/pool_controller.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index a044bbb070..60564ce42c 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -106,7 +106,7 @@ return if(istype(W,/obj/item/reagent_containers)) if(W.reagents.total_volume) //check if there's reagent - user.visible_message("[user] is feeding [src] some chemicals from [w].") + user.visible_message("[user] is feeding [src] some chemicals from [W].") if(do_after(user, 50, target = src)) for(var/datum/reagent/R in W.reagents.reagent_list) if(R.type in GLOB.blacklisted_pool_reagents) From dbf69e80db656f27dd690353e8346a1ea90a9427 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 19:36:13 -0700 Subject: [PATCH 031/221] area pool --- icons/turf/areas.dmi | Bin 38605 -> 38771 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index aad3e78590e9d275cf62bee4a4e1bea67b2ef47a..cd504a124a780a391b56131d60b3eac740a6ad26 100644 GIT binary patch delta 8530 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 delta 8377 zcmZu#1zeL|)F0uCh;)idDH0fPr+!02QRW*&a$#LI#ddFbK)fNR19@K^T(K z!i3Q^#=h~suV3%?yU%m(Ip>~p@AKUM|2cO%CFK3Z~DiA`?KP~%w6tIKJIwhPU`zPsfu3AM> zYCoo2Er|;muV1q>Lt);5BLc-4`2LOk<$%yRAU9}rHTawG#ni;P1L>&* zMV&eG*`wE6(PRk~fn>I1A+`Ma7RgWgMv)=;2h^rK$g4}kCs>kj(q)H#` zk*;2W^x0uvkGHB56;`~I#|A>P)Z}{12_Yv)ga?H-ryYxn1<%My__1~GN$^3cmKuNW zPpy>%Zn!sMih=`R_m#Qllii1IL=!G0Y7J;#{*}=EEM^yM|NDKE_ZV5(R0xgPg?pc_ z(L4)E*`t(g%e(uU@mHDgTS&qeT6UV|Dayt}_^sFcVt-YNi05dX6m(KvUvK>=V`KEz zQ&LGLUQO>(a-u_9=&KYF)onX$kB0<*HY{kV0)!N!G1Uy70*JTiluInx_AgqDn6D^5 zgfFh=getiuRpZQ(u zQ|7Mq!MY4b4M5~7y$4$jJ-`z$VSSpWoqZ?mDi+YI(>pQ>i)l1X+HH-u^B#OZ$>`;C zVBAh1T|5$mZ*BG(*lr>V`+kb6%-y6~?0f83^n~&dcqiy)bhxxXpvh8*7(bgvJ>CU> zGRM=wQEP8Ha&NlvBW%ZP1WjGCDxje zWcI@3{wmQNw#dk>m)7xhF4&mVpOz{4CT(!=k6e>q=c?yDn=4#;83?J#4_GNwx2tPL z*N2vwGW$%k{w}Nyg^3!Kq82agdz-hQW5DAWH&OMBa7|8f+xpxLeaa#qO_|m69Kd?I zi!M{?52@*FeyeiFI%frGdurL==`O=eo0v1@&l1NvHAu4==FPI>5oLoVnXlHPG`p1> z4Zh1s3FegbJS&grD)@zr1KpcV(IIy?$%Wly?C&rR{krg}S?5tm+rzY>Qk~q0QdWAi zxzdSGI#rQjbn1C7Ag?9K>xU&R&y&?P$9@C_E5WIhyeoBtk1^*9V|{M=BYe8^7Lx1k zT?1P~A`8mY$;E(W`yQm)u^7#sHjXgDOk4KpnV^rxQL}?o%m=9EJ?KsBgEeCPCJBin z;;u5TN)1f}nkA(-+g1g_Q5BfKKDYvAm-*)(P8YoJU&;MX72f^ourQQaPqF- zYf0$&iT2*8!KcA8Tv37XY9G`Hr z!{dXY6ss2}2eW(5>nnaQAf>&V+9_7`u8vuT&P2lHj66*&K)gr~qc)6INzO6GO`-vY z2yzhV_g<30igW`&pp>mnGMbhT!s_iO>h~iHN|lZJs3Qvm8F#?_rzPfnC>B}$mx@NA zDhA0>M=9k0SkBQI=lYuJn<{N66X0JFH%Q zOkAl=yS8j}(X;&|=EL5Ok>s+i1ii85T-9w4!07JsSwA8ohARw`s8rt6A_(cL%i zb2rOB^EPledK<)v!*BR{KNTBu=;myVEi+UZW3bfNSnD(|8jY(3b3H9JlvytEd(~n} zYqE1xF;kO|n-!twkQI;`Gm^v8Ff_43gW2T3T#&?y`K>#NoVY@k{4KQZ<2X_MnD673 zKu%N~m0|k0pH)toO<+zZUcDt|J*8q^f(=}4G!WBeY^nr|;idPkUL-S&8sob8F+y1* z^4;fGba%gzgWa$~*5_P`U((&x2}^JKB5E4Y9M$u%QL80}%1|%LWUJXB<|dfS*kNdt zMOkNiC3kO!Jtj#h#fDr&YM$WDE3j;Yt}qJ_AOntgmGW|#IU++kt-tKbNxkc_#ayL( zf~`QwBd2qfuDl(ygZhhQoX-EORK)jquKLuswb;Y##E7v}zP zHA!guSGv@-_pkKBS?u4~B{+JjyuBYrK&C6;D=S+(h~9QO?(g_Jwwsu z_M+?m@nUcxlYXTN^M&7RTpLx#9@h=1p3U5f(E|3lsImk)e}AfkKul9!sx6`ruh8}v z`>U?OxACq&+mn?oJlL2!S?qJ zCn<8F-Bk)!$J3@H@tlb>eJa~CQoo9LYO3*%{lAo^iKF}f4r&^43~a9CDcm3%2`wt8 z(x3s#C%A5kb~~JDGrA}`X9`orW!ATPHiOF!gdg6sPcRaqPqlSvVYS&{cZup;wqrNv zU1l@qH6;>ONVhZbe>H2oa})4K$EgH235ATrfsgfTH<-kN4MqD$d`9=JXHff^>nOvx z4g?IIN!E(E0tf)yvRMrE8=H_C{pNn-L&Bt=qL1Dae@VsI5?wMQy`PE9#iRzgM^mO3 z+H~M}dWd!c2t)A6qi3RWOVLLnb-8~*Qx*f8gZyu~t1I_D0MB)Z-1kd~@yWUn*kVd8 zajG;FVDJoV8YBMEcHV1s2%D$5=uLr9<{7hoN_ z!e~rc#SC4)C3^CMvuuoeqYG#J$Jt$hbuu$@(Kemmb!dOt3vMmuypg#-ENf^rC7d!M za(~H8s|7ZDJl+XrwD4;Xrc;m{3-gJwEPKP1$nV!|s_TI2x?&o5-)v- z8v8FZlygS>;UC=bAIY2WXT;tgo+`gu6B#yg{2M%&v$uo!qqe*C>R)2{DtqxCI~C{) zqBi6{Flcnf5QDQEhX=GNb|X~n&pyi|#5RK>d&of22ukBKxOKTdu&5FL7j9UYO0H@W z4u4@PMP}o#IoFl^g77Z(CoK_dAGP^d{DZBa*@H^Xh>ssd&J1k<@8KAB*5|ygZ$!Ae zLh4HXgyI^jRKxoIi)oqZi0Xyv&w`GGlQZlGT^aknS6}{51ekB8nBd=NpV?E0YXj;0 z)l8WrZ}s1h20f4H59I*^L#1;3?O^m6-8c!lE~Mqu^;8UE(U zV1Fr>7`5oT%nbJ{=}+3B^jNTRZ%;<7W=$<$Wl=-z&|ub{{J>Y)BGmcf0_Gk3M!`^l ztV9zQ4_2mWr3v;cm$ypNC81Y{^$30;=c7}eu5b@b_|C-#`JWH;zF7;ZKWGH9Vp!RW z^cV3$#_lb$sA?*W6%rR#HOJ5xifj{DioRIA+rb8`*24=OS>WiK z`#$%h$P&A%wt`0^fR{V5@AoZH9{ZtHOg6vwZ02%CJlkv_gJgy0Vv7w`UJoxA==n)Z zkgh@RCL2#qMk6}dXvzxaV}B_-t;$)kmWH#pbAYyZ=s4zsrK)D{FtE=DS4k!OO$2|# zwpAO1fCh3Q7(y-yrESbK1{R~pf)Pt`GBbWvr~EWz02TPVWo$7MKi&(g^k4~!Xg=BH0!51dP^9Dl zfkfU8(OA>9jP{%+BeQVNUqoL=x|x0?jAJXdbE7)34obTRrb)1i_sKzQEf7^~YEYqk zRl?J!E-h8p@p)dT_wvO=_+~H}h;8ud$7z7%aaZ;3z{si)tk2WCH@CfXuxy+g`kpqB zbowcUnYYfk5@f@L)R%E}kVEgfkHWLH>&SHx21Lw;^KxwvM zMYt*T2E%%8K&|mBi$^G9%>*sSvzhW_jR7bQJZY|_42GzNZQXt!i5EDwZwB;6)Ghpx zyv1`}atiF{e)fYv^kr(Q_w`MQQ-smplOypiAV4t(rd}@;9wD{NMP6hN^f1I5rsPnT*p4)Bu*XL*+MGL=os zGbUf(9J*L#371;eDqAvpnHH!Cso)*~R_B_YRzT-D9ezZDD6DvmRiZ`Gv%8c0%l04v zz2lS5sU>=!O0yylVg;Z0xhs|JM~lf@4TC$6CiHT#-9Cm&5P;bS6fAx3Y>Ab!!csMb zs!9{soR=vnSqr=s?MO#4WFN*`cNtLI%5JndF}VO1E%)LAs<%O)JQ~twz`W)3Y%gJ+ zD17e!MLD~Y4D^=mY(3#ZnZgPfaJ6E)@s&4`ju$rF$Uw?xNkGc2-RWI90+?P!^Q@3K zsTv?w2_KG>qUysKMF|D=t%_=?yLv8^7q4rrg7@o8X8>#<24iJGwLuJ+27GZdjh|yF zLCFhe8(X4UGuj}ouaJ09hABSLwi?yuF|^nyKilQdua%j%m3%LvT;sfefm4->Svj+t zE2#?0>Nr>Sa^$3u10nrjc6-Lc8E_+F@TZJXtijiw?)8AhM>idg$O}yo8=~J*>MkTD z=tV!{4h7!%LO&Lthzyo*BsU~g*NW(8+5l@(-E}z|0QG_5-koO_Q$+VEr3fA}5aRqf zlXus)8^b$Nt46g2701gSwP935OQ7Q)c+-WN`i`DkJLk;@y#BJ5JMQXF1RxE*Q^dVS z;QUQcaJ1uKSM9nfUSW-==#F9P$#2J72UX(K1e?e9E4_&D_iVDW@#qcjo9Tz zBt7cj7sgSVwAGx<$=)R|4)P*SIuyEsB;rnTaKeRZ{dnj^<4)DjQzY!nS0q)tGBC|& zDd*>fhIG!TDlgR&ED$Bt$B3U#gmohme%G}3cALU%8-t4GE+Yv~Yl(6j({%&MjvWMU z4B;v3br3CeapSFq-`%RM!4J5xR7V>iugJsO+Q)erBL%>;m4q6dop?s5Y3~& zmdY5OdIymWbn`T%gXa@!($d*9@@Z?yNZdkm z)_FBpu_PQOa}fl3L(exyL1HM7{$J#z?%8>D`mi;c>TXbq;hg%8`vHn*J3D+D#(iQB z+1cF}I7R0Zwg#9r*NJU|r&|vp_%>UoWBO8)^^Ay?ap&W#%F3pI!AS0Fd;#lKgUpQI zMgT1!L^v<&g%eRzbRAf))tbtVIKeyxwwgrOnZGsF+=l!3?4v~2YyR?VCS~WHB@Ae- z`ZgV3SJ>N_B?Sn>C+Mp+;Rvou{&=ii`KcG^8QIx4G|rEdU<3!>Q>)uLJfQQJ;c7Cs zi{C}a1P1hGSaS!zv7#eU>Fsbp;nspI96|rY^Jl;U1y-k;|GRq6tU+Hr7u{dB<408Sw z&thPhnLu^G{cS%VTi3=|s%3$(V3IPNkr<~h`!si?#%kBfU*Ix}h5_C6F#LW_MG3Be zV&d%UFS~MU`s%TU?~1PJa<3#5Hf?xdy(blNmaF!zleBLnElo-PwDq;Yu5QxW8DjJD z$%WYp0X8N2b?6o!Yc-HV%o#_P{+!=QKSmaxn3fI=w+bzOO(LfiL4NgY4ysQ^PT2?9 z@7Lq9P)t{efYWK?A{>TY0yoVQH#c?=8!MO^%b6#|g-7$T+>JH|p5pMvUrh__(34+p z@X1;HN`V_KDOkVxLM_d@_$-A3tGiVt2^G*F{7B90afo;pVSX}e?D<;&U(9`2UV>Bi zS2IlvP{l9*kx9R17rGB$&R-e(pG^otDoYKGnpNftW zQw8)ZQ+xOgMUK{3*vz}`eE+qO?@P?wb>qttwSFEg0@kWYSru^IM=o2f&dDp9wRSSe z8D_eGM<8Xysue}|oOin(9p?oskR!u^Z-iTex~#IM?CtVk`CDxG zuo}BNIScfh9Qs~{+yi4#ys4Z0R*u5cx66S1w4yy6@f7 z#0Puq+`EqSIx=@-)L!T8{GebfP(mU#V!*w6okz9RX{2Y$%xE%GrYkMhq7o6;Xe9sL z&mx?IKCD*W=nhbDcwuQ(&RA^l^+1*|T-hH|=F0m3K`*Bv)bWPD&P%aoXAh+S4FI^1 zj+RI^>ylIR7iCMeX!<8=TI)ELXeKME2u|b+Xe@ZvPN>h=t0PK$_GUJViKKWn{MC5` z-&ZD!JJ1+WBLMC3pL%LWX;z`{x(!g(6+TE{%V9+yCJQptr5nj$618%JBK7&{uGbh4HB9S4vQS)n8ffARwzPr(bFtA9{c8Z(!mSzV2}I{baUo5@&6W4$XK zp8^?Rc(&@8rdrfpaJ?tHxsDEjixykHSKHo2Le9{q1dFSg*8vZDi5_|6;gDx3`M%n2 z;Nfr1d4xZt1{eAui48Kw@X28LnysMj1yMO(XiTZxa+v0p8(q*Du!TXQKc- z$>*M=;^8y90(9U0HcEZ$@ezF@vIEEW9>Ci%P4R84rCRiOg}(ms8~wcvv!~mQGp9(a z*>noqIcA%;Z(4f{fVIsVpHwuv<8f*R7k&XkC zHk=jBrWtVV6VCH9Jv4)PdHd#DQ8xJICqzXe1P~z6W$cIr2KFMpvJY3cp<<3cV|4t6 zFI-*KrED{dyV2+Qi*MV(s|~)5JNCGni*1b@S*cc8{TY@5NTW3iT+qaCtsj6Mgv8gD zO=`4T&YjNZ^t@>w*q*=X)H%)Y`<#FH;{?Nvp?L{D1yd=3?_oznh+kFBNgsQetOEeC z)WYKDvE6J>>NHkfPV`n5qJ%u(b5+-ub4s$%|Nfc*do5>7j~_W;eAVTBaUb~#e2Tzt?ODj3F0|Fy872SJpplr~0-lXPnQ=7vF-;q`0x--p^V? z13LTSl|HtyfthgK<_kPO+{(#UDGwNzqem4D!?&({=05d%e>njvHnM8$B7dr22Q>LF zq(Sy!HvEffJ!&=8+%&3}1gR;VCsf5W>Vb8|*3v;uprxhq~zcvnSm$l=wyVKXMi{u=IVseDCW516nJUil53 zl#ZF#>Nr&IAZW3!d}?%{oOi@j-e49kc+L^}_+hRFbs>756KxWJP1k^$^Jb28e81G&tS=u z0wM2X5`FV?I4d>+zWIA~{Q5C`iNLc&83>+l6emajR>8RMeKIjU5qqdrhbiPP{&i?r z8HD^&p{)AF#_#2PQ0+uVJB8eoa> z{lKw^;c)3+nRlohOKwlrNY9S>8zvf9*!Hs`*1hog?#`ERslE=riQ0~?nc8H%!%or7gha=Klt+kiG^5+qGtp=Nw=?l$hRaffDp`rJX2Kx^= zsQ!Y>j+2r61wk`q#wZgPb5wqa3B=hsyDU6StMsUw6(Tgr{uSVD9m<`ki>q3#?!A@k zZ2SUcsLpaCJjtGjGu2M*hJ+eTAR6~)>3am!M`FQrcG+)O6gPn=iHA$ z*DEfR)-Fez97?Y}sZw~Z)Xn7CY93->VysEsQ1B92WucQV8f_yekSe2r*PpI3qRC2R5bn5@OS`Pa`0l|}H7{uW-BCTR7{ zj(X+(J||}sux6QfYZ5>}f;E4*bgN_G=Ieti!Hw`8^-nQ}`=LdY`=L&cO=YdzST;AG zW3j2RdKZQRVw^VUE;rWtIN^se`sq0rDXOb+AF*{n7{fx?&h7GeRNp99@B|N&BIu`J zX=v5y3{+nO4MV6sgOy=wr zX_h`K!f}Db$yHI;Q|99=;;As9g_~eebvrgouZI2}_>`MIt3}`@*X>JZ#|5 Date: Sat, 25 Jan 2020 19:46:32 -0700 Subject: [PATCH 032/221] bugfix --- code/modules/pool/pool_controller.dm | 2 +- code/modules/pool/pool_main.dm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 60564ce42c..8684062ec8 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -178,7 +178,7 @@ for(var/datum/reagent/R in reagents.reagent_list) if(R.reagent_state == SOLID) R.reagent_state = LIQUID - swimee.reagents.add_reagent(R.name, 0.5) //osmosis + swimee.reagents.add_reagent(R.type, 0.5) //osmosis reagents.reaction(swimee, VAPOR, 0.03) //3 percent for(var/obj/objects in W) if(W.reagents) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index cb9f598729..36f334185a 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -37,10 +37,11 @@ name = "water" icon = 'icons/turf/pool.dmi' icon_state = "bottom" - density = 0 - mouse_opacity = 0 + density = FALSE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT layer = ABOVE_MOB_LAYER anchored = TRUE + resistance_flags = INDESTRUCTIBLE /obj/effect/overlay/water/top icon_state = "top" From 259b9923176ec009167f13b89e20d38ad17f8e9e Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 19:56:50 -0700 Subject: [PATCH 033/221] AAAAAAA --- code/modules/pool/pool_main.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 36f334185a..6cf8d27cea 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -86,7 +86,9 @@ /turf/open/pool/Exited(atom/A, atom/newLoc) . = ..() if(isliving(A)) - controller?.mobs_in_pool -= A + var/turf/open/pool/P = newLoc + if(!istype(P) || (P.controller != controller)) + controller?.mobs_in_pool -= A // Entered logic /turf/open/pool/Entered(atom/movable/AM, atom/oldloc) From 02fe4b7630b3d0090260d699620cb76b9f5efd7c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 20:00:29 -0700 Subject: [PATCH 034/221] this is a bad idea --- code/modules/pool/pool_controller.dm | 2 +- code/modules/pool/pool_drain.dm | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 8684062ec8..7eef6fa2c3 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -294,7 +294,7 @@ mist_off() interact_delay = world.time + 60 linked_drain.active = TRUE - linked_drain.cycles_left = 15 + linked_drain.cycles_left = 75 if(!linked_drain.filling) new /obj/effect/whirlpool(linked_drain.loc) temperature = POOL_NORMAL diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 930633eaa5..3fb716f9ff 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -23,16 +23,24 @@ var/cooldown /obj/machinery/pool/drain/Initialize() - START_PROCESSING(SSprocessing, src) + START_PROCESSING(SSfastprocess, src) whirling_mobs = list() return ..() /obj/machinery/pool/drain/Destroy() + STOP_PROCESSING(SSfastprocess, src) controller.linked_drain = null controller = null whirling_mobs = null return ..() +/obj/machinery/pool/drain/proc/is_in_our_pool(atom/A) + . = FALSE + if(istype(A.loc, /turf/open/pool)) + var/turf/open/pool/P = A.loc + if(P.controller == controller) + . = TRUE + // This should probably start using move force sometime in the future but I'm lazy. /obj/machinery/pool/drain/process() if(!filling) @@ -46,10 +54,10 @@ if(cycles_left-- > 0) playsound(src, 'sound/effects/fillingwatter.ogg', 100, TRUE) for(var/obj/O in orange(min(fill_push_range, 10), src)) - if(!O.anchored) + if(!O.anchored && is_in_our_pool(O)) step_away(O, src) for(var/mob/M in orange(min(fill_push_range, 10), src)) //compiler fastpath apparently? - if(!M.anchored && isliving(M)) + if(!M.anchored && isliving(M) && is_in_our_pool(M)) step_away(M, src) else for(var/turf/open/pool/P in controller.linked_turfs) @@ -70,20 +78,20 @@ playsound(src, 'sound/effects/pooldrain.ogg', 100, TRUE) playsound(src, "water_wade", 60, TRUE) for(var/obj/O in orange(min(drain_suck_range, 10), src)) - if(!O.anchored) + if(!O.anchored && is_in_our_pool(O)) step_towards(O, src) for(var/mob/M in orange(min(drain_suck_range, 10), src)) - if(isliving(M) && !M.anchored) + if(isliving(M) && !M.anchored && is_in_our_pool(M)) step_towards(M, src) whirl_mob(M) if(ishuman(M)) var/mob/living/carbon/human/H = M playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) if(H.lying) //down for any reason - H.adjustBruteLoss(5) + H.adjustBruteLoss(2.5) to_chat(H, "You're caught in the drain!") else - H.apply_damage(4, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs + H.apply_damage(2.5, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs to_chat(H, "Your legs are caught in the drain!") else for(var/turf/open/pool/P in controller.linked_turfs) From acfc7ca41a527b78c61c894dd009125e9bf71409 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 20:18:05 -0700 Subject: [PATCH 035/221] indestructible --- code/modules/pool/pool_controller.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 7eef6fa2c3..91c43af290 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -4,6 +4,7 @@ /obj/machinery/pool icon = 'icons/obj/machines/pool.dmi' anchored = TRUE + resistance_flags = INDESTRUCTIBLE /obj/machinery/pool/controller name = "\improper Pool Controller" @@ -12,7 +13,6 @@ density = TRUE use_power = TRUE idle_power_usage = 75 - resistance_flags = INDESTRUCTIBLE /// How far it scans for pool objects var/scan_range = 6 /// Is pool mist currently on? From f23799e3b4543dd2ca0ba98a12cbc7f1db94f6dd Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 20:25:18 -0700 Subject: [PATCH 036/221] uhh yeah --- code/modules/pool/pool_controller.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 91c43af290..4652c0b01c 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -281,16 +281,19 @@ return if(href_list["IncreaseTemp"]) if(CanUpTemp(usr)) + visible_message("[usr] presses a button on [src].") temperature++ update_temp() interact_delay = world.time + 15 if(href_list["DecreaseTemp"]) if(CanDownTemp(usr)) + visible_message("[usr] presses a button on [src].") temperature-- update_temp() interact_delay = world.time + 15 if(href_list["Activate Drain"]) if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) + visible_message("[usr] presses a button on [src].") mist_off() interact_delay = world.time + 60 linked_drain.active = TRUE From 1b7a7737ded0732e5a874750e25d90648b3a5750 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 20:28:26 -0700 Subject: [PATCH 037/221] reagent drain --- code/modules/pool/pool_controller.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 4652c0b01c..0d7d7d52ab 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -99,6 +99,15 @@ to_chat(user, "The interface on [src] is already too damaged to short it again.") return +/obj/machinery/pool/controller/AltClick(mob/user) + . = ..() + if(isliving(user) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated()) + visible_message("[user] starts to drain [src]!") + if(do_after(user, 50, target = src)) + reagents.remove_all(INFINITY) + visible_message("[user] drains [src].") + say("Reagents cleared.") + /obj/machinery/pool/controller/attackby(obj/item/W, mob/user) if(shocked && !(stat & NOPOWER)) shock(user,50) From 0b119cbd52b92f6e1a1e479ccf546bd309d37be9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 23:11:36 -0700 Subject: [PATCH 038/221] ok --- code/modules/pool/pool_drain.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 3fb716f9ff..e9929bf53e 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -84,7 +84,7 @@ if(isliving(M) && !M.anchored && is_in_our_pool(M)) step_towards(M, src) whirl_mob(M) - if(ishuman(M)) + if(ishuman(M) && (get_dist(M, src) <= 1)) var/mob/living/carbon/human/H = M playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) if(H.lying) //down for any reason From b742229539db973229679da0f24ce98c7e5934e0 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:20:10 -0700 Subject: [PATCH 039/221] Update pool.dm --- code/__DEFINES/pool.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index aabcd3493e..47345a80a6 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -8,5 +8,6 @@ GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. - /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/drug/anaphrodisiacplus //literally asking for prefbreaks + /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/drug/anaphrodisiacplus, //literally asking for prefbreaks + /datum/reagent/femcum, /datum/reagent/semen //NO. )) From 0157371a15744d640714e4be068aff20e858c872 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:21:12 -0700 Subject: [PATCH 040/221] Update pool_drain.dm --- code/modules/pool/pool_drain.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index e9929bf53e..3359f26520 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -19,6 +19,8 @@ var/cycles_left = 0 /// Mobs we are swirling around var/list/whirling_mobs + /// Suck in once per x ticks + var/suck_in_once_per = 3 var/cooldown @@ -82,7 +84,8 @@ step_towards(O, src) for(var/mob/M in orange(min(drain_suck_range, 10), src)) if(isliving(M) && !M.anchored && is_in_our_pool(M)) - step_towards(M, src) + if(!(cycles_left % suck_in_once_per)) + step_towards(M, src) whirl_mob(M) if(ishuman(M) && (get_dist(M, src) <= 1)) var/mob/living/carbon/human/H = M From 171d50caff021ffce94d5cc6e2159bd186f524e7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:22:34 -0700 Subject: [PATCH 041/221] Update sharks.dm --- code/modules/mob/living/simple_animal/hostile/sharks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/sharks.dm b/code/modules/mob/living/simple_animal/hostile/sharks.dm index bceec6769c..c94e49b286 100644 --- a/code/modules/mob/living/simple_animal/hostile/sharks.dm +++ b/code/modules/mob/living/simple_animal/hostile/sharks.dm @@ -85,7 +85,7 @@ vision_range = 0 /mob/living/simple_animal/hostile/shark/kawaii/death() - visible_message("[src] says : Senpai, you noticed~!") + say("Senpai, you noticed~!") LoseAggro() ..() walk(src, 0) From bc05819cee8aa78092b16f74e813e46f9277f785 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:23:21 -0700 Subject: [PATCH 042/221] Update pool_drain.dm --- code/modules/pool/pool_drain.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 3359f26520..980de47196 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -47,9 +47,9 @@ /obj/machinery/pool/drain/process() if(!filling) for(var/obj/item/I in range(min(item_suction_range, 10), src)) - if(!I.anchored && (I.w_class == WEIGHT_CLASS_SMALL)) + if(!I.anchored && (I.w_class <= WEIGHT_CLASS_SMALL)) step_towards(I, src) - if((I.w_class == WEIGHT_CLASS_TINY) && (get_dist(I, src) == 0)) + if((I.w_class <= WEIGHT_CLASS_TINY) && (get_dist(I, src) == 0)) I.forceMove(controller.linked_filter) if(active) if(filling) From 1b164e1e1ee3485c2d9e406e9b86fe04003f28f9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:25:16 -0700 Subject: [PATCH 043/221] Update pool_controller.dm --- code/modules/pool/pool_controller.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 0d7d7d52ab..5775e7adb6 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -54,6 +54,10 @@ /// Old reagent color, used to determine if update_color needs to reset colors. var/old_rcolor +/obj/machinery/pool/controller/examine(mob/user) + . = ..() + . += "Alt click to drain reagents.") + /obj/machinery/pool/controller/Initialize() . = ..() START_PROCESSING(SSfastprocess, src) From 9867d7b377f3038760a54a33c6ead75eddbb3798 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:28:28 -0700 Subject: [PATCH 044/221] -20% --- code/modules/pool/pool_drain.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 980de47196..2fa89742c0 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -91,7 +91,7 @@ var/mob/living/carbon/human/H = M playsound(src, pick('sound/misc/crack.ogg','sound/misc/crunch.ogg'), 50, TRUE) if(H.lying) //down for any reason - H.adjustBruteLoss(2.5) + H.adjustBruteLoss(2) to_chat(H, "You're caught in the drain!") else H.apply_damage(2.5, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs From c76bf202a8e7e0b915cafb84b66d98884a61373e Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:34:31 -0700 Subject: [PATCH 045/221] ladder climb --- code/modules/pool/pool_main.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 6cf8d27cea..00a399f4be 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -79,6 +79,8 @@ return ..() //people pulling stuff out of pool if(!ishuman(AM)) return ..() //human weak, monkey (and anyone else) ook ook eek eek strong + if(isliving(AM) && (locate(/obj/structure/pool/ladder) in src)) + return ..() //climbing out return istype(newloc, type) return ..() From 8c0d8b694c6d0d08316aa466070055e148644fb0 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:39:16 -0700 Subject: [PATCH 046/221] missing bracket --- code/modules/pool/pool_controller.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 5775e7adb6..e579ea1ab2 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -56,7 +56,7 @@ /obj/machinery/pool/controller/examine(mob/user) . = ..() - . += "Alt click to drain reagents.") + . += "Alt click to drain reagents." /obj/machinery/pool/controller/Initialize() . = ..() From 6eac97524f07e5cdb4c46c228ffe95fea4041779 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 22:42:48 -0700 Subject: [PATCH 047/221] compile --- code/__DEFINES/pool.dm | 2 +- code/modules/pool/pool_main.dm | 2 +- code/modules/pool/pool_structures.dm | 7 ------- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index 47345a80a6..1e66109dc7 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -9,5 +9,5 @@ GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. /datum/reagent/drug/aphrodisiac, /datum/reagent/drug/anaphrodisiac, /datum/reagent/drug/aphrodisiacplus, /datum/reagent/drug/anaphrodisiacplus, //literally asking for prefbreaks - /datum/reagent/femcum, /datum/reagent/semen //NO. + /datum/reagent/consumable/femcum, /datum/reagent/consumable/semen //NO. )) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 00a399f4be..b7406606c9 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -108,7 +108,7 @@ if(!SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) //poor guy not swimming time to dunk them! victim.AddElement(/datum/element/swimming) controller.mobs_in_pool += victim - if(locate(/obj/structure/pool/ladder) in victim.loc) //safe climbing + if(locate(/obj/structure/pool/ladder) in src) //safe climbing return if(iscarbon(AM)) //FUN TIME! var/mob/living/carbon/H = victim diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 914b2db129..7788234b98 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -31,13 +31,6 @@ desc = "The less-loved portion of the jumping board." dir = EAST -/obj/structure/pool/Rboard/CheckExit(atom/movable/O as mob|obj, target as turf) - if(istype(O) && O.pass_flags & PASSGLASS) - return TRUE - if(get_dir(O.loc, target) == dir) - return FALSE - return TRUE - /obj/structure/pool/Lboard name = "JumpBoard" icon_state = "boardleft" From 70970b78f41c434c4807ee0ca55d66e65648dc02 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 23:00:03 -0700 Subject: [PATCH 048/221] forcemove --- code/modules/pool/pool_structures.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 7788234b98..bf6181df2e 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -70,7 +70,7 @@ jumper.pixel_y = 7 jumper.dir = 8 sleep(1) - jumper.loc = T + jumper.forceMove(T) addtimer(CALLBACK(src, .proc/dive, jumper), 10) /obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper) From 59e41c20bfd33514ae1ae6b5a9c3852bb8559860 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 23:09:34 -0700 Subject: [PATCH 049/221] changes --- code/modules/pool/pool_controller.dm | 22 +++++++++++++--------- code/modules/pool/pool_structures.dm | 20 +++++++++++++------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index e579ea1ab2..d56dbddf90 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -111,6 +111,7 @@ reagents.remove_all(INFINITY) visible_message("[user] drains [src].") say("Reagents cleared.") + update_color() /obj/machinery/pool/controller/attackby(obj/item/W, mob/user) if(shocked && !(stat & NOPOWER)) @@ -148,6 +149,7 @@ if(length(rejected)) rejected = english_list(rejected) to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") + update_color() else to_chat(user, "[src] beeps unpleasantly as it rejects the beaker. Why are you trying to feed it an empty beaker?") return @@ -252,17 +254,19 @@ var/turf/open/pool/color1 = X if(bloody) if(rcolor) - color1.watereffect.color = BlendRGB(rgb(150, 20, 20), rcolor, 0.5) - color1.watertop.color = color1.watereffect.color - else - color1.watereffect.color = rgb(150, 20, 20) - color1.watertop.color = color1.watereffect.color + var/thecolor = BlendRGB(rgb(150, 20, 20), rcolor, 0.5) + color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + + var/thecolor = rgb(150, 20, 20) + color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) else if(!bloody && rcolor) - color1.watereffect.color = rcolor - color1.watertop.color = color1.watereffect.color + color1.watereffect.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) else - color1.watereffect.color = null - color1.watertop.color = null + color1.watereffect.remove_atom_colour(FIXED_COLOUR_PRIORITY) + color1.watertop.remove_atom_colour(FIXED_COLOUR_PRIORITY) /obj/machinery/pool/controller/proc/update_temp() if(mist_state) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index bf6181df2e..28120e1cb2 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -40,15 +40,17 @@ var/jumping = FALSE var/timer -/obj/structure/pool/Lboard/proc/backswim(obj/O, mob/living/user) //Puts the sprite back to it's maiden condition after a jump. +/obj/structure/pool/Lboard/proc/backswim() if(jumping) for(var/mob/living/jumpee in loc) //hackzors. playsound(jumpee, 'sound/effects/splash.ogg', 60, TRUE, 1) - jumpee.layer = 4 - jumpee.pixel_x = 0 - jumpee.pixel_y = 0 - jumpee.Stun(2) jumpee.AddElement(/datum/element/swimming) + jumpee.Stun(2) + +/obj/structure/pool/Lboard/proc/reset_position(mob/user, initial_layer, initial_px, initial_py) + user.layer = initial_layer + user.pixel_x = initial_px + user.pixel_y = initial_py /obj/structure/pool/Lboard/attack_hand(mob/living/user) if(iscarbon(user)) @@ -65,15 +67,18 @@ "You climb up \the [src] and prepares to jump!") jumper.Stun(40) jumping = TRUE + var/original_layer = jumper.layer + var/original_px = jumper.pixel_x + var/original_py = jumper.pixel_y jumper.layer = RIPPLE_LAYER jumper.pixel_x = 3 jumper.pixel_y = 7 jumper.dir = 8 sleep(1) jumper.forceMove(T) - addtimer(CALLBACK(src, .proc/dive, jumper), 10) + addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) -/obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper) +/obj/structure/pool/Lboard/proc/dive(mob/living/carbon/jumper, original_layer, original_px, original_py) switch(rand(1, 100)) if(1 to 20) jumper.visible_message("[jumper] goes for a small dive!", \ @@ -138,6 +143,7 @@ var/atom/throw_target = get_edge_target_turf(src, dir) jumper.throw_at(throw_target, 6, 1, callback = CALLBACK(src, .proc/on_finish_jump, jumper)) addtimer(CALLBACK(src, .proc/togglejumping), 35) + reset_position(jumper, original_layer, original_px, original_py) /obj/structure/pool/Lboard/proc/togglejumping() jumping = FALSE From 6cc995a13732aeeed4b878c4b32bc2a6f17b577b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 27 Jan 2020 23:10:16 -0700 Subject: [PATCH 050/221] atom color --- code/modules/pool/pool_controller.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index d56dbddf90..94e16a245a 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -257,13 +257,13 @@ var/thecolor = BlendRGB(rgb(150, 20, 20), rcolor, 0.5) color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) - + else var/thecolor = rgb(150, 20, 20) color1.watereffect.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) color1.watertop.add_atom_colour(thecolor, FIXED_COLOUR_PRIORITY) else if(!bloody && rcolor) - color1.watereffect.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) - color1.watertop.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) + color1.watereffect.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) + color1.watertop.add_atom_colour(rcolor, FIXED_COLOUR_PRIORITY) else color1.watereffect.remove_atom_colour(FIXED_COLOUR_PRIORITY) color1.watertop.remove_atom_colour(FIXED_COLOUR_PRIORITY) From b61269c7e24cc11e5586f4e1a70710fff60cfd75 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Tue, 28 Jan 2020 20:06:15 -0600 Subject: [PATCH 051/221] brings the map back to standard (so I can re-do it and make it not conflict) --- _maps/map_files/BoxStation/BoxStation.dmm | 1493 +++++++-------------- 1 file changed, 493 insertions(+), 1000 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 96f4e47bd6..f5b76d1ba9 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -173,6 +173,19 @@ "aay" = ( /turf/open/floor/plating, /area/security/prison) +"aaz" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 3; + name = "Docking Beacon"; + picked_color = "Burgundy" + }, +/turf/open/space/basic, +/area/space/nearstation) "aaA" = ( /obj/machinery/seed_extractor, /turf/open/floor/plasteel, @@ -234,10 +247,46 @@ /obj/structure/chair/stool, /turf/open/floor/plasteel, /area/security/prison) +"aaK" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 3; + name = "Docking Beacon"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating, +/area/space/nearstation) +"aaL" = ( +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/library) +"aaM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) "aaN" = ( /obj/structure/chair/sofa/right, /turf/open/floor/plasteel, /area/security/prison) +"aaO" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "aaP" = ( /obj/machinery/computer/cryopod{ dir = 8; @@ -248,6 +297,12 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"aaQ" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "aaR" = ( /obj/structure/lattice, /obj/structure/sign/warning/securearea{ @@ -285,6 +340,15 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"aaY" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "aaZ" = ( /turf/closed/wall/r_wall, /area/ai_monitored/security/armory) @@ -505,6 +569,11 @@ "abF" = ( /turf/open/floor/plasteel/freezer, /area/security/prison) +"abG" = ( +/obj/structure/door_assembly/door_assembly_mai, +/obj/item/electronics/airlock, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "abH" = ( /obj/structure/table, /obj/item/storage/box/chemimp{ @@ -1565,6 +1634,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) +"adO" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating/airless, +/area/space/nearstation) "adP" = ( /obj/structure/cable{ icon_state = "2-8" @@ -1979,6 +2052,34 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"aeD" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aeE" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"aeF" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "aeG" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -2357,6 +2458,12 @@ }, /turf/open/floor/plasteel, /area/security/main) +"afn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "afo" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Three" @@ -2377,6 +2484,39 @@ }, /turf/open/space/basic, /area/space) +"afq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"afr" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"afs" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -31 + }, +/obj/machinery/computer/monitor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "aft" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 @@ -2687,6 +2827,15 @@ /obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"age" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "agf" = ( /obj/structure/table, /obj/item/stack/sheet/metal, @@ -2836,6 +2985,10 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) +"agv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "agw" = ( /obj/structure/table, /obj/machinery/syndicatebomb/training, @@ -2965,6 +3118,14 @@ }, /turf/open/floor/plasteel, /area/security/main) +"agH" = ( +/obj/machinery/bluespace_beacon, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "agI" = ( /obj/machinery/airalarm{ pixel_y = 23 @@ -3094,6 +3255,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) +"agX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "agY" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, @@ -3334,6 +3501,16 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) +"ahw" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ahx" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3984,12 +4161,7 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -4479,6 +4651,16 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel, /area/security/brig) +"ajC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ajD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4687,6 +4869,18 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/maintenance/solars/port/fore) +"ajX" = ( +/obj/machinery/computer/teleporter{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) +"ajY" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) "ajZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum/external{ @@ -4970,6 +5164,18 @@ }, /turf/open/floor/plasteel, /area/security/courtroom) +"akz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "akA" = ( /obj/structure/chair{ dir = 8; @@ -6158,8 +6364,11 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6167,16 +6376,11 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/fitness"; - name = "Pool Room APC"; - pixel_y = -23 - }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 }, /turf/open/floor/plating, -/area/crew_quarters/fitness/pool) +/area/maintenance/fore/secondary) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -6334,7 +6538,7 @@ dir = 10 }, /turf/closed/wall, -/area/crew_quarters/fitness/pool) +/area/maintenance/fore/secondary) "aof" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -7162,10 +7366,14 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock{ + id_tag = "Room Two"; + name = "Room Seven - Luxury Suite" + }, /obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/dorms) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -29982,17 +30190,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"bwc" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/quartermaster/office) "bwd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -49291,47 +49488,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) -"ctu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ctv" = ( /turf/closed/wall/r_wall, /area/space/nearstation) -"ctw" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/computer/station_alert, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) -"ctx" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) -"cty" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ctz" = ( /obj/machinery/door/poddoor/shutters{ id = "teledoor"; @@ -49376,41 +49535,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) -"ctG" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) -"ctH" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -31 - }, -/obj/machinery/computer/monitor, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) -"ctI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ctJ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -49434,13 +49558,6 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"ctM" = ( -/obj/machinery/bluespace_beacon, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "ctN" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 @@ -49448,13 +49565,6 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"ctP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ctQ" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -49480,28 +49590,6 @@ /obj/structure/sign/warning/radiation/rad_area, /turf/closed/wall, /area/engine/engineering) -"ctS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) -"ctT" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ctU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -49524,10 +49612,6 @@ /obj/structure/chair, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) -"ctW" = ( -/obj/machinery/computer/teleporter, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat_interior) "ctX" = ( /obj/machinery/camera{ c_tag = "MiniSat Teleporter"; @@ -49808,11 +49892,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/atmos) -"cuC" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat/atmos) "cuD" = ( /obj/machinery/light/small{ dir = 8 @@ -49861,17 +49940,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) -"cuG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "cuH" = ( /obj/machinery/light/small{ dir = 8 @@ -53150,10 +53218,6 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"cUE" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "cVb" = ( /turf/closed/wall, /area/hallway/secondary/service) @@ -53211,15 +53275,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"det" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "dfh" = ( /obj/machinery/power/apc{ areastring = "/area/science/circuit"; @@ -53275,29 +53330,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) -"diJ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"dkk" = ( -/obj/machinery/photocopier{ - pixel_x = -5; - pixel_y = -5 - }, -/turf/open/floor/wood, -/area/library) -"dlv" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"dmP" = ( -/obj/structure/table/glass, -/obj/item/clothing/under/shorts/blue{ - desc = "So comfy and easy to wear!" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "dok" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" @@ -53313,10 +53345,6 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) -"dpB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "dqu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -53327,15 +53355,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"duD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) "dvc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -53381,18 +53400,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/crew_quarters/toilet) -"dEm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"dFp" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "dHb" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -53496,13 +53503,6 @@ /obj/item/reagent_containers/food/snacks/burger/plain, /turf/open/floor/wood, /area/crew_quarters/bar) -"ehf" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ejW" = ( -/obj/structure/pool/Lboard, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "elw" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -53547,12 +53547,9 @@ /turf/open/floor/plating, /area/maintenance/bar) "ewZ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"exX" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/obj/structure/chair/sofa/right, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "eyM" = ( /obj/machinery/mineral/ore_redemption{ input_dir = 2; @@ -53561,19 +53558,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/quartermaster/miningdock) -"eyW" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"ezu" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"eDG" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "eHI" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -53679,9 +53663,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"eVq" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "eVC" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/firedoor, @@ -53732,9 +53713,6 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"fiD" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "fjy" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -53763,9 +53741,6 @@ }, /turf/closed/wall, /area/quartermaster/miningdock) -"foQ" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "frE" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -53781,18 +53756,6 @@ dir = 1 }, /area/crew_quarters/fitness) -"fsk" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/marker_beacon{ - anchored = 1; - icon_state = "markerburgundy-on"; - light_power = 3; - light_range = 3; - name = "Docking Beacon"; - picked_color = "Burgundy" - }, -/turf/open/floor/plating, -/area/space/nearstation) "ftv" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -53852,9 +53815,6 @@ "fzd" = ( /turf/closed/wall, /area/crew_quarters/abandoned_gambling_den) -"fCG" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "fGf" = ( /obj/machinery/smartfridge/disks{ pixel_y = 2 @@ -53931,15 +53891,13 @@ }, /area/crew_quarters/theatre) "fOc" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/structure/bed, +/obj/item/bedsheet/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "fPs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -53953,6 +53911,13 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "fQF" = ( +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 5; + icon_state = "roomnum"; + name = "Room Number 7"; + pixel_y = 24 + }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53990,10 +53955,6 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) -"fYw" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "fZD" = ( /obj/structure/filingcabinet, /obj/machinery/light{ @@ -54002,9 +53963,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"gaF" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "gbq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54113,9 +54071,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"grG" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "gtL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -54195,29 +54150,13 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "gQn" = ( -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"gQx" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) +/obj/machinery/light/small, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) "gSH" = ( /obj/structure/grille, /turf/closed/wall/r_wall, /area/space/nearstation) -"gSS" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "gVX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -54316,18 +54255,6 @@ dir = 1 }, /area/crew_quarters/fitness) -"hho" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/marker_beacon{ - anchored = 1; - icon_state = "markerburgundy-on"; - light_power = 3; - light_range = 3; - name = "Docking Beacon"; - picked_color = "Burgundy" - }, -/turf/open/space/basic, -/area/space/nearstation) "hik" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -54354,10 +54281,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"hmQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "hoo" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -54436,9 +54359,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"hRb" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "hRz" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -54480,14 +54400,6 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"hWD" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"hXv" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "hYW" = ( /obj/machinery/light/small{ dir = 4 @@ -54517,26 +54429,32 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "iep" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 +/obj/structure/mirror{ + pixel_y = 32 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/sink{ + dir = 1; + pixel_y = 25 }, -/turf/open/floor/plasteel/yellowsiding{ +/obj/structure/toilet{ dir = 4 }, -/area/crew_quarters/fitness/pool) +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) "ier" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/button/door{ + id = "Room Two"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = -24; + specialfunctions = 4 + }, +/obj/structure/chair/comfy/brown{ dir = 8 }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "igT" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -54561,15 +54479,6 @@ "iiW" = ( /turf/open/floor/wood, /area/maintenance/bar) -"ijX" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"ikx" = ( -/turf/open/floor/plating/foam, -/area/space/nearstation) "ilJ" = ( /obj/effect/turf_decal/tile/red, /obj/machinery/light{ @@ -54581,9 +54490,6 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/maintenance/bar) -"iok" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "ioB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -54636,9 +54542,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) -"isS" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "itG" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -54689,9 +54592,6 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"iBc" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "iEx" = ( /obj/structure/table/wood, /obj/machinery/light{ @@ -54717,33 +54617,12 @@ /obj/structure/fireplace, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"iFh" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"iFx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "iFL" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/carpet, /area/crew_quarters/theatre) -"iGq" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"iIF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "iMG" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-14" @@ -54955,20 +54834,6 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) -"jlQ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"jmw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "jmC" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -55062,12 +54927,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/execution/transfer) -"jvr" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/yellowsiding/corner, -/area/crew_quarters/fitness/pool) "jvN" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -55096,9 +54955,6 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) -"jBy" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jBZ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55127,9 +54983,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"jCN" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jDY" = ( /obj/structure/chair{ dir = 4 @@ -55163,13 +55016,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"jIk" = ( -/obj/structure/pool/ladder{ - dir = 2; - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jJF" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ @@ -55186,10 +55032,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"jMt" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "jMK" = ( /obj/structure/cable{ icon_state = "1-4" @@ -55238,15 +55080,6 @@ }, /turf/open/floor/plasteel, /area/science/circuit) -"jTK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55279,10 +55112,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "kay" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/bluecherrycupcake{ @@ -55344,16 +55175,14 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "khB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Dormitories Maintenance"; - req_access_txt = "12" +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"kil" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "klu" = ( /obj/structure/lattice, /turf/open/space/basic, @@ -55424,9 +55253,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) -"kwe" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "kwy" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -55525,9 +55351,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"kKb" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "kKw" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -55641,19 +55464,6 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/locker) -"kYB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"lda" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "lhg" = ( /obj/machinery/vending/clothing, /obj/structure/disposalpipe/segment{ @@ -55732,9 +55542,6 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) -"lCr" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "lCB" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -55858,15 +55665,6 @@ /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"mbT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"mcu" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "mfb" = ( /obj/structure/toilet{ dir = 8 @@ -55917,10 +55715,6 @@ /obj/structure/extinguisher_cabinet, /turf/closed/wall/r_wall, /area/hallway/primary/central) -"mwb" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/space/nearstation) "mwO" = ( /obj/structure/cable{ icon_state = "1-4" @@ -55943,22 +55737,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) -"mFp" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "mHC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"mIm" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"mIH" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "mIS" = ( /obj/structure/table, /obj/item/clothing/gloves/boxing/yellow, @@ -55969,10 +55753,6 @@ /obj/item/clothing/gloves/boxing, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"mNb" = ( -/obj/machinery/pool/controller, -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "mNi" = ( /obj/machinery/light_switch{ pixel_x = -20 @@ -56003,11 +55783,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"mRh" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "mTp" = ( /obj/structure/chair/sofa/left, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -56015,17 +55790,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"mWt" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/yellow, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "mXB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -56054,9 +55818,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"nec" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "nel" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -56111,13 +55872,6 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"nnK" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"noA" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "nrR" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -56197,9 +55951,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"nHN" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "nIE" = ( /obj/structure/sign/poster/contraband/tools, /turf/closed/wall, @@ -56340,9 +56091,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"opc" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "orw" = ( /obj/structure/table, /obj/structure/cable{ @@ -56399,10 +56147,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"oDX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "oFk" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/plasteel, @@ -56543,17 +56287,6 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"poh" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"poi" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "ppY" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -56581,8 +56314,13 @@ /turf/open/space/basic, /area/space/nearstation) "prU" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "ptV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56599,10 +56337,6 @@ /obj/item/clothing/under/color/grey, /turf/open/floor/plating, /area/maintenance/port/aft) -"pvW" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "pxD" = ( /obj/structure/chair/sofa, /obj/structure/window{ @@ -56664,13 +56398,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"pLj" = ( -/obj/structure/pool/ladder{ - dir = 2; - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -56795,13 +56522,17 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/command{ - name = "Command Access To Vault" + name = "Command Access To Vault"; + req_access = "19" }, /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) "pZv" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +/obj/machinery/shower{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) "qbx" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -56810,23 +56541,12 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"qbA" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/science/circuit) -"qfZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"qhi" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "qje" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -56836,15 +56556,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"qjO" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"qjV" = ( -/obj/machinery/pool/filter{ - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "qkC" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/starboard/fore"; @@ -56888,8 +56599,12 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "qoP" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/chair/sofa/left, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "qpA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57011,23 +56726,21 @@ /turf/open/floor/plating, /area/security/prison) "qNs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + on = 0; + pixel_x = -7; + pixel_y = 12 }, -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "qOf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"qPC" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "qQJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -57049,12 +56762,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"qXW" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "rcD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -57079,9 +56786,6 @@ /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"rhk" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "riA" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -57133,10 +56837,6 @@ /obj/item/target/syndicate, /turf/open/floor/plating, /area/security/prison) -"rxH" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/space/nearstation) "rzg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57277,16 +56977,6 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel/white, /area/science/circuit) -"scl" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/yellow, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "sdL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -57313,12 +57003,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"shw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "sjm" = ( /obj/structure/table/wood, /obj/item/instrument/piano_synth, @@ -57461,11 +57145,6 @@ icon_state = "panelscorched" }, /area/maintenance/starboard/fore) -"sAb" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "sAI" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/condiment/saltshaker{ @@ -57484,12 +57163,6 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) -"sAO" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"sCg" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "sEt" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" @@ -57503,9 +57176,6 @@ dir = 1 }, /area/hallway/primary/starboard) -"sKh" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "sLr" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -57549,10 +57219,6 @@ /obj/structure/chair/office/light, /turf/open/floor/plasteel/white, /area/science/circuit) -"sVl" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "sWR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57576,9 +57242,6 @@ /obj/machinery/vending/boozeomat/all_access, /turf/closed/wall, /area/maintenance/bar) -"sXL" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "sYv" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57609,15 +57272,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) -"taA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "tdF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -57629,28 +57283,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"tfq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"thr" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"tkj" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "tkU" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" @@ -57797,9 +57429,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"tFN" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "tGG" = ( /obj/structure/table/wood, /obj/item/book/codex_gigas, @@ -57832,9 +57461,6 @@ /obj/item/instrument/violin, /turf/open/floor/wood, /area/crew_quarters/bar) -"tKZ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "tLl" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -57856,16 +57482,6 @@ /obj/item/pen/fountain, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"tNB" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/yellow, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "tNJ" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -57892,10 +57508,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) +/obj/machinery/light/small, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "tPT" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, @@ -57934,14 +57549,6 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) -"tWc" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) "tWs" = ( /obj/structure/cable{ icon_state = "2-4" @@ -58057,10 +57664,6 @@ /obj/item/soap, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) -"umF" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "unl" = ( /obj/item/flashlight/lamp/green{ pixel_x = -3; @@ -58159,10 +57762,6 @@ /obj/structure/sign/departments/restroom, /turf/closed/wall, /area/crew_quarters/toilet) -"uBk" = ( -/obj/machinery/pool/drain, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "uDW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -58174,12 +57773,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"uEh" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "uNu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58197,9 +57790,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"uRD" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "uTq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -58242,9 +57832,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"uYF" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "uZM" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -58313,9 +57900,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"vlu" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "vpm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -58356,9 +57940,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"vyd" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "vys" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -58404,12 +57985,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"vBb" = ( -/obj/structure/pool/Rboard, -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "vCb" = ( /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, @@ -58422,9 +57997,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/space/nearstation) -"vFf" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "vFt" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, @@ -58521,12 +58093,6 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) -"vPX" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "vRr" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58551,18 +58117,10 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"vTB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "vUR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/security/prison) -"vVu" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "vVP" = ( /obj/structure/cable{ icon_state = "0-4" @@ -58593,10 +58151,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, /area/security/prison) -"vXd" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "vYa" = ( /turf/open/floor/plasteel, /area/crew_quarters/fitness) @@ -58628,15 +58182,6 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) -"wnW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58686,12 +58231,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"wtK" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "wuB" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -58734,12 +58273,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) -"wwK" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "wyM" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -58751,10 +58284,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"wzi" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "wAB" = ( /obj/structure/chair/office/light, /obj/machinery/firealarm{ @@ -58781,9 +58310,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) -"wCg" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "wDR" = ( /obj/structure/sign/poster/official/help_others{ pixel_y = -32 @@ -58929,10 +58455,6 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) -"xhu" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "xhx" = ( /obj/structure/cable{ icon_state = "1-2" @@ -58982,9 +58504,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"xmc" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "xpx" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -59030,10 +58549,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"xHQ" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, @@ -59046,15 +58561,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"xIt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "xLZ" = ( /obj/structure/closet/radiation, /turf/open/floor/plasteel, @@ -59072,16 +58578,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"xOM" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"xON" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"xWM" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/space/nearstation) "xXY" = ( /obj/structure/closet/lasertag/red, /obj/item/clothing/under/pj/red, @@ -59114,9 +58610,6 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/plasteel, /area/science/mixing) -"ygY" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "yiN" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -65150,11 +64643,11 @@ aaa aaa aaa aaa -fsk +aaK aaa aaa aaa -fsk +aaK aaa aaa aaa @@ -65401,9 +64894,9 @@ aaa aaa aaa aaa -fsk +aaK aaa -fsk +aaK aaa aaa aaa @@ -65415,9 +64908,9 @@ gXs aaa aaa aaa -fsk +aaK aaa -fsk +aaK aaa aaa aaa @@ -81630,7 +81123,7 @@ bpB bpB brR bsV -bwc +aaM bxA bvI bwX @@ -93656,7 +93149,7 @@ aif aif aif aif -jmw +aif bkV fvk alK @@ -93909,11 +93402,11 @@ abp hlY ahn aiA -ahn -ahn +aiA +aiA ahn hYW -iFx +anF aod ahn apx @@ -94165,12 +93658,12 @@ unE abp nea ahn -xhu -ahn aaa +aaf +aaf ahn ahn -iFx +anE aod aoK sgV @@ -94422,10 +93915,10 @@ aaa adR ahn ahn -lda -ahn aaa aaa +aaa +aaf ahn anG aoe @@ -94678,14 +94171,14 @@ aaa aaa gXs aaa -jmC -jmC -jmC +aaa +aaa +aaa aaa aaa ahn khB -qjO +ahn ahn ahn ahn @@ -94940,16 +94433,16 @@ aaa aaa aaa aaa -qjO -vPX -jvr -tWc +aag +aag +aag +arf iep gQn -tfq -duD +arf +myt qNs -oDX +lMx sjw clO asZ @@ -95197,16 +94690,16 @@ aaa aaa aaa aaa -qjO -det -isS -qjV -ehf -ehf -ehf -ehf +aaa +aaa +aaa +arf +pZv +tQk +cVp +jdT ier -qjO +arf arm vYa aya @@ -95454,14 +94947,14 @@ aaa aaa aaa aaa -eyW -vPX -isS -pLj -ehf -ehf -ehf -ehf +aaa +aaa +aaa +arf +arf +arf +arf +iES jYI aqs hVw @@ -95711,16 +95204,16 @@ aaa aaa aaa aaa -eyW -vPX -isS -ehf -ehf -ehf -ehf -ehf +aaa +aaa +aaa +aaa +aaa +arf +ewZ +jdT tOU -pvW +arf fQF qbx qux @@ -95968,16 +95461,16 @@ aaa aaa aaa aaa -eyW -vPX -mNb -ehf -ehf -uBk -ehf -ehf +aaa +aaa +aaa +aaa +aaa +arf +qoP +prU fOc -qjO +arf oSO sAI fJa @@ -96215,9 +95708,9 @@ aaa aaa aaa aaa -hho +aaz aaa -hho +aaz aaa aaa aaa @@ -96225,16 +95718,16 @@ aaa aaa aaa aaa -eyW -vPX -isS -ehf -ehf -ehf -ehf -ehf -jTK -qjO +aaa +aaa +aae +aaa +aaa +arf +arf +arf +arf +arf mTp qEv kRk @@ -96482,15 +95975,15 @@ aaa aaa aaa aaa -eyW -vPX -isS -ehf -ehf -ehf -ehf -ehf -jTK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs kHJ rEV rEV @@ -96599,7 +96092,7 @@ aaf ctZ cui cuq -cuC +ajY cuO cuz cvm @@ -96739,15 +96232,15 @@ aaa aaa aaa aaa -eyW -vPX -isS -ehf -ehf -ehf -ehf -ehf -jTK +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs aqu aro aro @@ -96996,15 +96489,15 @@ aaa aaa aaa aaa -eyW -dmP -isS -pLj -ehf -ehf -ehf -ehf -jTK +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +aaa aqu aro aro @@ -97107,8 +96600,8 @@ czk cti cua cua -ctw -ctH +aeF +afs ctQ cuc cuj @@ -97253,15 +96746,15 @@ aaa aaa aaa aaa -eyW -scl -isS -ehf -ehf -ejW -ehf -ehf -jTK +aaa +aaa +aaa +aaa +aaa +gXs +gXs +aaa +aaa aqu aro aro @@ -97364,9 +96857,9 @@ ctb cth cua ctr -ctu -ctG -ctP +afn +age +agX cub cuj cur @@ -97510,15 +97003,15 @@ aaa aaa aaa aaa -eyW -scl -sAb -mRh -mRh -vBb -mbT -shw -wnW +aaa +aaa +aaa +aaa +gXs +gXs +aaa +aaa +aaa aqu aro aro @@ -97621,13 +97114,13 @@ ctc ctc cto ctt -cty +afq ctJ -ctT +ahw cue cul cuu -cuG +akz cuS cve cvo @@ -97767,15 +97260,15 @@ aaa aaa aaa aaa -qjO -mWt -vVu -vVu -vVu -vVu -vVu -vVu -poh +aaa +aaa +aaa +gXs +gXs +aaa +aaa +aaa +aaa aqu aro aro @@ -97878,9 +97371,9 @@ ctb ctj ctk cts -ctx -ctI -ctS +afr +agv +ajC cud cuk cus @@ -98024,15 +97517,15 @@ aaa aaa aaa aaa -qjO -qjO -eyW -eyW -eyW -eyW -eyW -eyW -qjO +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa haX rEV rEV @@ -98278,12 +97771,12 @@ aaS aaS aaS aaS -aaa -aaa -aaa -aaa -aaa -aaa +aaS +aaS +aaS +aaS +aaf +aaf aaa aaa aaa @@ -98536,10 +98029,10 @@ aaf aaa aaf aaa +aaf aaa -aaa -aaa -aaa +aaS +aaf aaa aaa aaa @@ -98650,7 +98143,7 @@ aaa aaf cua ctF -ctM +agH ctX cuf cum @@ -98795,7 +98288,7 @@ ads adS aeG aaa -aaa +aaS aaa aaa aaa @@ -98908,7 +98401,7 @@ aaf cua ctE ctL -ctW +ajX cuf cum cuw @@ -101906,7 +101399,7 @@ bbE aIr bav aLf -dkk +aaL kLR aRO aQp @@ -102488,10 +101981,10 @@ aaa aaa aaa aaa -ikx -mwb -xWM -rxH +aaH +adO +aeD +aeE aaa aaa aaa @@ -102746,10 +102239,10 @@ xNY kvb aaa aaa -ikx -ikx -ikx -rxH +aaH +aaH +aaH +aeE aaa aaa aaa @@ -103000,13 +102493,13 @@ czZ cOT aaa jmC -dbM -dbM -ikx -ikx -ikx -thr -mwb +aaH +aaH +aaH +aaH +aaH +aaH +adO aaa aaa aaa @@ -103259,8 +102752,8 @@ gXs xNY kvb gJg -dbM -dbM +aaH +aaH aaa aaa gJg @@ -103517,8 +103010,8 @@ aaa aaa gJg gJg -mwb -ikx +adO +aaH gXs aaa aaa @@ -106599,7 +106092,7 @@ cNW clt cQw cNW -cNW +abG cNW cNW aaf @@ -106855,7 +106348,7 @@ aaa cOT clt cQw -cOe +aaO cOe cOe cNW @@ -107112,11 +106605,11 @@ aaa cOT clt cQw +aaQ cOe cOe -cOe -cOe -sQX +cNW +aaa jzi jzi jzi @@ -107369,11 +106862,11 @@ aaa cNW clt cQw -cOe +bNB cOe cOe cNW -aaf +lCL aaS aaa aaf @@ -107626,7 +107119,7 @@ cNW cNW clt cQw -cOe +aaY cOe cOe cNW From 8e3830f4a14a6e823aa2412698e177bb6dccb828 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Tue, 28 Jan 2020 21:22:17 -0600 Subject: [PATCH 052/221] Adds the pool to box(again) to fix a merge conflict- implements some feedback --- _maps/map_files/BoxStation/BoxStation.dmm | 1270 ++++++++++++++++----- 1 file changed, 1002 insertions(+), 268 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index f5b76d1ba9..eb877cf12b 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -4161,7 +4161,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -6364,11 +6369,8 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6376,11 +6378,14 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness"; + name = "Pool Room APC"; + pixel_y = -23 }, +/obj/structure/cable, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -7366,14 +7371,12 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/airlock{ - id_tag = "Room Two"; - name = "Room Seven - Luxury Suite" - }, /obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -52748,10 +52751,24 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"cOP" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "cOT" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"cPo" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"cPw" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cPA" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 4 @@ -53330,6 +53347,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"dlj" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dok" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" @@ -53361,6 +53381,11 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"dvG" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "dvO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -53406,6 +53431,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"dIm" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dKP" = ( /turf/closed/wall, /area/maintenance/bar) @@ -53463,6 +53493,11 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) +"dXT" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "eaI" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -53478,6 +53513,9 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"eeR" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ego" = ( /obj/machinery/atmospherics/components/binary/valve, /turf/open/floor/plating, @@ -53503,6 +53541,14 @@ /obj/item/reagent_containers/food/snacks/burger/plain, /turf/open/floor/wood, /area/crew_quarters/bar) +"ein" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "elw" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -53543,13 +53589,32 @@ dir = 1 }, /area/hallway/secondary/entry) +"esV" = ( +/obj/structure/table/glass, +/obj/structure/bedsheetbin/towel, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "evR" = ( /turf/open/floor/plating, /area/maintenance/bar) "ewZ" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -22 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eyM" = ( /obj/machinery/mineral/ore_redemption{ input_dir = 2; @@ -53573,6 +53638,9 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"eMi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eMQ" = ( /obj/item/radio/intercom{ pixel_y = 25 @@ -53706,6 +53774,14 @@ }, /turf/closed/wall/r_wall, /area/science/mixing) +"fgj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "fhP" = ( /obj/machinery/light{ dir = 8; @@ -53793,6 +53869,12 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"fwN" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "fxa" = ( /obj/structure/chair/wood/normal, /turf/open/floor/wood{ @@ -53840,6 +53922,25 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) +"fHd" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"fHj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"fHm" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "fHK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/cable{ @@ -53890,14 +53991,15 @@ dir = 4 }, /area/crew_quarters/theatre) -"fOc" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 +"fLR" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) +"fOc" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "fPs" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -53911,13 +54013,6 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "fQF" = ( -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 5; - icon_state = "roomnum"; - name = "Room Number 7"; - pixel_y = 24 - }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54009,6 +54104,12 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"gga" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ggg" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -54058,6 +54159,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"gil" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "gjf" = ( /obj/machinery/vending/coffee, /turf/open/floor/wood, @@ -54071,6 +54177,17 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"goY" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"gtj" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gtL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -54143,6 +54260,9 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"gMv" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "gOZ" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -54150,9 +54270,16 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "gQn" = ( -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gSH" = ( /obj/structure/grille, /turf/closed/wall/r_wall, @@ -54195,6 +54322,12 @@ dir = 8 }, /area/medical/sleeper) +"has" = ( +/obj/structure/bed, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "haz" = ( /obj/machinery/autolathe{ name = "public autolathe" @@ -54202,14 +54335,14 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "haX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ id = "holoprivacy"; name = "Holodeck Shutters" }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/crew_quarters/fitness) "hcd" = ( @@ -54234,6 +54367,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"hdq" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "hfe" = ( /obj/structure/sign/poster/contraband/smoke{ desc = "This poster reminds us all that the Detective is a parasite. Year after year, they must get replacement lungs because of their addiction. "; @@ -54275,6 +54411,11 @@ }, /turf/closed/wall, /area/crew_quarters/dorms) +"hkS" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "hlY" = ( /obj/machinery/door/airlock{ name = "Recharging Station" @@ -54285,6 +54426,15 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) +"hoO" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"hqD" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "htr" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54338,6 +54488,9 @@ }, /turf/open/floor/plating, /area/storage/tech) +"hMb" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "hMx" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -54348,6 +54501,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"hPB" = ( +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "hRa" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -54401,13 +54557,8 @@ /turf/closed/wall/r_wall, /area/engine/gravity_generator) "hYW" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -54419,6 +54570,11 @@ }, /turf/open/floor/plasteel/dark, /area/hydroponics) +"idO" = ( +/obj/structure/bed, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "idX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -54429,32 +54585,27 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "iep" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/structure/toilet{ +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "Pool West"; dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) -"ier" = ( -/obj/machinery/button/door{ - id = "Room Two"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -24; - specialfunctions = 4 - }, -/obj/structure/chair/comfy/brown{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"ier" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"ieL" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "igT" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ @@ -54479,6 +54630,9 @@ "iiW" = ( /turf/open/floor/wood, /area/maintenance/bar) +"ikE" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ilJ" = ( /obj/effect/turf_decal/tile/red, /obj/machinery/light{ @@ -54506,6 +54660,13 @@ /obj/machinery/vending/cola/red, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"ioM" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ioX" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/cable{ @@ -54592,6 +54753,21 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"iAR" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"iBB" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"iCW" = ( +/obj/structure/bed, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "iEx" = ( /obj/structure/table/wood, /obj/machinery/light{ @@ -54788,6 +54964,9 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"jhh" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jhF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54819,6 +54998,12 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"jkd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jlm" = ( /obj/machinery/rnd/production/techfab/department/cargo, /turf/open/floor/plasteel, @@ -54878,6 +55063,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"jou" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jqv" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -54940,6 +55128,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"jyD" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "jzi" = ( /obj/structure/grille, /obj/structure/lattice, @@ -55050,6 +55241,9 @@ }, /turf/open/floor/plating, /area/space/nearstation) +"jQX" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "jRy" = ( /obj/machinery/door/airlock{ name = "Instrument Storage" @@ -55109,11 +55303,21 @@ /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) "jYI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"jYZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/camera{ + acid_level = 8; + c_tag = "Pool East"; + dir = 8 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/obj/item/radio/intercom{ + pixel_x = 29 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "kay" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/bluecherrycupcake{ @@ -55139,6 +55343,12 @@ }, /turf/open/floor/plating, /area/security/prison) +"kdv" = ( +/obj/machinery/pool/filter{ + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kel" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -55175,14 +55385,12 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "khB" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/door/airlock/maintenance{ + name = "Pool Maintenance"; + req_access_txt = "12" }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "klu" = ( /obj/structure/lattice, /turf/open/space/basic, @@ -55215,6 +55423,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"krR" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ksn" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -55446,6 +55657,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"kTn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "kTz" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55464,6 +55683,11 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/locker) +"kZr" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "lhg" = ( /obj/machinery/vending/clothing, /obj/structure/disposalpipe/segment{ @@ -55488,6 +55712,15 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) +"lpO" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"lsP" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"lui" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "lwj" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -55522,6 +55755,12 @@ }, /turf/closed/wall, /area/crew_quarters/bar) +"lAe" = ( +/obj/structure/pool/ladder{ + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "lAB" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, @@ -55551,6 +55790,9 @@ "lCL" = ( /turf/open/space/basic, /area/space/nearstation) +"lDE" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "lFl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -55671,6 +55913,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"miy" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "mjr" = ( /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, @@ -55684,6 +55929,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"mnI" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "moq" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -55722,6 +55975,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"myp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "myt" = ( /obj/structure/closet/secure_closet/personal/cabinet{ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; @@ -55753,6 +56014,9 @@ /obj/item/clothing/gloves/boxing, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"mMf" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "mNi" = ( /obj/machinery/light_switch{ pixel_x = -20 @@ -55760,6 +56024,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"mNS" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mPE" = ( /obj/machinery/chem_dispenser/drinks, /obj/structure/table/wood, @@ -55776,6 +56044,10 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"mRa" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mRe" = ( /obj/machinery/light{ dir = 8 @@ -55790,10 +56062,22 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"mVa" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "mXB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"nbZ" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ncj" = ( /obj/effect/turf_decal/tile/blue, /obj/structure/sign/poster/contraband/fun_police{ @@ -55853,6 +56137,9 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) +"njO" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nlt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral, @@ -55872,6 +56159,9 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"npY" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "nrR" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -55984,6 +56274,18 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) +"nMY" = ( +/obj/structure/bed, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"nOC" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"nOD" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "nOS" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, @@ -56023,6 +56325,14 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"nUs" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "nWq" = ( /obj/machinery/door/airlock/engineering{ name = "Gravity Generator"; @@ -56061,6 +56371,9 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"ogJ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ohX" = ( /obj/structure/table/wood, /obj/machinery/airalarm{ @@ -56091,6 +56404,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"omT" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "orw" = ( /obj/structure/table, /obj/structure/cable{ @@ -56131,6 +56447,22 @@ /obj/structure/reagent_dispensers/keg/semen, /turf/open/floor/plating, /area/maintenance/bar) +"oyb" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) +"oyD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "oBp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56237,6 +56569,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"pfD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "phu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4; @@ -56272,6 +56612,9 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"pno" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "poa" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 @@ -56314,13 +56657,10 @@ /turf/open/space/basic, /area/space/nearstation) "prU" = ( -/obj/item/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_x = 27 +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "ptV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56366,6 +56706,11 @@ }, /turf/open/space, /area/solar/starboard/aft) +"pFW" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "pHl" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -56398,6 +56743,12 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"pHG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -56527,12 +56878,14 @@ }, /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) +"pVt" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "pZv" = ( -/obj/machinery/shower{ - dir = 8 +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "qbx" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -56541,6 +56894,33 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"qce" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"qda" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "poolshutter"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56556,6 +56936,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"qkc" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "qkC" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/starboard/fore"; @@ -56599,12 +56983,14 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "qoP" = ( -/obj/machinery/airalarm{ - pixel_y = 23 +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"qoW" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/structure/chair/sofa/left, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qpA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56614,17 +57000,38 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"qsu" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qux" = ( /obj/structure/chair/sofa/left{ dir = 1 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"quB" = ( +/obj/structure/bed, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "quT" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/open/space/basic, /area/space/nearstation) +"qvh" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qvM" = ( /obj/structure/cable{ icon_state = "1-4" @@ -56636,6 +57043,9 @@ dir = 4 }, /area/crew_quarters/theatre) +"qwg" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qwB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56709,6 +57119,15 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"qJO" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qJZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56726,15 +57145,23 @@ /turf/open/floor/plating, /area/security/prison) "qNs" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - on = 0; - pixel_x = -7; - pixel_y = 12 +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qOf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -56762,12 +57189,28 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"qYE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "rcD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/circuit) +"rdZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "reZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -56965,6 +57408,14 @@ }, /turf/open/floor/plating, /area/space/nearstation) +"rYu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "saK" = ( /obj/structure/closet/crate, /obj/item/target/alien, @@ -56986,6 +57437,9 @@ }, /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) +"seu" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sfa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ @@ -57003,6 +57457,11 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"siN" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "sjm" = ( /obj/structure/table/wood, /obj/item/instrument/piano_synth, @@ -57136,6 +57595,9 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"sxw" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sxX" = ( /obj/structure/cable{ icon_state = "1-2" @@ -57163,11 +57625,22 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) +"sCi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sEt" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" }, /area/maintenance/bar) +"sHU" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "sIe" = ( /obj/structure/sign/poster/official/fruit_bowl{ pixel_y = 32 @@ -57176,6 +57649,11 @@ dir = 1 }, /area/hallway/primary/starboard) +"sKK" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "sLr" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance, @@ -57190,6 +57668,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"sLO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sMa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57208,6 +57693,12 @@ /obj/machinery/door/airlock/maintenance/abandoned, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"sPo" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"sQE" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sQX" = ( /turf/open/floor/plating, /area/space) @@ -57272,6 +57763,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) +"tdz" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tdF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -57288,6 +57782,15 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) +"tob" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "tqg" = ( /obj/machinery/cryopod{ dir = 4 @@ -57371,6 +57874,20 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/crew_quarters/bar) +"tvW" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) +"tzE" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"tzN" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "tAb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57436,6 +57953,12 @@ /obj/structure/destructible/cult/tome, /turf/open/floor/carpet, /area/library) +"tGO" = ( +/obj/structure/bed, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "tHx" = ( /obj/machinery/computer/arcade/minesweeper{ dir = 4 @@ -57489,6 +58012,9 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"tNP" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tOd" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -57505,12 +58031,8 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "tOU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "tPT" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, @@ -57586,6 +58108,11 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"ucV" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "udi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57639,6 +58166,13 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"ujS" = ( +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -22 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uko" = ( /obj/structure/cable{ icon_state = "1-2" @@ -57664,6 +58198,9 @@ /obj/item/soap, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"umL" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "unl" = ( /obj/item/flashlight/lamp/green{ pixel_x = -3; @@ -57738,10 +58275,18 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"uuI" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "uvZ" = ( /obj/structure/mineral_door/wood, /turf/open/floor/wood, /area/maintenance/bar) +"uxu" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "uya" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57773,6 +58318,18 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"uFI" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 16 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"uJw" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "uNu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57796,6 +58353,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"uUp" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "uVq" = ( /obj/machinery/light{ dir = 1; @@ -57832,6 +58392,9 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"uZw" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uZM" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -57877,6 +58440,9 @@ /obj/structure/bed, /turf/open/floor/plating, /area/maintenance/port) +"vgb" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vgp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -57900,6 +58466,18 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/crew_quarters/bar) +"vkw" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"vmK" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"vnZ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vpm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -57989,6 +58567,23 @@ /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"vCm" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "poolshutter"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vCt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/white, @@ -58073,6 +58668,9 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) +"vNa" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vNh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -58147,6 +58745,14 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"vVQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "vWw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, @@ -58159,6 +58765,15 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"wbh" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"wcf" = ( +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wcy" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/structure/cable{ @@ -58170,6 +58785,17 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"wdj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"wem" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "wfR" = ( /obj/item/electropack/shockcollar, /obj/item/assembly/signaler, @@ -58182,6 +58808,18 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) +"wnD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"wnN" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58372,6 +59010,14 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"wIZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "wJz" = ( /obj/machinery/light{ dir = 8 @@ -58392,6 +59038,21 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hydroponics) +"wSE" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wUY" = ( /obj/structure/table, /obj/item/stack/packageWrap, @@ -58404,6 +59065,9 @@ /obj/item/instrument/trumpet, /turf/open/floor/wood, /area/crew_quarters/theatre) +"wWh" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wXP" = ( /obj/machinery/button/door{ id = "maintdiy"; @@ -58413,6 +59077,9 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"wYa" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wZB" = ( /obj/structure/cable{ icon_state = "1-4" @@ -58442,6 +59109,10 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"xdx" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xdV" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -58531,6 +59202,31 @@ }, /turf/open/floor/plating, /area/security/brig) +"xvc" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"xvz" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "poolshutter"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "xzh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58543,12 +59239,18 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"xDJ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xEu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"xGC" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, @@ -58561,6 +59263,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"xIN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "xLZ" = ( /obj/structure/closet/radiation, /turf/open/floor/plasteel, @@ -58578,6 +59288,24 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xPg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "poolshutter"; + name = "Pool Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"xSt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"xTm" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xXY" = ( /obj/structure/closet/lasertag/red, /obj/item/clothing/under/pj/red, @@ -58622,6 +59350,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"yjr" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) +"yle" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) (1,1,1) = {" aaa @@ -93148,7 +93882,7 @@ aib aif aif aif -aif +oyD aif bkV fvk @@ -93401,11 +94135,11 @@ abp abp hlY ahn -aiA -aiA +ahn aiA ahn -hYW +mnI +fHj anF aod ahn @@ -93658,12 +94392,12 @@ unE abp nea ahn -aaa -aaf -aaf -ahn ahn anE +ahn +mnI +fHj +anF aod aoK sgV @@ -93915,11 +94649,11 @@ aaa adR ahn ahn -aaa -aaa -aaa -aaf ahn +tob +ahn +ahn +vmK anG aoe aoL @@ -94172,11 +94906,11 @@ aaa gXs aaa aaa -aaa -aaa -aaa -aaa -ahn +jmC +jmC +jmC +jQX +jQX khB ahn ahn @@ -94432,15 +95166,15 @@ aaa aaa aaa aaa -aaa -aag -aag -aag -arf +jQX +qda +wdj +qvh +wdj iep gQn -arf -myt +xSt +xSt qNs lMx sjw @@ -94689,16 +95423,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -pZv -tQk -cVp -jdT -ier +xIN +qoW +hPB +wbh +wbh +wbh +wbh +wbh +ucV +wdj arf arm vYa @@ -94946,17 +95680,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -arf -arf -arf -iES -jYI -aqs +xIN +nbZ +uxu +kdv +krR +lAe +krR +krR +fLR +tOU +goY hVw vYa vYa @@ -95203,17 +95937,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -ewZ -jdT +xIN +iBB +uxu +uFI +krR +krR +krR +ujS +fLR tOU -arf +goY fQF qbx qux @@ -95460,16 +96194,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -qoP -prU -fOc +jQX +wSE +uxu +krR +krR +krR +krR +krR +fLR +mRa arf oSO sAI @@ -95717,16 +96451,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aae -aaa -aaa -arf -arf -arf -arf +xIN +qoW +uxu +krR +krR +krR +krR +krR +fLR +dIm arf mTp qEv @@ -95974,16 +96708,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs +xIN +qoW +qkc +krR +krR +xdx +krR +krR +fLR +mRa kHJ rEV rEV @@ -96231,16 +96965,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs +xIN +qoW +uxu +krR +krR +krR +krR +krR +fLR +mRa aqu aro aro @@ -96488,16 +97222,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa +jQX +vCm +uxu +krR +krR +krR +krR +krR +fLR +mRa aqu aro aro @@ -96745,16 +97479,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa +xIN +iBB +uxu +uFI +krR +krR +krR +ujS +fLR +mRa aqu aro aro @@ -97002,16 +97736,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa +xIN +qJO +uxu +krR +krR +wnN +krR +krR +fLR +mRa aqu aro aro @@ -97259,16 +97993,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa -aaa +xIN +qoW +wem +dvG +dvG +tvW +dvG +dvG +gil +mRa aqu aro aro @@ -97516,16 +98250,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa +jQX +xvz +idO +idO +idO +jYZ +has +has +has +esV haX rEV rEV @@ -97770,20 +98504,20 @@ aaS aaS aaS aaS -aaS -aaS -aaS -aaS -aaS -aaf -aaf -aaa -aaa -aaa -aaa aaa aaa aaa +jQX +jQX +xIN +xIN +xIN +jQX +xIN +xIN +xIN +jQX +jQX aaa aaa arj @@ -98027,12 +98761,12 @@ aaf aaa aaf aaa -aaf aaa -aaf aaa -aaS -aaf +aaa +aaa +aaa +aaa aaa aaa aaa @@ -98288,7 +99022,7 @@ ads adS aeG aaa -aaS +aaa aaa aaa aaa From b5134e5197bbba5d87945899907b44c6cfefdba3 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 29 Jan 2020 23:01:06 -0700 Subject: [PATCH 053/221] Update pool_controller.dm --- code/modules/pool/pool_controller.dm | 31 ++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 94e16a245a..d88db80f9b 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -1,3 +1,5 @@ +#define POOL_NO_OVERDOSE_MEDICINE_MAX 5 //max units of no-overdose medicine to allow mobs to have through duplication + //Originally stolen from paradise. Credits to tigercat2000. //Modified a lot by Kokojo and Tortellini Tony for hippiestation. //Heavily refactored by tgstation @@ -53,6 +55,10 @@ var/shocked = FALSE /// Old reagent color, used to determine if update_color needs to reset colors. var/old_rcolor + /// Just to prevent spam + var/draining = FALSE + /// Reagent blacklisting + var/respect_reagent_blacklist = TRUE /obj/machinery/pool/controller/examine(mob/user) . = ..() @@ -105,13 +111,15 @@ /obj/machinery/pool/controller/AltClick(mob/user) . = ..() - if(isliving(user) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated()) + if(isliving(user) && user.Adjacent(src) && user.CanReach(src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated()) visible_message("[user] starts to drain [src]!") + draining = TRUE if(do_after(user, 50, target = src)) reagents.remove_all(INFINITY) visible_message("[user] drains [src].") say("Reagents cleared.") update_color() + draining = FALSE /obj/machinery/pool/controller/attackby(obj/item/W, mob/user) if(shocked && !(stat & NOPOWER)) @@ -137,15 +145,16 @@ var/list/reagent_names = list() var/list/rejected = list() for(var/datum/reagent/R in reagents.reagent_list) - if(R.volume >= min_reagent_amount) + if((R.volume >= min_reagent_amount) && (!respect_reagent_blacklist || !R.blacklisted)) reagent_names += R.name else reagents.remove_reagent(R.type, INFINITY) rejected += R.name if(length(reagent_names)) reagent_names = english_list(reagent_names) - log_game("[key_name(user)] has changed the [src] chems to [reagent_names]") - message_admins("[key_name_admin(user)] has changed the [src] chems to [reagent_names].") + var/msg = "POOL: [key_name(user)] has changed [src]'s chems to [reagent_names]" + log_game(msg) + message_admins(msg) if(length(rejected)) rejected = english_list(rejected) to_chat(user, "[src] rejects the following chemicals as they do not have at least [min_reagent_amount] units of volume: [rejected]") @@ -193,8 +202,9 @@ for(var/datum/reagent/R in reagents.reagent_list) if(R.reagent_state == SOLID) R.reagent_state = LIQUID - swimee.reagents.add_reagent(R.type, 0.5) //osmosis - reagents.reaction(swimee, VAPOR, 0.03) //3 percent + if(!swimee.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) + swimee.reagents.add_reagent(R.type, 0.5) //osmosis + reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above. for(var/obj/objects in W) if(W.reagents) W.reagents.reaction(objects, VAPOR, 1) @@ -301,15 +311,24 @@ visible_message("[usr] presses a button on [src].") temperature++ update_temp() + var/msg = "POOL: [key_name(usr)] increased [src]'s pool temperature at [COORD(src)] to [temperature]" + log_game(msg) + message_admins(msg) interact_delay = world.time + 15 if(href_list["DecreaseTemp"]) if(CanDownTemp(usr)) visible_message("[usr] presses a button on [src].") temperature-- update_temp() + var/msg = "POOL: [key_name(usr)] decreased [src]'s pool temperature at [COORD(src)] to [temperature]" + log_game(msg) + message_admins(msg) interact_delay = world.time + 15 if(href_list["Activate Drain"]) if((drainable || issilicon(usr) || IsAdminGhost(usr)) && !linked_drain.active) + var/msg = "POOL: [key_name(usr)] activated [src]'s pool drain in [linked_drain.filling? "FILLING" : "DRAINING"] mode at [COORD(src)]" + log_game(msg) + message_admins(msg) visible_message("[usr] presses a button on [src].") mist_off() interact_delay = world.time + 60 From 01a43b2481c9075774ece0609ac9313da7d46e9c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 30 Jan 2020 00:07:46 -0700 Subject: [PATCH 054/221] Update pool_controller.dm --- code/modules/pool/pool_controller.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index d88db80f9b..d3500b5a97 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -145,7 +145,7 @@ var/list/reagent_names = list() var/list/rejected = list() for(var/datum/reagent/R in reagents.reagent_list) - if((R.volume >= min_reagent_amount) && (!respect_reagent_blacklist || !R.blacklisted)) + if((R.volume >= min_reagent_amount) && (!respect_reagent_blacklist || R.can_synth)) reagent_names += R.name else reagents.remove_reagent(R.type, INFINITY) @@ -202,7 +202,7 @@ for(var/datum/reagent/R in reagents.reagent_list) if(R.reagent_state == SOLID) R.reagent_state = LIQUID - if(!swimee.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) + if(!swimee.reagents.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) swimee.reagents.add_reagent(R.type, 0.5) //osmosis reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above. for(var/obj/objects in W) From fb0f12520c0dc724980e59eca793f2b4704f1a0f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 2 Feb 2020 16:23:54 -0700 Subject: [PATCH 055/221] Update emergency.dm --- code/modules/shuttle/emergency.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 666e3d92fe..24c233b97d 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -15,7 +15,7 @@ desc = "For shuttle control." icon_screen = "shuttle" icon_keyboard = "tech_key" - obj_flags = INDESTRUCTIBLE + resistance_flags = INDESTRUCTIBLE var/auth_need = 3 var/list/authorized = list() var/hijack_last_stage_increase = 0 From f3b3053a8c69475c94b7b34dbfd64f70e4b202fe Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 3 Feb 2020 01:49:54 -0700 Subject: [PATCH 056/221] Update pool_structures.dm --- code/modules/pool/pool_structures.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 28120e1cb2..40db1553a5 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -122,7 +122,7 @@ jumper.adjustBruteLoss(10) if(91 to 100) - jumper.visible_message("[jumper] is preparing for the legendary dive! Can he make it?", \ + jumper.visible_message("[jumper] is preparing for the legendary dive! Can [jumper.p_they()] make it?", \ "You start preparing for a legendary dive!") jumper.SpinAnimation(7,1) From d8038edfc8c4905f2bd8cb528580263c118aca53 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 3 Feb 2020 01:51:23 -0700 Subject: [PATCH 057/221] Update pool_controller.dm --- code/modules/pool/pool_controller.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index d3500b5a97..1167a0943b 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -237,7 +237,7 @@ var/mob/living/carbon/human/drownee = M if(!drownee || drownee.stat == DEAD) return - if(drownee.lying && !drownee.internal) + if(drownee.resting && !drownee.internal) if(drownee.stat != CONSCIOUS) drownee.adjustOxyLoss(9) else @@ -372,7 +372,7 @@ var/datum/browser/popup = new(user, "Pool Controller", name, 300, 450) var/dat = "" if(interact_delay > world.time) - dat += "[(interact_delay - world.time)] seconds left until [src] can operate again.
" + dat += "[round((interact_delay - world.time)/10, 0.1)] seconds left until [src] can operate again.
" dat += text({"

Temperature

From 7ef8b36324b6bedcdf2dd22b9b10a3a074029009 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Tue, 4 Feb 2020 18:45:31 -0600 Subject: [PATCH 058/221] golems have gpses now --- .../RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm index 2c6eda9f90..08c756b15f 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm @@ -18,6 +18,9 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "d" = ( @@ -31,6 +34,9 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "e" = ( @@ -150,6 +156,7 @@ "x" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, +/obj/item/gps/mining, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) "z" = ( From 16fbdd905464b40725dbb2b593b92b8786a9f07e Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 5 Feb 2020 06:45:24 +0100 Subject: [PATCH 059/221] Update Sleeper.dm --- code/game/machinery/Sleeper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index b6dc09eb59..a83c3add9f 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -264,7 +264,7 @@ if(blood_id) data["occupant"]["blood"] = list() // We can start populating this list. var/blood_type = C.dna.blood_type - if(blood_id != "blood") // special blood substance + if(!(blood_id in GLOB.blood_reagent_types)) // special blood substance var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id] if(R) blood_type = R.name From 72ddaa2ded52206ce6812b05fe810023eb7c04b2 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 4 Feb 2020 23:56:27 -0700 Subject: [PATCH 060/221] Update swimming.dm --- code/datums/elements/swimming.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm index eeabc465ed..62a1f1840d 100644 --- a/code/datums/elements/swimming.dm +++ b/code/datums/elements/swimming.dm @@ -3,10 +3,10 @@ element_flags = ELEMENT_DETACH /datum/element/swimming/Attach(datum/target) - if(!isliving(target)) - return ELEMENT_INCOMPATIBLE if((. = ..()) == ELEMENT_INCOMPATIBLE) return + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE RegisterSignal(target, COMSIG_IS_SWIMMING, .proc/is_swimming) RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/check_valid) From 40ab6bdd41fc6be05996fdb77173b1346cc35a7f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 00:22:12 -0700 Subject: [PATCH 061/221] changes --- code/__DEFINES/components.dm | 4 --- code/__DEFINES/traits.dm | 2 +- code/datums/elements/swimming.dm | 7 ++-- code/modules/pool/pool_controller.dm | 54 +++++++++++++++------------- code/modules/pool/pool_main.dm | 12 +++---- code/modules/pool/pool_structures.dm | 10 +++--- 6 files changed, 44 insertions(+), 45 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 7e5d318214..faf71a45fb 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -331,10 +331,6 @@ /*******Element signals*******/ -// /datum/element/swimming -#define COMSIG_IS_SWIMMING "has_swimming_element" - #define IS_SWIMMING 1 - /*******Non-Signal Component Related Defines*******/ //Redirection component init flags diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index d707f7e58a..608144da26 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -135,7 +135,7 @@ #define TRAIT_NOMARROW "nomarrow" // You don't make blood, with chemicals or nanites. #define TRAIT_NOPULSE "nopulse" // Your heart doesn't beat. #define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events" - +#define TRAIT_SWIMMING "swimming" //only applied by /datum/element/swimming, for checking //non-mob traits #define TRAIT_PARALYSIS "paralysis" //Used for limb-based paralysis, where replacing the limb will fix it diff --git a/code/datums/elements/swimming.dm b/code/datums/elements/swimming.dm index 62a1f1840d..d16ef6625f 100644 --- a/code/datums/elements/swimming.dm +++ b/code/datums/elements/swimming.dm @@ -7,16 +7,13 @@ return if(!isliving(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_IS_SWIMMING, .proc/is_swimming) RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/check_valid) + ADD_TRAIT(target, TRAIT_SWIMMING, TRAIT_SWIMMING) //seriously there's only one way to get this /datum/element/swimming/Detach(datum/target) . = ..() - UnregisterSignal(target, COMSIG_IS_SWIMMING) UnregisterSignal(target, COMSIG_MOVABLE_MOVED) - -/datum/element/swimming/proc/is_swimming() - return IS_SWIMMING + REMOVE_TRAIT(target, TRAIT_SWIMMING, TRAIT_SWIMMING) /datum/element/swimming/proc/check_valid(datum/source) var/mob/living/L = source diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 1167a0943b..9c6d976343 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -69,7 +69,7 @@ START_PROCESSING(SSfastprocess, src) create_reagents(1000) if(noreact_reagents) - reagents.reagents_holder_flags |= NO_REACTION + reagents.reagents_holder_flags |= NO_REACT wires = new /datum/wires/poolcontroller(src) scan_things() @@ -111,15 +111,19 @@ /obj/machinery/pool/controller/AltClick(mob/user) . = ..() - if(isliving(user) && user.Adjacent(src) && user.CanReach(src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated()) - visible_message("[user] starts to drain [src]!") - draining = TRUE - if(do_after(user, 50, target = src)) - reagents.remove_all(INFINITY) - visible_message("[user] drains [src].") - say("Reagents cleared.") - update_color() + if(!isliving(user) || !user.Adjacent(src) || !user.CanReach(src) || user.IsStun() || user.IsKnockdown() || user.incapacitated()) + return FALSE + visible_message("[user] starts to drain [src]!") + draining = TRUE + if(!do_after(user, 50, target = src)) draining = FALSE + return TRUE + reagents.remove_all(INFINITY) + visible_message("[user] drains [src].") + say("Reagents cleared.") + update_color() + draining = FALSE + return TRUE /obj/machinery/pool/controller/attackby(obj/item/W, mob/user) if(shocked && !(stat & NOPOWER)) @@ -196,27 +200,29 @@ /obj/machinery/pool/controller/proc/process_reagents() if(last_reagent_process > world.time + reagent_tick_interval) return - if(length(reagents.reagent_list) > 0) - for(var/turf/open/pool/W in linked_turfs) - for(var/mob/living/carbon/human/swimee in W) - for(var/datum/reagent/R in reagents.reagent_list) - if(R.reagent_state == SOLID) - R.reagent_state = LIQUID - if(!swimee.reagents.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) - swimee.reagents.add_reagent(R.type, 0.5) //osmosis - reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above. - for(var/obj/objects in W) - if(W.reagents) - W.reagents.reaction(objects, VAPOR, 1) + if(!length(reagents.reagent_list)) + return + for(var/turf/open/pool/W in linked_turfs) + for(var/mob/living/carbon/human/swimee in W) + for(var/datum/reagent/R in reagents.reagent_list) + if(R.reagent_state == SOLID) + R.reagent_state = LIQUID + if(!swimee.reagents.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX)) + swimee.reagents.add_reagent(R.type, 0.5) //osmosis + reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above. + for(var/obj/objects in W) + if(W.reagents) + W.reagents.reaction(objects, VAPOR, 1) last_reagent_process = world.time /obj/machinery/pool/controller/process() updateUsrDialog() if(stat & (NOPOWER|BROKEN)) return - if (!drained) - process_pool() - process_reagents() + if(drained) + return + process_pool() + process_reagents() /obj/machinery/pool/controller/proc/process_pool() if(!drained) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index b7406606c9..9f867df31e 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -50,7 +50,7 @@ // Mousedrop hook to normal turfs to get out of pools. /turf/open/MouseDrop_T(atom/from, mob/user) // I could make this /open/floor and not have the !istype but ehh - kev - if(isliving(from) && SEND_SIGNAL(from, COMSIG_IS_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) + if(isliving(from) && HAS_TRAIT(from, TRAIT_SWIMMING) && isliving(user) && ((user == from) || user.CanReach(from)) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && !istype(src, /turf/open/pool)) var/mob/living/L = from //The element only exists if you're on water and a living mob, so let's skip those checks. var/pre_msg @@ -81,7 +81,7 @@ return ..() //human weak, monkey (and anyone else) ook ook eek eek strong if(isliving(AM) && (locate(/obj/structure/pool/ladder) in src)) return ..() //climbing out - return istype(newloc, type) + return istype(newloc, /turf/open/pool) return ..() // Exited logic @@ -105,7 +105,7 @@ return ..() if(isliving(AM)) var/mob/living/victim = AM - if(!SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) //poor guy not swimming time to dunk them! + if(!HAS_TRAIT(victim, TRAIT_SWIMMING)) //poor guy not swimming time to dunk them! victim.AddElement(/datum/element/swimming) controller.mobs_in_pool += victim if(locate(/obj/structure/pool/ladder) in src) //safe climbing @@ -126,7 +126,7 @@ H.visible_message("[H] falls in and takes a drink!", "You fall in and swallow some water!") playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) - else if(!istype(H.head, /obj/item/clothing/head/helmet)) + else if(!H.head || !(H.head.armor.getRating(melee) > 20)) if(prob(75)) H.visible_message("[H] falls in the drained pool!", "You fall in the drained pool!") @@ -155,7 +155,7 @@ if(!isliving(from)) return var/mob/living/victim = from - if(user.stat || user.lying || !Adjacent(user) || !from.Adjacent(user) || !iscarbon(user) || !victim.has_gravity(src) || SEND_SIGNAL(victim, COMSIG_IS_SWIMMING)) + if(user.stat || user.lying || !Adjacent(user) || !from.Adjacent(user) || !iscarbon(user) || !victim.has_gravity(src) || HAS_TRAIT(victim, TRAIT_SWIMMING)) return var/victimname = victim == user? "themselves" : "[victim]" var/starttext = victim == user? "[user] is descending into [src]." : "[user] is lowering [victim] into [src]." @@ -177,7 +177,7 @@ . = ..() if(.) return - if((user.loc != src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && SEND_SIGNAL(user, COMSIG_IS_SWIMMING) && filled && (next_splash < world.time)) + if((user.loc != src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated() && Adjacent(user) && HAS_TRAIT(user, TRAIT_SWIMMING) && filled && (next_splash < world.time)) playsound(src, 'sound/effects/watersplash.ogg', 8, TRUE, 1) next_splash = world.time + 25 var/obj/effect/splash/S = new(src) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 40db1553a5..27f16d4008 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -15,8 +15,7 @@ . = ..() if(.) return - var/is_swimming = SEND_SIGNAL(user, COMSIG_IS_SWIMMING) - if(!is_swimming) + if(!HAS_TRAIT(user, TRAIT_SWIMMING)) if(user.CanReach(src)) user.AddElement(/datum/element/swimming) user.forceMove(get_step(src, dir)) @@ -44,7 +43,8 @@ if(jumping) for(var/mob/living/jumpee in loc) //hackzors. playsound(jumpee, 'sound/effects/splash.ogg', 60, TRUE, 1) - jumpee.AddElement(/datum/element/swimming) + if(!HAS_TRAIT(jumpee, TRAIT_SWIMMING)) + jumpee.AddElement(/datum/element/swimming) jumpee.Stun(2) /obj/structure/pool/Lboard/proc/reset_position(mob/user, initial_layer, initial_px, initial_py) @@ -59,7 +59,7 @@ to_chat(user, "Someone else is already making a jump!") return var/turf/T = get_turf(src) - if(SEND_SIGNAL(user, COMSIG_IS_SWIMMING)) + if(HAS_TRAIT(user, TRAIT_SWIMMING)) return else if(Adjacent(jumper)) @@ -73,7 +73,7 @@ jumper.layer = RIPPLE_LAYER jumper.pixel_x = 3 jumper.pixel_y = 7 - jumper.dir = 8 + jumper.dir = WEST sleep(1) jumper.forceMove(T) addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) From 617d0c0afab1e0083284b5df24c494e5e5ddc3eb Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 00:26:47 -0700 Subject: [PATCH 062/221] armor --- code/modules/pool/pool_main.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 9f867df31e..9d37bd5fd5 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -126,7 +126,7 @@ H.visible_message("[H] falls in and takes a drink!", "You fall in and swallow some water!") playsound(src, 'sound/effects/splash.ogg', 60, TRUE, 1) - else if(!H.head || !(H.head.armor.getRating(melee) > 20)) + else if(!H.head || !(H.head.armor.getRating("melee") > 20)) if(prob(75)) H.visible_message("[H] falls in the drained pool!", "You fall in the drained pool!") From 7f81f3e51f2c676454a331b3f8de4e0a684f2aec Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 22:00:30 -0700 Subject: [PATCH 063/221] fix --- code/modules/pool/pool_structures.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 27f16d4008..0bf74bb2ee 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -74,6 +74,7 @@ jumper.pixel_x = 3 jumper.pixel_y = 7 jumper.dir = WEST + jumper.Addelement(/datum/element/swimming) sleep(1) jumper.forceMove(T) addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) From 7362b89aeb0cbe9449637a5f72f6563928883226 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 7 Feb 2020 07:52:41 +0100 Subject: [PATCH 064/221] More stuff. --- code/game/turfs/turf.dm | 2 ++ .../reagents/chemistry/reagents/toxin_reagents.dm | 2 +- strings/spurdo_replacement.json | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 strings/spurdo_replacement.json diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 688e03def3..9adc813c6c 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -554,6 +554,8 @@ //if the vomit combined, apply toxicity and reagents to the old vomit if (QDELETED(V)) V = locate() in src + if(!V) //the decal was spawned on a wall or groundless turf and promptly qdeleted. + return // Make toxins and blazaam vomit look different if(toxvomit == VOMIT_PURPLE) V.icon_state = "vomitpurp_[pick(1,4)]" diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index a32cb94401..a9762cfe1c 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -504,7 +504,7 @@ toxpwr = 0 /datum/reagent/toxin/itching_powder/reaction_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH || method == VAPOR) + if((method == TOUCH || method == VAPOR) && M.reagents) M.reagents.add_reagent(/datum/reagent/toxin/itching_powder, reac_volume) /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M) diff --git a/strings/spurdo_replacement.json b/strings/spurdo_replacement.json new file mode 100644 index 0000000000..71c7c8d356 --- /dev/null +++ b/strings/spurdo_replacement.json @@ -0,0 +1,14 @@ +{ + + "spurdo": { + "epic": "ebin", + "c": "g", + "ck": "gg", + "k": "g", + "t": "d", + "p": "b", + "x": "gs" + } + + +} \ No newline at end of file From 949e8c410472a8b0a582fff18f1a94f5956994c2 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Fri, 7 Feb 2020 16:27:53 -0600 Subject: [PATCH 065/221] hate.. --- _maps/map_files/BoxStation/BoxStation.dmm | 11906 +++++++++----------- 1 file changed, 5582 insertions(+), 6324 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index eb877cf12b..a630c54b6e 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -173,19 +173,6 @@ "aay" = ( /turf/open/floor/plating, /area/security/prison) -"aaz" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/marker_beacon{ - anchored = 1; - icon_state = "markerburgundy-on"; - light_color = "#FA644B"; - light_power = 3; - light_range = 3; - name = "Docking Beacon"; - picked_color = "Burgundy" - }, -/turf/open/space/basic, -/area/space/nearstation) "aaA" = ( /obj/machinery/seed_extractor, /turf/open/floor/plasteel, @@ -247,46 +234,10 @@ /obj/structure/chair/stool, /turf/open/floor/plasteel, /area/security/prison) -"aaK" = ( -/obj/structure/lattice/catwalk, -/obj/item/stack/marker_beacon{ - anchored = 1; - icon_state = "markerburgundy-on"; - light_color = "#FA644B"; - light_power = 3; - light_range = 3; - name = "Docking Beacon"; - picked_color = "Burgundy" - }, -/turf/open/floor/plating, -/area/space/nearstation) -"aaL" = ( -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/library) -"aaM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) "aaN" = ( /obj/structure/chair/sofa/right, /turf/open/floor/plasteel, /area/security/prison) -"aaO" = ( -/obj/effect/spawner/lootdrop/keg, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "aaP" = ( /obj/machinery/computer/cryopod{ dir = 8; @@ -297,12 +248,6 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aaQ" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "aaR" = ( /obj/structure/lattice, /obj/structure/sign/warning/securearea{ @@ -340,15 +285,6 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"aaY" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/obj/item/poster/random_official, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "aaZ" = ( /turf/closed/wall/r_wall, /area/ai_monitored/security/armory) @@ -569,11 +505,6 @@ "abF" = ( /turf/open/floor/plasteel/freezer, /area/security/prison) -"abG" = ( -/obj/structure/door_assembly/door_assembly_mai, -/obj/item/electronics/airlock, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "abH" = ( /obj/structure/table, /obj/item/storage/box/chemimp{ @@ -1634,10 +1565,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) -"adO" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating/airless, -/area/space/nearstation) "adP" = ( /obj/structure/cable{ icon_state = "2-8" @@ -2052,34 +1979,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"aeD" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"aeE" = ( -/obj/structure/girder, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"aeF" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/computer/station_alert{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "aeG" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -2458,12 +2357,6 @@ }, /turf/open/floor/plasteel, /area/security/main) -"afn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "afo" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Three" @@ -2484,39 +2377,6 @@ }, /turf/open/space/basic, /area/space) -"afq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) -"afr" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) -"afs" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -31 - }, -/obj/machinery/computer/monitor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "aft" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 @@ -2827,15 +2687,6 @@ /obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"age" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "agf" = ( /obj/structure/table, /obj/item/stack/sheet/metal, @@ -2985,10 +2836,6 @@ /obj/machinery/suit_storage_unit/security, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) -"agv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "agw" = ( /obj/structure/table, /obj/machinery/syndicatebomb/training, @@ -3118,14 +2965,6 @@ }, /turf/open/floor/plasteel, /area/security/main) -"agH" = ( -/obj/machinery/bluespace_beacon, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "agI" = ( /obj/machinery/airalarm{ pixel_y = 23 @@ -3255,12 +3094,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/warden) -"agX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "agY" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, @@ -3501,16 +3334,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) -"ahw" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ahx" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4161,12 +3984,7 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -4656,16 +4474,6 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, /turf/open/floor/plasteel, /area/security/brig) -"ajC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/grimy, -/area/ai_monitored/turret_protected/aisat_interior) "ajD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4874,18 +4682,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"ajX" = ( -/obj/machinery/computer/teleporter{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat_interior) -"ajY" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat/atmos) "ajZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum/external{ @@ -5169,18 +4965,6 @@ }, /turf/open/floor/plasteel, /area/security/courtroom) -"akz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/turret_protected/aisat_interior) "akA" = ( /obj/structure/chair{ dir = 8; @@ -6281,14 +6065,6 @@ /turf/open/floor/plasteel, /area/security/processing) "anu" = ( -/obj/machinery/button/door{ - desc = "A remote control switch for the exit."; - id = "laborexit"; - name = "exit button"; - normaldoorcontrol = 1; - pixel_x = 26; - pixel_y = -6 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -6369,8 +6145,11 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6378,14 +6157,11 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/fitness"; - name = "Pool Room APC"; - pixel_y = -23 +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 }, -/obj/structure/cable, /turf/open/floor/plating, -/area/crew_quarters/fitness/pool) +/area/maintenance/fore/secondary) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -6437,10 +6213,8 @@ /area/space) "anP" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security{ - id_tag = "laborexit"; - name = "Labor Shuttle"; - req_access_txt = "63" +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Airlock" }, /turf/open/floor/plasteel, /area/security/processing) @@ -7371,12 +7145,14 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Pool" +/obj/machinery/door/airlock{ + id_tag = "Room Two"; + name = "Room Seven - Luxury Suite" }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/dorms) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -7853,7 +7629,7 @@ /turf/open/floor/wood, /area/lawoffice) "asa" = ( -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = 32 }, /obj/effect/turf_decal/tile/red{ @@ -13719,7 +13495,7 @@ /turf/open/floor/plating, /area/chapel/main) "aHu" = ( -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = 32 }, /turf/open/floor/plasteel/white/corner{ @@ -16141,6 +15917,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) +"aNV" = ( +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/library) "aNW" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel Office"; @@ -16760,7 +16540,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "aPE" = ( -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /turf/closed/wall, /area/crew_quarters/locker) "aPF" = ( @@ -16851,7 +16631,7 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -16883,7 +16663,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -18159,7 +17939,7 @@ /area/hallway/secondary/exit) "aTl" = ( /obj/machinery/vending/cola/random, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ layer = 4; pixel_y = 32 }, @@ -18200,7 +17980,7 @@ /area/hallway/secondary/exit) "aTr" = ( /obj/machinery/door/firedoor, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = 32 }, /turf/open/floor/plasteel, @@ -21374,7 +21154,7 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "baZ" = ( -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ layer = 4; pixel_y = 32 }, @@ -21531,7 +21311,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bbv" = ( -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_y = 32 }, /obj/structure/cable{ @@ -22012,7 +21792,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/open/floor/wood, +/turf/open/floor/carpet, /area/crew_quarters/heads/captain) "bcR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -22131,6 +21911,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/computer/arcade/minesweeper, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bdj" = ( @@ -22167,7 +21948,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = -32 }, /obj/effect/turf_decal/tile/blue{ @@ -23068,7 +22849,7 @@ /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) "bfw" = ( -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload) "bfx" = ( @@ -23118,7 +22899,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/open/floor/carpet, +/turf/open/floor/wood, /area/crew_quarters/heads/captain) "bfD" = ( /obj/structure/cable{ @@ -25066,7 +24847,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = 32 }, /obj/machinery/aug_manipulator, @@ -26708,6 +26489,7 @@ /area/crew_quarters/heads/captain) "boa" = ( /obj/structure/toilet{ + contents = newlist(/obj/item/toy/snappop/phoenix); dir = 4 }, /turf/open/floor/plasteel/freezer, @@ -27329,7 +27111,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bpw" = ( -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /turf/closed/wall, /area/medical/medbay/central) "bpx" = ( @@ -28637,7 +28419,7 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bsz" = ( -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = -32 }, /turf/open/floor/plasteel/white/side{ @@ -30023,6 +29805,12 @@ }, /turf/open/floor/plasteel, /area/quartermaster/qm) +"bvG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/space/nearstation) "bvH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -30193,6 +29981,21 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"bwc" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) "bwd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -32599,7 +32402,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_y = -32 }, /turf/open/floor/plasteel, @@ -35474,7 +35277,7 @@ /area/medical/sleeper) "bIe" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = -32 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -42594,7 +42397,7 @@ /turf/open/floor/plating, /area/tcommsat/computer) "bZr" = ( -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /turf/closed/wall, /area/tcommsat/computer) "bZs" = ( @@ -48369,6 +48172,16 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"coh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"coi" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel, +/area/security/brig) "cop" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 1 @@ -48527,6 +48340,10 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"coI" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hydroponics) "coJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/yellow{ @@ -48757,6 +48574,15 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"cpF" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/sign/poster/official/space_cops{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) "cpG" = ( /obj/structure/table/optable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -49491,9 +49317,46 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) +"ctu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ctv" = ( /turf/closed/wall/r_wall, /area/space/nearstation) +"ctw" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctx" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"cty" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ctz" = ( /obj/machinery/door/poddoor/shutters{ id = "teledoor"; @@ -49538,6 +49401,41 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) +"ctG" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctH" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -31 + }, +/obj/machinery/computer/monitor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) +"ctI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ctJ" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -49561,6 +49459,14 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) +"ctM" = ( +/obj/machinery/bluespace_beacon, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "ctN" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 @@ -49568,6 +49474,12 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"ctP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ctQ" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -49593,6 +49505,26 @@ /obj/structure/sign/warning/radiation/rad_area, /turf/closed/wall, /area/engine/engineering) +"ctS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) +"ctT" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ai_monitored/turret_protected/aisat_interior) "ctU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -49615,6 +49547,12 @@ /obj/structure/chair, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) +"ctW" = ( +/obj/machinery/computer/teleporter{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat_interior) "ctX" = ( /obj/machinery/camera{ c_tag = "MiniSat Teleporter"; @@ -49651,7 +49589,7 @@ /area/ai_monitored/turret_protected/aisat_interior) "cuc" = ( /obj/structure/rack, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_y = -32 }, /obj/item/storage/box/donkpockets, @@ -49895,6 +49833,12 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/atmos) +"cuC" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat/atmos) "cuD" = ( /obj/machinery/light/small{ dir = 8 @@ -49943,6 +49887,18 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) +"cuG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/turret_protected/aisat_interior) "cuH" = ( /obj/machinery/light/small{ dir = 8 @@ -50231,7 +50187,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cvf" = ( -/obj/machinery/status_display, +/obj/machinery/status_display/evac, /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) "cvg" = ( @@ -50756,7 +50712,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/machinery/status_display{ +/obj/machinery/status_display/evac{ pixel_x = -32 }, /turf/open/floor/circuit, @@ -50885,14 +50841,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) -"cwP" = ( -/obj/structure/fireplace, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 - }, -/turf/open/floor/plating, -/area/maintenance/port) "cwT" = ( /obj/machinery/camera{ c_tag = "Arrivals Escape Pod 2"; @@ -51202,14 +51150,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"czi" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 8; - name = "8maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) "czk" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -52080,6 +52020,15 @@ /obj/machinery/deepfryer, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) +"cCt" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/obj/item/poster/random_official, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "cCB" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 @@ -52241,6 +52190,36 @@ /obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/engineering) +"cEo" = ( +/obj/structure/closet/boxinggloves, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"cGz" = ( +/obj/structure/table/wood, +/obj/item/instrument/violin, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"cHf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 20 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/item/reagent_containers/food/drinks/britcup, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "cHD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -52551,27 +52530,10 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"cJn" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/plasteel, -/area/engine/atmos) -"cMk" = ( -/obj/machinery/vr_sleeper{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) +"cIv" = ( +/obj/structure/sign/poster/official/cohiba_robusto_ad, +/turf/closed/wall, +/area/lawoffice) "cMC" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -52602,6 +52564,10 @@ }, /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/aft) +"cMS" = ( +/obj/item/chair/wood, +/turf/open/floor/plating, +/area/maintenance/port) "cNa" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -52751,24 +52717,14 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cOP" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "cOT" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cPo" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"cPw" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +"cPn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/freezer, +/area/crew_quarters/toilet) "cPA" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 4 @@ -52811,47 +52767,25 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cRz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +"cQF" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" }, -/obj/machinery/button/door{ - id = "holoprivacy"; - name = "Holodeck Privacy"; - pixel_y = 24 +/obj/item/radio/intercom{ + pixel_y = 25 }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"cRD" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/dresser, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/theatre"; - dir = 8; - name = "Theatre APC"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/theatre) -"cSn" = ( -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"cQT" = ( +/obj/structure/filingcabinet, /obj/machinery/light{ - dir = 1 + dir = 8; + light_color = "#e8eaff" }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "cSA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53213,6 +53147,12 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) +"cTT" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/circuit, +/area/ai_monitored/nuke_storage) "cTX" = ( /obj/structure/cable{ icon_state = "0-2" @@ -53235,1062 +53175,31 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) +"cUx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge/meeting_room) "cVb" = ( /turf/closed/wall, /area/hallway/secondary/service) -"cVp" = ( -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/structure/curtain, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) -"cVu" = ( -/obj/machinery/camera{ - c_tag = "Locker Room South"; - dir = 8 - }, -/obj/structure/closet/secure_closet/personal, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) +"cVs" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/wood, +/area/bridge/meeting_room) "cVK" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"cXx" = ( -/obj/machinery/door/airlock/security{ - name = "Labor Shuttle"; - req_access_txt = "2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/processing) -"dbn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/engine_smes) -"dbM" = ( -/turf/open/floor/plating, -/area/space/nearstation) -"dcG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/closet/wardrobe/pjs, -/obj/item/clothing/under/maid, -/obj/item/clothing/under/maid, -/obj/item/clothing/under/janimaid, -/obj/item/clothing/under/janimaid, -/obj/item/clothing/accessory/maidapron, -/obj/item/clothing/accessory/maidapron, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"dfh" = ( -/obj/machinery/power/apc{ - areastring = "/area/science/circuit"; - name = "Circuitry Lab APC"; - pixel_x = 30 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel, -/area/science/circuit) -"dfI" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/departments/evac{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"dfL" = ( -/obj/structure/reagent_dispensers/keg/gargle, -/turf/open/floor/wood, -/area/maintenance/bar) -"dgh" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/obj/machinery/camera{ - c_tag = "VR Sleepers"; - dir = 1 - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel/white/side{ - dir = 1 - }, -/area/crew_quarters/fitness) -"dgz" = ( -/turf/closed/wall, -/area/crew_quarters/cryopod) -"dhx" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) -"dlj" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"dok" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"doP" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/theatre) -"dqu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"dtE" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"dvc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"dvG" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"dvO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/closed/wall, -/area/science/circuit) -"dwc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"dxB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/prison) -"dzi" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"dzy" = ( -/obj/machinery/door/airlock{ - name = "Shower Room" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/toilet) -"dHb" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"dIm" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"dKP" = ( -/turf/closed/wall, -/area/maintenance/bar) -"dKV" = ( -/obj/structure/chair/stool/bar, -/turf/open/floor/wood, -/area/maintenance/bar) -"dMu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"dMX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/obj/structure/chair/comfy/brown, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"dMZ" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"dRC" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/hydroponics) -"dSv" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/abandoned_gambling_den"; - name = "Abandoned Gambling Den APC"; - pixel_y = -24 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"dTe" = ( -/obj/structure/chair/comfy/beige{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/grimy, -/area/hallway/secondary/entry) -"dTJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/heads/captain) -"dXT" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"eaI" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom{ - pixel_x = -30 - }, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"edH" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"eeR" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ego" = ( -/obj/machinery/atmospherics/components/binary/valve, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"egQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchen"; - name = "kitchen shutters" - }, -/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"egS" = ( -/obj/structure/table/wood/fancy, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/snacks/burger/plain, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"ein" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"elw" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, +"cXU" = ( /obj/effect/turf_decal/tile/red, +/obj/machinery/light{ + light_color = "#c9d3e8" + }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"epV" = ( -/obj/structure/bed, -/obj/machinery/button/door{ - id = "Dorm6"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/spawner/lootdrop/bedsheet, -/turf/open/floor/wood, -/area/crew_quarters/dorms) -"eqm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"est" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/computer/shuttle/mining/common{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"esV" = ( -/obj/structure/table/glass, -/obj/structure/bedsheetbin/towel, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"evR" = ( -/turf/open/floor/plating, -/area/maintenance/bar) -"ewZ" = ( -/obj/structure/pool/ladder{ - dir = 1; - pixel_y = -22 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"eyM" = ( -/obj/machinery/mineral/ore_redemption{ - input_dir = 2; - output_dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"eHI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/disposal/incinerator) -"eLH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/fore) -"eMi" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"eMQ" = ( -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/obj/machinery/vending/wardrobe/curator_wardrobe, -/turf/open/floor/carpet, -/area/library) -"eND" = ( -/obj/structure/filingcabinet, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"eNK" = ( -/obj/structure/table/wood, -/obj/item/instrument/guitar, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"eNW" = ( -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) -"eOv" = ( -/obj/effect/landmark/event_spawn, -/turf/closed/wall, -/area/crew_quarters/fitness) -"eOy" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"ePO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"eRk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"eRn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall, -/area/quartermaster/warehouse) -"eRz" = ( -/obj/structure/lattice, -/obj/structure/grille, -/turf/open/space/basic, -/area/space/nearstation) -"eUd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"eVC" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/cryopod) -"eVL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"eXm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"fbm" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"fby" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"fcG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/science/mixing) -"fgj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"fhP" = ( -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"fjy" = ( -/obj/structure/lattice, -/turf/closed/wall/r_wall, -/area/crew_quarters/heads/captain) -"flc" = ( -/obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"fnC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/service) -"fnJ" = ( -/obj/structure/sign/mining{ - pixel_y = 7 - }, -/turf/closed/wall, -/area/quartermaster/miningdock) -"frE" = ( -/obj/machinery/vr_sleeper{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/crew_quarters/fitness) -"ftv" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"fuo" = ( -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/grass, -/area/security/prison) -"fvk" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"fvW" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"fvY" = ( -/obj/machinery/computer/cryopod{ - pixel_y = 26 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"fwN" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"fxa" = ( -/obj/structure/chair/wood/normal, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/maintenance/bar) -"fyq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1; - pixel_x = 5 - }, -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet) -"fyM" = ( -/obj/structure/closet/wardrobe/cargotech, -/obj/item/radio/headset/headset_cargo, -/turf/open/floor/plasteel, -/area/quartermaster/storage) -"fzd" = ( -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den) -"fGf" = ( -/obj/machinery/smartfridge/disks{ - pixel_y = 2 - }, -/obj/structure/table, -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"fGl" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/security/brig) -"fGC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/vault, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/nuke_storage) -"fHd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"fHj" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"fHm" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"fHK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"fIn" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"fJa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - pixel_y = 5 - }, -/obj/structure/chair/sofa{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"fKl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/science/circuit) -"fLd" = ( -/obj/structure/table/wood, -/obj/machinery/requests_console{ - department = "Theatre"; - name = "theatre RC"; - pixel_x = -32 - }, -/obj/item/reagent_containers/food/snacks/baguette, -/obj/item/toy/dummy, -/obj/item/lipstick/random{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/lipstick/random{ - pixel_x = -2; - pixel_y = -2 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/theatre) -"fLR" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"fOc" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"fPs" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchen"; - name = "kitchen shutters" - }, -/obj/item/reagent_containers/food/snacks/cheesynachos{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/kitchen) -"fQF" = ( -/obj/structure/chair/sofa/right, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"fSr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"fTg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"fVU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) -"fZD" = ( -/obj/structure/filingcabinet, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"gbq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plating, -/area/construction) -"gbT" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"gdu" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/machinery/button/door{ - id = "LockerShitter2"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 14; - pixel_y = 38; - specialfunctions = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet/locker) -"gfD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"gga" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"ggg" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/space, -/area/solar/starboard/aft) -"ghs" = ( -/obj/structure/table/wood/fancy, -/obj/machinery/light, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = -3; - pixel_y = 20 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - dir = 1; - pixel_x = 3; - pixel_y = 20 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"ghJ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - icon_state = "roomnum"; - name = "Room Number 1"; - pixel_x = -30; - pixel_y = -7 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"ghY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"gil" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"gjf" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/wood, -/area/bridge/meeting_room) -"gjl" = ( -/turf/closed/wall, -/area/quartermaster/warehouse) -"gjC" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"goY" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Pool" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"gtj" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"gtL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"gwd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/circuit) -"gwi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"gBo" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/maintenance/bar) -"gCe" = ( -/obj/effect/spawner/lootdrop/keg, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"gFD" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/item/crowbar/red, -/turf/open/floor/plating, -/area/maintenance/port) -"gIO" = ( -/obj/structure/bed, -/obj/effect/spawner/lootdrop/bedsheet, -/turf/open/floor/plating, -/area/security/prison) -"gJg" = ( -/turf/closed/wall/mineral/titanium, -/area/space/nearstation) -"gKk" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/fitness) -"gLH" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"gMl" = ( -/obj/structure/chair/wood/normal{ - dir = 4 - }, -/turf/open/floor/wood, -/area/maintenance/bar) -"gMv" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"gOZ" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"gQn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"gSH" = ( -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/space/nearstation) -"gVX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes) -"gVY" = ( +"daI" = ( /obj/structure/reagent_dispensers/foamtank, /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -54305,537 +53214,20 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plasteel, /area/engine/atmos) -"gWd" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/construction) -"gXs" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) -"gZG" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/item/reagent_containers/glass/beaker/synthflesh, -/turf/open/floor/plasteel/white/side{ - dir = 8 - }, -/area/medical/sleeper) -"has" = ( -/obj/structure/bed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"haz" = ( -/obj/machinery/autolathe{ - name = "public autolathe" - }, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"haX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"hcd" = ( -/obj/machinery/smartfridge/organ/preloaded, -/turf/closed/wall, -/area/medical/sleeper) -"hdb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"hdp" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 3; - name = "3maintenance loot spawner" - }, +"dbU" = ( /obj/structure/light_construct{ - dir = 8 + dir = 1 }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"hdq" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"hfe" = ( -/obj/structure/sign/poster/contraband/smoke{ - desc = "This poster reminds us all that the Detective is a parasite. Year after year, they must get replacement lungs because of their addiction. "; - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"hgX" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +"dce" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/machinery/light/small, -/obj/structure/extinguisher_cabinet{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/open/floor/plasteel/white/side{ - dir = 1 - }, -/area/crew_quarters/fitness) -"hik" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/space, -/area/solar/starboard/aft) -"hjw" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"hkg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/dorms) -"hkS" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"hlY" = ( -/obj/machinery/door/airlock{ - name = "Recharging Station" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"hoo" = ( -/obj/effect/landmark/carpspawn, -/turf/open/space/basic, -/area/space) -"hoO" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"hqD" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"htr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"hvS" = ( -/obj/effect/landmark/stationroom/box/engine, -/turf/open/space/basic, -/area/space) -"hwu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"hzw" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/structure/window{ - dir = 1 - }, -/obj/structure/window{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"hzR" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"hKF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/storage/tech) -"hMb" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"hMx" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"hPB" = ( -/turf/open/floor/plasteel/yellowsiding/corner, -/area/crew_quarters/fitness/pool) -"hRa" = ( -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"hRz" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"hRT" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/maintenance/department/electrical) -"hRX" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"hSU" = ( -/obj/structure/chair/sofa/left, -/obj/structure/window{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"hVw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"hWn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"hYW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"hZH" = ( -/obj/machinery/hydroponics/constructable, -/obj/item/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = 29 - }, -/turf/open/floor/plasteel/dark, -/area/hydroponics) -"idO" = ( -/obj/structure/bed, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"idX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"iep" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/camera{ - c_tag = "Pool West"; - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"ier" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"ieL" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"igT" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_y = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"ihm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/junction/flip, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"ihC" = ( -/obj/item/chair/wood, -/turf/open/floor/plating, -/area/maintenance/port) -"iiW" = ( -/turf/open/floor/wood, -/area/maintenance/bar) -"ikE" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ilJ" = ( -/obj/effect/turf_decal/tile/red, -/obj/machinery/light{ - light_color = "#c9d3e8" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"imH" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/maintenance/bar) -"ioB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/effect/landmark/start/mime, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/theatre) -"ioG" = ( -/obj/machinery/vending/cola/red, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"ioM" = ( -/obj/structure/pool/ladder{ - dir = 2; - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ioX" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"ipc" = ( -/obj/machinery/door/airlock/engineering{ - name = "Gravity Generator"; - req_access_txt = "11" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes) -"ipA" = ( -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"iqw" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/security/brig) -"isy" = ( -/obj/structure/urinal{ - pixel_y = 32 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet) -"itG" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"itT" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"ium" = ( -/mob/living/simple_animal/bot/cleanbot{ - name = "C.L.E.A.N." - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"ivF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"iyC" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-06" - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/entry) -"izv" = ( -/obj/machinery/vending/clothing, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/wood, -/area/maintenance/bar) -"iAR" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"iBB" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"iCW" = ( -/obj/structure/bed, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"iEx" = ( -/obj/structure/table/wood, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/instrument/trombone, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"iEI" = ( -/obj/machinery/vending/autodrobe/all_access, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"iEJ" = ( -/obj/machinery/door/airlock/external{ - name = "Escape Pod One" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"iES" = ( -/obj/structure/fireplace, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) -"iFL" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/theatre) -"iMG" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-14" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"iNn" = ( -/obj/machinery/camera{ - c_tag = "Kitchen Cold Room" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) -"iOt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/free_drone{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"iOV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/light_construct{ - dir = 4 - }, +/obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"iRJ" = ( +"dev" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -54856,159 +53248,67 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"iVU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/crew_quarters/cryopod) -"iWa" = ( -/obj/structure/closet/crate, -/obj/item/book/manual/wiki/telescience, -/obj/item/book/manual/wiki/engineering_guide, -/obj/item/book/manual/wiki/engineering_construction, -/obj/item/book/manual/wiki/atmospherics, -/obj/item/book/manual/wiki/detective, -/obj/item/book/manual/wiki/tcomms, -/obj/item/book/manual/wiki/engineering_singulo_tesla, -/obj/item/book/manual/wiki/experimentor, -/obj/item/book/manual/wiki/research_and_development, -/obj/item/book/manual/wiki/robotics_cyborgs, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/book/manual/wiki/medicine, -/obj/item/book/manual/wiki/medical_cloning, -/obj/item/book/manual/wiki/infections, -/obj/item/book/manual/ripley_build_and_repair, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/book/manual/wiki/toxins, -/obj/item/book/manual/wiki/grenades, -/obj/item/book{ - desc = "An undeniably handy book."; - icon_state = "bookknock"; - name = "A Simpleton's Guide to Safe-cracking with Stethoscopes" - }, -/turf/open/floor/wood, -/area/library) -"iWk" = ( -/obj/structure/bookcase{ - name = "Forbidden Knowledge" - }, -/turf/open/floor/carpet, -/area/library) -"iYz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/theatre) -"jaa" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hydroponics) -"jbf" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, +"dfh" = ( /obj/machinery/power/apc{ - areastring = "/area/hallway/secondary/service"; - dir = 1; - name = "Service Hall APC"; - pixel_y = 25 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/service) -"jdT" = ( -/turf/open/floor/carpet, -/area/crew_quarters/dorms) -"jeR" = ( -/obj/structure/chair/sofa/left, -/turf/open/floor/plasteel, -/area/security/prison) -"jeT" = ( -/obj/machinery/vending/clothing, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"jgm" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 + areastring = "/area/science/circuit"; + name = "Circuitry Lab APC"; + pixel_x = 30 }, /obj/effect/turf_decal/stripes/line{ - dir = 6 + dir = 4 }, -/obj/machinery/camera{ - c_tag = "Circuitry Lab"; - dir = 8; - network = list("ss13","rd") +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plasteel, /area/science/circuit) -"jgv" = ( -/obj/structure/chair/comfy/brown{ - color = "#596479"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"jhh" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"jhF" = ( -/obj/effect/turf_decal/stripes/line{ +"dfL" = ( +/obj/structure/reagent_dispensers/keg/gargle, +/turf/open/floor/wood, +/area/maintenance/bar) +"dgz" = ( +/turf/closed/wall, +/area/crew_quarters/cryopod) +"dgO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, /area/engine/gravity_generator) -"jiR" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +"diq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"dly" = ( +/obj/machinery/door/window/southright{ + name = "Target Storage" + }, +/obj/item/target/alien, +/obj/item/target/alien, +/obj/item/target/syndicate, +/turf/open/floor/plating, +/area/security/prison) +"dml" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"dqb" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/window, -/obj/structure/window{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"jkd" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"jlm" = ( -/obj/machinery/rnd/production/techfab/department/cargo, -/turf/open/floor/plasteel, -/area/quartermaster/office) -"jly" = ( +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"dqu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"dsC" = ( /obj/structure/chair/stool{ pixel_y = 8 }, @@ -55019,68 +53319,273 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) -"jmC" = ( -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) -"jnm" = ( -/obj/machinery/power/smes{ - charge = 5e+006 +"dtx" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 25 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet) +"dvc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"dvO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall, +/area/science/circuit) +"dyS" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"dzi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"dBm" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"dCV" = ( +/obj/structure/table, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/recharger, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, +/turf/open/floor/plasteel, +/area/security/prison) +"dKP" = ( +/turf/closed/wall, +/area/maintenance/bar) +"dKV" = ( +/obj/structure/chair/stool/bar, +/turf/open/floor/wood, +/area/maintenance/bar) +"dLG" = ( +/obj/machinery/door/airlock/security{ + name = "Firing Range"; + req_access_txt = "2" }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/engine/gravity_generator) -"jnX" = ( -/obj/machinery/door/airlock/external{ - name = "Common Mining Shuttle Bay" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) -"job" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/door/window/westright{ - name = "Red Corner" - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"jou" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"jqv" = ( -/obj/structure/chair/wood/normal{ - dir = 1 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/maintenance/bar) -"jrE" = ( +/area/security/prison) +"dMZ" = ( /obj/structure/sign/poster/official/random{ - pixel_x = 32 + pixel_y = 32 }, /turf/open/floor/plasteel/white, /area/science/circuit) -"jsy" = ( +"dPk" = ( +/obj/structure/closet{ + name = "Costume Closet" + }, +/obj/item/clothing/head/russobluecamohat, +/obj/item/clothing/head/russobluecamohat, +/obj/item/clothing/head/helmet/rus_ushanka, +/obj/item/clothing/head/helmet/rus_ushanka, +/obj/item/clothing/head/helmet/rus_ushanka, +/obj/item/clothing/head/helmet/rus_ushanka, +/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/under/mw2_russian_para, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"dTI" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet) +"dVU" = ( +/turf/open/floor/plating, +/area/space/nearstation) +"dXq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"eaI" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom{ + pixel_x = -30 + }, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"eaR" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/space, +/area/solar/starboard/fore) +"edA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-04" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"efO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/space/nearstation) +"egt" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Bar"; + departmentType = 2; + pixel_x = -30; + pixel_y = 45; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) +"eih" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"elh" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"enB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/security/execution/transfer) +"epC" = ( +/obj/machinery/door/airlock{ + desc = "To keep the station within regulations, space IKEA requires one storage cupboard for their Nanotrasen partnership to continue."; + id_tag = "MaintDorm1"; + name = "Furniture Storage" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) +"epD" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"eqd" = ( +/obj/item/electropack/shockcollar, +/obj/item/assembly/signaler, +/turf/open/floor/plating, +/area/security/prison) +"eqA" = ( +/obj/machinery/shower{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison) +"esZ" = ( +/obj/machinery/door/airlock{ + desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; + id_tag = "PrivateStudy"; + name = "Private Study" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/library) +"evR" = ( +/turf/open/floor/plating, +/area/maintenance/bar) +"ewu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"exP" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-14" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"eyM" = ( +/obj/machinery/mineral/ore_redemption{ + input_dir = 2; + output_dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/quartermaster/miningdock) +"eAJ" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"eBX" = ( +/obj/machinery/vending/cola/space_up, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"eCr" = ( /obj/structure/closet{ name = "Suit Closet" }, @@ -55104,64 +53609,1168 @@ /obj/item/clothing/under/lawyer/really_black, /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, -/area/crew_quarters/locker) -"jtk" = ( -/obj/structure/chair/comfy/black{ +/area/crew_quarters/fitness) +"eCR" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"eEe" = ( +/obj/machinery/door/airlock{ + name = "Theatre Backstage"; + req_access_txt = "46" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"eFW" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"eHI" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"eHU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/prison) +"eJa" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_y = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"eQb" = ( +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"eRz" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"eSe" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; + name = "Personal ID-Locked Closet"; + pixel_y = 15 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"eVC" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/crew_quarters/cryopod) +"eVL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"jtU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/security/execution/transfer) -"jvN" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/area/quartermaster/miningdock) +"fcn" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall, +/area/ai_monitored/nuke_storage) +"fcG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/science/mixing) +"fde" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"jwi" = ( +/area/security/brig) +"feE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/fore) +"feG" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"jyD" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"jzi" = ( +/area/crew_quarters/bar) +"fgG" = ( +/obj/structure/table/wood, +/obj/machinery/requests_console{ + department = "Theatre"; + name = "theatre RC"; + pixel_x = -32 + }, +/obj/item/reagent_containers/food/snacks/baguette, +/obj/item/toy/dummy, +/obj/item/lipstick/random{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/lipstick/random{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/crew_quarters/theatre) +"fjS" = ( +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"flc" = ( +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"flE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"fne" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/landmark/start/mime, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/crew_quarters/theatre) +"fnC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/service) +"fpl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"fpI" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-06" + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) +"fsj" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/security/main"; + dir = 4; + name = "Firing Range APC"; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"ftE" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"fup" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"fvY" = ( +/obj/machinery/computer/cryopod{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"fxa" = ( +/obj/structure/chair/wood/normal, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/maintenance/bar) +"fxe" = ( +/obj/structure/chair/sofa, +/obj/structure/window{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"fxV" = ( +/turf/closed/wall/r_wall, +/area/hallway/primary/central) +"fzd" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/hydroponics) +"fAj" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/sign/poster/official/love_ian{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"fBy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"fCx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "holoprivacy"; + name = "Holodeck Privacy"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"fFA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"fGf" = ( +/obj/machinery/smartfridge/disks{ + pixel_y = 2 + }, +/obj/structure/table, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"fHG" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"fIs" = ( /obj/structure/grille, /obj/structure/lattice, /turf/open/floor/plating, /area/space/nearstation) -"jzD" = ( -/obj/structure/piano{ - icon_state = "piano" +"fKl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/science/circuit) +"fMZ" = ( +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 27 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"fOA" = ( +/obj/machinery/door/airlock{ + name = "Theatre Backstage"; + req_access_txt = "46" }, /turf/open/floor/wood, -/area/crew_quarters/bar) -"jAD" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, +/area/crew_quarters/theatre) +"fOI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-18" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"fTg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"fTC" = ( +/obj/structure/filingcabinet, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"fZm" = ( +/obj/structure/chair/sofa/left, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"gbd" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"gbh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness) +"gbq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plating, +/area/construction) +"gbu" = ( +/obj/structure/bed, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/plating, +/area/security/prison) +"gbT" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"gcF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"gfr" = ( +/obj/structure/bed, +/turf/open/floor/plating, +/area/maintenance/port) +"gfC" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"gfD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"ghq" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 3; + name = "Docking Beacon"; + picked_color = "Burgundy" + }, +/turf/open/floor/plating, /area/space/nearstation) -"jBZ" = ( +"ghD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"gjl" = ( +/turf/closed/wall, +/area/quartermaster/warehouse) +"gnf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/departments/custodian{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"gpD" = ( +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/circuit, +/area/ai_monitored/nuke_storage) +"grA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness) +"gwd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/circuit) +"gxc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"gzf" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/curtain, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"gBo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"gCC" = ( +/obj/structure/sign/poster/contraband/tools, +/turf/closed/wall, +/area/storage/primary) +"gDl" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space/basic, +/area/space) +"gIU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/space/nearstation) +"gJi" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"gLH" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gMl" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"gNC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/wood, +/area/bridge/meeting_room) +"gOZ" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"gQX" = ( +/obj/machinery/button/door{ + desc = "Alright, GAMER! Want to take your PWRGAME addiction to the MAX? Just smash this button with your chubby chetto encrusted hands an- oh, you broke the switch. Good job, idiot."; + id = "RIPFUN"; + name = "Powerful Gamer Toggle"; + normaldoorcontrol = 1; + pixel_x = -24; + pixel_y = 7; + specialfunctions = 4 + }, +/obj/structure/table_frame/wood, +/turf/open/floor/plating, +/area/maintenance/port) +"gRZ" = ( +/obj/structure/bookcase{ + name = "Forbidden Knowledge" + }, +/turf/open/floor/carpet, +/area/library) +"gTx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/nuke_storage) +"gUu" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"gWd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/construction) +"gXs" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"gZG" = ( +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, +/area/medical/sleeper) +"haL" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"haM" = ( +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -29 + }, /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"hcb" = ( +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"hcA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"hew" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"hgO" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/cherrycupcake, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"hiV" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/department/electrical) +"hlV" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/dorms) +"hnl" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall, +/area/maintenance/port) +"hnU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/prison) +"hrF" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/space, +/area/solar/port/aft) +"hsb" = ( +/obj/structure/table/wood, +/obj/item/book/codex_gigas, +/obj/item/clothing/under/suit_jacket/red, +/obj/structure/destructible/cult/tome, +/turf/open/floor/carpet, +/area/library) +"hse" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/space/nearstation) +"hBA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"hGH" = ( +/obj/machinery/door/airlock{ + desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; + id_tag = "PrivateStudy"; + name = "Private Study" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/wood, +/area/library) +"hHQ" = ( +/obj/structure/cable{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"hIL" = ( +/obj/structure/sign/poster/contraband/space_up{ + pixel_x = -32; + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"hIM" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"hOv" = ( +/obj/structure/table/wood/fancy, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/snacks/burger/plain, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"hPs" = ( +/obj/structure/fireplace, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"hPP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/quartermaster/warehouse) +"hRa" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"hRI" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"hSZ" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"hWd" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"idK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"iiW" = ( +/turf/open/floor/wood, +/area/maintenance/bar) +"ijG" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/window, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"ikk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"ikm" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"imH" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/maintenance/bar) +"inR" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/theatre) +"iou" = ( +/obj/machinery/light/small, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"ipA" = ( +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) +"itG" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"itK" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/obj/structure/light_construct{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"itQ" = ( +/obj/machinery/door/window/southleft{ + name = "Target Storage" + }, +/obj/item/target/clown, +/obj/item/target/clown, +/obj/item/target, +/obj/item/target, +/turf/open/floor/plating, +/area/security/prison) +"ium" = ( +/mob/living/simple_animal/bot/cleanbot{ + name = "C.L.E.A.N." + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"iuR" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"iwB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/maintenance/port) +"izv" = ( +/obj/machinery/vending/clothing, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"iDo" = ( +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"iDS" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) +"iEJ" = ( +/obj/machinery/door/airlock/external{ + name = "Escape Pod One" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"iHk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"iNn" = ( +/obj/machinery/camera{ + c_tag = "Kitchen Cold Room" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/floor/plasteel/showroomfloor, +/area/crew_quarters/kitchen) +"iTq" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/theatre) +"iTU" = ( +/obj/structure/piano{ + icon_state = "piano" + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"iVU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/crew_quarters/cryopod) +"iWx" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jaF" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jaH" = ( +/obj/structure/door_assembly/door_assembly_mai, +/obj/item/electronics/airlock, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"jbf" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/service"; + dir = 1; + name = "Service Hall APC"; + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/service) +"jex" = ( +/obj/machinery/smartfridge/organ/preloaded, +/turf/closed/wall, +/area/medical/sleeper) +"jez" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jgm" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/camera{ + c_tag = "Circuitry Lab"; + dir = 8; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel, +/area/science/circuit) +"jgA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"jjC" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck, +/turf/open/floor/plasteel, +/area/security/prison) +"jkx" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/computer/slot_machine, +/obj/item/coin/iron, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"jkz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"jlm" = ( +/obj/machinery/rnd/production/techfab/department/cargo, +/turf/open/floor/plasteel, +/area/quartermaster/office) +"jls" = ( +/obj/machinery/door/airlock/security{ + name = "Labor Shuttle"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/security/processing) +"jmV" = ( +/obj/structure/table/wood/fancy, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/reagent_containers/food/drinks/britcup{ + desc = "Kingston's personal cup."; + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"jqv" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/bar) +"jrE" = ( +/obj/structure/sign/poster/official/random{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"juG" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/kitchen) +"jvd" = ( +/obj/structure/closet/athletic_mixed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"jxF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port) +"jAD" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"jAN" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, +/area/crew_quarters/fitness) +"jBi" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/fitness) +"jBA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) "jCq" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -55174,22 +54783,46 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"jDY" = ( -/obj/structure/chair{ +"jEc" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"jFy" = ( -/obj/machinery/door/airlock{ - desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; - id_tag = "PrivateStudy"; - name = "Private Study" +/turf/open/floor/plasteel/white/corner{ + dir = 1 }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/library) +/area/crew_quarters/fitness) +"jFH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"jGW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"jHh" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "jHt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment{ @@ -55203,10 +54836,23 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"jHM" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/prison) +"jIs" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space, +/area/solar/starboard/fore) +"jJg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 5 + }, +/obj/structure/chair/sofa{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "jJF" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ @@ -55214,56 +54860,42 @@ }, /turf/open/floor/wood, /area/maintenance/port/aft) -"jLM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, +"jKP" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, /turf/open/floor/plating, -/area/maintenance/fore) -"jMK" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"jNo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"jQX" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"jRy" = ( -/obj/machinery/door/airlock{ - name = "Instrument Storage" - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/starboard/fore) -"jSa" = ( -/obj/item/electropack/shockcollar, -/obj/item/assembly/signaler, -/turf/open/floor/plating, -/area/security/prison) -"jSD" = ( -/obj/machinery/door/airlock/security{ - name = "Firing Range"; - req_access_txt = "2" +/area/maintenance/fore/secondary) +"jLn" = ( +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator"; + req_access_txt = "11" }, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plasteel, +/area/engine/engine_smes) +"jLT" = ( +/obj/machinery/button/door{ + id = "Room Two"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = -24; + specialfunctions = 4 + }, +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"jRw" = ( +/obj/machinery/computer/arcade/minesweeper{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/security/prison) "jSO" = ( /obj/machinery/light{ @@ -55283,80 +54915,70 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"jXg" = ( -/obj/machinery/power/apc{ - areastring = "/area/ai_monitored/nuke_storage"; - dir = 1; - name = "Vault APC"; - pixel_y = 25 - }, +"jZT" = ( /obj/structure/cable{ - icon_state = "0-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 1 +/obj/machinery/door/poddoor/preopen{ + id = "maint2" }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"kaq" = ( +/turf/closed/wall/mineral/titanium, +/area/space/nearstation) +"kdP" = ( /obj/structure/cable{ icon_state = "2-8" }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"jYI" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"jYZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/machinery/camera{ - acid_level = 8; - c_tag = "Pool East"; - dir = 8 - }, -/obj/item/radio/intercom{ - pixel_x = 29 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"kay" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"kcj" = ( +/area/security/prison) +"ker" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"kdm" = ( -/obj/effect/turf_decal/stripes/line{ +"keM" = ( +/obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/plating, -/area/security/prison) -"kdv" = ( -/obj/machinery/pool/filter{ - pixel_y = 16 +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/freezer, +/area/security/prison) +"kfv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/storage/tech) +"kfX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engine_smes) +"kgr" = ( +/obj/machinery/light/small{ + brightness = 3; + dir = 8 }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"kel" = ( -/obj/effect/landmark/blobstart, /turf/open/floor/plating, -/area/maintenance/starboard/fore) -"kfE" = ( -/obj/machinery/computer/libraryconsole/bookmanagement, -/obj/structure/table, -/turf/open/floor/plasteel, /area/security/prison) "khb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -55368,33 +54990,46 @@ /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"khA" = ( -/obj/structure/table, -/obj/item/instrument/guitar{ - pixel_x = -7 - }, -/obj/item/instrument/eguitar{ - pixel_x = 5 - }, -/obj/item/instrument/violin, -/obj/item/instrument/trombone, -/obj/item/instrument/saxophone, -/obj/item/instrument/piano_synth, -/obj/item/instrument/recorder, -/obj/item/instrument/accordion, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "khB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Pool Maintenance"; - req_access_txt = "12" +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, /turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"klu" = ( +/area/maintenance/fore/secondary) +"khV" = ( +/obj/machinery/vending/cola/red, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"kls" = ( /obj/structure/lattice, -/turf/open/space/basic, -/area/space) +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"kmw" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"kmS" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = -3; + pixel_y = 22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + pixel_y = 5 + }, +/obj/structure/dresser{ + desc = "There's plenty of clothes here to change into! It has a surprising amount of variety, too."; + name = "Dresser"; + pixel_y = 7 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "knx" = ( /obj/machinery/door/airlock/public/glass{ name = "Central Access" @@ -55423,78 +55058,57 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"krR" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ksn" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, +"kqI" = ( /obj/structure/window, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/turf/open/floor/wood, +/area/crew_quarters/bar) +"ktP" = ( +/obj/machinery/power/smes{ + charge = 5e+006 }, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"ktS" = ( +/turf/open/space/basic, +/area/space/nearstation) +"kvl" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/space/nearstation) +"kvL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"kuY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "maint2" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"kvb" = ( -/obj/structure/shuttle/engine/heater{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium, -/area/space/nearstation) -"kvZ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/nuke_storage) -"kwy" = ( -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/requests_console{ - department = "Bar"; - departmentType = 2; - pixel_x = -30; - pixel_y = 45; - receive_ore_updates = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar) -"kxc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"kyi" = ( -/obj/structure/bed, -/obj/machinery/button/door{ - id = "Dorm5"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/spawner/lootdrop/bedsheet, /turf/open/floor/wood, -/area/crew_quarters/dorms) +/area/bridge/meeting_room) +"kxf" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/crew_quarters/fitness) "kyF" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/wood, @@ -55503,91 +55117,83 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/science/mixing) -"kCk" = ( -/obj/structure/mirror{ - pixel_y = 32 +"kAH" = ( +/obj/machinery/camera{ + c_tag = "Bar West"; + dir = 4 }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet) -"kCW" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"kDD" = ( -/obj/structure/lattice, -/turf/closed/wall/r_wall, -/area/ai_monitored/nuke_storage) -"kHJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"kHK" = ( -/obj/machinery/button/door{ - desc = "Bolts the doors to the Private Study."; - id = "PrivateStudy"; - name = "Private Study Lock"; - pixel_x = 25; - pixel_y = 25; - req_access_txt = ""; - req_one_access_txt = "28;63" +/obj/machinery/computer/arcade/orion_trail, +/obj/structure/sign/poster/official/foam_force_ad{ + pixel_x = -32 }, /turf/open/floor/wood, -/area/library) -"kJr" = ( -/obj/effect/turf_decal/stripes/line{ +/area/crew_quarters/bar) +"kAJ" = ( +/obj/machinery/portable_atmospherics/pump, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"kAO" = ( +/obj/structure/chair/sofa{ + dir = 1 + }, +/obj/structure/window, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"kCo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plating, -/area/security/prison) -"kJY" = ( -/obj/item/flashlight/lamp/green{ - pixel_x = -3; - pixel_y = 22 - }, -/obj/structure/dresser{ - desc = "There's plenty of clothes here to change into! It has a surprising amount of variety, too."; - name = "Dresser"; - pixel_y = 7 - }, -/turf/open/floor/plating, -/area/maintenance/port) -"kKw" = ( -/obj/structure/lattice/catwalk, +/turf/open/floor/plasteel, +/area/crew_quarters/theatre) +"kEY" = ( +/obj/effect/landmark/stationroom/box/engine, +/turf/open/space/basic, +/area/space) +"kGJ" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/space, -/area/solar/port/aft) -"kLR" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - desc = "Privacy shutters for the Private Study. Stops people spying in on your game."; - id = "PrivateStudy1"; - name = "Private Study Privacy Shutters" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/effect/spawner/structure/window, -/turf/open/floor/wood, -/area/library) -"kOf" = ( -/obj/structure/chair{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/light/small{ - dir = 4; - light_color = "#d8b1b1" +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"kMt" = ( +/obj/structure/lattice, +/turf/closed/wall, +/area/security/prison) +"kNv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/free_drone{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) "kPd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/cable{ @@ -55595,6 +55201,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"kPj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/flip, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "kQk" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -55604,285 +55217,32 @@ /obj/item/storage/toolbox/electrical, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"kQZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, +"kQO" = ( +/obj/structure/reagent_dispensers/keg/semen, /turf/open/floor/plating, -/area/crew_quarters/fitness) -"kRk" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/obj/structure/chair/sofa/right{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"kRw" = ( -/obj/effect/landmark/start/roboticist, -/turf/open/floor/plasteel/white, -/area/science/robotics/lab) +/area/maintenance/bar) "kSb" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningdock) -"kSh" = ( -/obj/item/radio/intercom{ - name = "Station Intercom (General)"; - pixel_y = -29 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"kSB" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"kTn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"kTz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/bridge/meeting_room) -"kWI" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/window{ +"kWp" = ( +/obj/structure/shuttle/engine/heater{ dir = 1 }, -/turf/open/floor/plasteel/cafeteria, -/area/crew_quarters/locker) -"kZr" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"lhg" = ( -/obj/machinery/vending/clothing, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/closed/wall/mineral/titanium, +/area/space/nearstation) +"kYk" = ( +/obj/machinery/door/firedoor, +/obj/structure/sign/departments/evac{ + pixel_y = 32 }, /turf/open/floor/plasteel, -/area/crew_quarters/locker) -"lmi" = ( -/obj/structure/door_assembly/door_assembly_mai, -/obj/item/electronics/airlock, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"lnu" = ( -/obj/structure/chair/wood/normal{ - dir = 4 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/maintenance/bar) -"lpO" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"lsP" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"lui" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"lwj" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ - pixel_x = -3; - pixel_y = 2 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"lwp" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/theatre) -"lwY" = ( -/obj/machinery/door/window/westleft{ - base_state = "right"; - icon_state = "right"; - name = "Unisex Showers" - }, -/turf/open/floor/plasteel/freezer, +/area/hallway/primary/starboard) +"laq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel, /area/security/prison) -"lxx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/bar) -"lAe" = ( -/obj/structure/pool/ladder{ - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"lAB" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/science/circuit) -"lBE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"lCi" = ( -/obj/docking_port/stationary/public_mining_dock{ - dir = 8 - }, -/turf/open/floor/plating, -/area/construction/mining/aux_base) -"lCB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"lCL" = ( -/turf/open/space/basic, -/area/space/nearstation) -"lDE" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"lFl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"lLt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"lLI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"lMg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/circuit) -"lMx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/crew_quarters/dorms) -"lMY" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/spawner/structure/window, -/turf/open/floor/grass, -/area/crew_quarters/bar) -"lNB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"lQG" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/science/circuit) -"lTq" = ( -/obj/structure/table, -/obj/item/folder/blue, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"lYU" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/sign/departments/security{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"lYZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/junction, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"maC" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/snacks/cherrycupcake, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"mbD" = ( +"lip" = ( /obj/structure/closet{ name = "Suit Closet" }, @@ -55906,134 +55266,142 @@ /obj/item/clothing/under/lawyer/really_black, /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, +/area/crew_quarters/locker) +"lnu" = ( +/obj/structure/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/maintenance/bar) +"lsk" = ( +/obj/machinery/vending/autodrobe/all_access, +/turf/open/floor/plasteel, /area/crew_quarters/fitness) -"mfb" = ( -/obj/structure/toilet{ +"ltK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"lva" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"lyR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/security/prison) +"lAB" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/science/circuit) +"lCi" = ( +/obj/docking_port/stationary/public_mining_dock{ + dir = 8 + }, +/turf/open/floor/plating, +/area/construction/mining/aux_base) +"lGV" = ( +/obj/machinery/button/door{ + id = "maintdiy"; + name = "Shutters Control Button"; + pixel_x = -6; + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"lMg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/science/circuit) +"lOe" = ( +/obj/machinery/shower{ dir = 8 }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) -"miy" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +"lPr" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"lQG" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/science/circuit) +"lSa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"lUS" = ( +/obj/structure/table/wood/fancy/black, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"lXE" = ( +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 5; + icon_state = "roomnum"; + name = "Room Number 7"; + pixel_y = 24 + }, +/obj/structure/chair/sofa/right, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"lZl" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/gold, +/obj/item/coin/gold, +/obj/item/coin/gold, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"mbU" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/crew_quarters/fitness) +"mcp" = ( +/obj/structure/target_stake, +/obj/item/target/syndicate, +/turf/open/floor/plating, +/area/security/prison) "mjr" = ( /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, /area/crew_quarters/bar) -"mlr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/light_construct{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"mnI" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"moq" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"mpI" = ( -/obj/structure/table/wood, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/maintenance/bar) -"mqa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"mqZ" = ( -/obj/structure/reagent_dispensers/keg/aphro/strong, -/obj/item/reagent_containers/glass/beaker, -/turf/open/floor/plating, -/area/maintenance/bar) -"mrR" = ( -/obj/effect/spawner/lootdrop/keg, -/turf/open/floor/wood, -/area/maintenance/bar) -"mte" = ( -/obj/structure/extinguisher_cabinet, -/turf/closed/wall/r_wall, -/area/hallway/primary/central) -"mwO" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"myp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"myt" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; - name = "Personal ID-Locked Closet"; - pixel_y = 15 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) -"mCq" = ( -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"mEN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/freezer, -/area/crew_quarters/toilet) -"mHC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"mIS" = ( -/obj/structure/table, -/obj/item/clothing/gloves/boxing/yellow, -/obj/item/clothing/gloves/boxing/green, -/obj/item/clothing/gloves/boxing/blue, -/obj/item/clothing/gloves/boxing/blue, -/obj/item/clothing/gloves/boxing, -/obj/item/clothing/gloves/boxing, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"mMf" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"mNi" = ( -/obj/machinery/light_switch{ - pixel_x = -20 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"mNS" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"mPE" = ( -/obj/machinery/chem_dispenser/drinks, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/maintenance/bar) -"mQR" = ( +"mkv" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Room"; dir = 8 @@ -56044,10 +55412,211 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"mRa" = ( -/obj/effect/turf_decal/tile/blue, +"mkO" = ( +/obj/machinery/door/airlock{ + name = "Shower Room" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/toilet) +"mnC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/security/prison) +"moD" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/bluecherrycupcake{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"mps" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/area/crew_quarters/dorms) +"mpI" = ( +/obj/structure/table/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/bar) +"mqZ" = ( +/obj/structure/reagent_dispensers/keg/aphro/strong, +/obj/item/reagent_containers/glass/beaker, +/turf/open/floor/plating, +/area/maintenance/bar) +"mrR" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/wood, +/area/maintenance/bar) +"mse" = ( +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/obj/structure/chair/sofa/left, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"mvt" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"myh" = ( +/obj/structure/piano, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"mzB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/window, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"mAH" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"mGw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/security/prison) +"mHU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/light_construct{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"mIZ" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/security/prison) +"mJo" = ( +/obj/structure/door_assembly/door_assembly_mai, +/obj/item/electronics/airlock, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"mJG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"mNi" = ( +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"mNW" = ( +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) +"mOB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Gravity Generator"; + req_access_txt = "11" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/engine/gravity_generator) +"mOO" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"mPk" = ( +/obj/structure/bed, +/obj/machinery/button/door{ + id = "Dorm5"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"mPr" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/decal/cleanable/cobweb, +/obj/item/clothing/under/color/grey, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"mPt" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/item/clothing/glasses/sunglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/glasses/sunglasses{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"mPE" = ( +/obj/machinery/chem_dispenser/drinks, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/maintenance/bar) +"mQS" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "mRe" = ( /obj/machinery/light{ dir = 8 @@ -56055,152 +55624,109 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"mTp" = ( -/obj/structure/chair/sofa/left, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"mVa" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"mXB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"nbZ" = ( -/obj/structure/chair/comfy/black{ +"mRQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"mTG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"ncj" = ( /obj/effect/turf_decal/tile/blue, -/obj/structure/sign/poster/contraband/fun_police{ - pixel_x = 32 +/obj/effect/turf_decal/tile/yellow{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"ndC" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"nea" = ( -/obj/machinery/recharge_station, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"neb" = ( -/obj/item/radio/intercom{ - pixel_y = 25 +/area/crew_quarters/locker) +"nbT" = ( +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/plasteel, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "bridge blast door" + }, +/turf/open/floor/plating, /area/hallway/primary/central) -"nel" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, +"ndq" = ( /turf/open/floor/plating, -/area/crew_quarters/fitness) -"new" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/security/prison) -"neC" = ( +/area/crew_quarters/abandoned_gambling_den) +"nez" = ( /obj/structure/table/wood, -/obj/item/toy/cards/deck, -/turf/open/floor/plasteel, -/area/security/prison) +/obj/item/instrument/piano_synth, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "nfm" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/wood, /area/maintenance/bar) -"nie" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" +"ngs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) -"njO" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"nlt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"nmx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"nmS" = ( -/obj/structure/closet/athletic_mixed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"npY" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"nrR" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"nsJ" = ( -/obj/machinery/door/airlock{ - desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; - id_tag = "PrivateStudy"; - name = "Private Study" - }, -/obj/machinery/door/firedoor, /turf/open/floor/wood, -/area/library) -"ntf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/area/crew_quarters/theatre) +"ngV" = ( +/obj/structure/table/wood, +/obj/item/instrument/guitar, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"nhY" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"nuV" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"nkP" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 8; + name = "8maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"noy" = ( +/obj/structure/sign/poster/contraband/smoke{ + desc = "This poster reminds us all that the Detective is a parasite. Year after year, they must get replacement lungs because of their addiction. "; + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"noF" = ( +/obj/machinery/door/airlock{ + name = "Instrument Storage" + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"nsA" = ( +/turf/closed/wall, +/area/crew_quarters/abandoned_gambling_den) +"nuw" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"nwX" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/space/nearstation) "nxv" = ( /obj/machinery/power/apc{ areastring = "/area/construction"; @@ -56212,13 +55738,13 @@ }, /turf/open/floor/plating, /area/construction) -"nyH" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 +"nGf" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) +/turf/open/floor/plasteel/dark, +/area/hydroponics) "nGt" = ( /obj/structure/cable{ icon_state = "1-2" @@ -56230,63 +55756,74 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"nGS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"nGI" = ( +/obj/machinery/door/airlock/external{ + name = "Common Mining Shuttle Bay" }, -/obj/effect/turf_decal/tile/blue{ - alpha = 255; - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"nIE" = ( -/obj/structure/sign/poster/contraband/tools, -/turf/closed/wall, -/area/storage/primary) -"nLf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/turf/open/floor/wood, -/area/bridge/meeting_room) -"nMx" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/vault, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"nLu" = ( +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/nuke_storage) -"nMY" = ( -/obj/structure/bed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"nOC" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"nOD" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"nOS" = ( +/area/crew_quarters/fitness) +"nLw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window{ + dir = 1 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"nQi" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"nRG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"nSt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"nUV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"nXE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"nYe" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, @@ -56306,304 +55843,228 @@ /obj/item/gun/ballistic/revolver/nagant, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) -"nQr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/maintenance/port) -"nRG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"nTE" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"nUs" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"nWq" = ( -/obj/machinery/door/airlock/engineering{ - name = "Gravity Generator"; - req_access_txt = "11" - }, +"nZE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /turf/open/floor/plasteel, -/area/engine/gravity_generator) -"nXa" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" +/area/crew_quarters/dorms) +"oax" = ( +/obj/structure/table/wood/fancy, +/obj/machinery/light, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 20 }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) +/obj/item/reagent_containers/food/condiment/peppermill{ + dir = 1; + pixel_x = 3; + pixel_y = 20 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"obc" = ( +/obj/structure/chair/sofa/right, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "oce" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel/white, /area/science/mixing) +"ocv" = ( +/obj/structure/table, +/obj/item/clothing/gloves/boxing/yellow, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) "odx" = ( /obj/machinery/vending/kink, /turf/open/floor/plating, /area/maintenance/bar) -"oeJ" = ( -/obj/structure/table/wood, -/obj/item/instrument/violin, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"oeQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"ogJ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ohX" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/wood, -/area/security/vacantoffice) -"olr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"olv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, -/turf/open/floor/plasteel, -/area/security/brig) -"olw" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"oma" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +"ofU" = ( +/obj/structure/chair/comfy/black{ dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"omT" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"orw" = ( -/obj/structure/table, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, +"old" = ( /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/machinery/recharger, -/obj/item/gun/energy/laser/practice, -/obj/item/gun/energy/laser/practice, -/turf/open/floor/plasteel, -/area/security/prison) -"ory" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"otF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 5; +/obj/structure/sign/departments/security{ + pixel_x = -32; pixel_y = -32 }, /turf/open/floor/plasteel, -/area/hallway/primary/central) -"ouD" = ( -/obj/structure/reagent_dispensers/keg/semen, -/turf/open/floor/plating, -/area/maintenance/bar) -"oyb" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"oyD" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"oBp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/maintenance/port) -"oDy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-04" - }, +/area/hallway/primary/fore) +"olr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"oFk" = ( -/obj/structure/closet/boxinggloves, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"oHU" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, /area/science/circuit) -"oKh" = ( -/obj/structure/chair/wood/normal{ - dir = 8 +"omY" = ( +/obj/item/flashlight/lamp/green{ + pixel_x = -3; + pixel_y = 22 }, -/turf/open/floor/wood, -/area/maintenance/bar) -"oMY" = ( -/obj/machinery/button/door{ - desc = "Alright, GAMER! Want to take your PWRGAME addiction to the MAX? Just smash this button with your chubby chetto encrusted hands an- oh, you broke the switch. Good job, idiot."; - id = "RIPFUN"; - name = "Powerful Gamer Toggle"; - normaldoorcontrol = 1; - pixel_x = -24; - pixel_y = 7; - specialfunctions = 4 +/obj/structure/dresser{ + desc = "There's plenty of clothes here to change into! It has a surprising amount of variety, too."; + name = "Dresser"; + pixel_y = 7 }, -/obj/structure/table_frame/wood, /turf/open/floor/plating, /area/maintenance/port) -"oNb" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 +"oqj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"oqO" = ( /obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ - pixel_x = -3; - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar) -"oNQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /obj/machinery/light{ dir = 4; light_color = "#c1caff" }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"oOb" = ( -/obj/structure/sign/poster/official/cohiba_robusto_ad, -/turf/closed/wall, -/area/lawoffice) -"oSO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +"ouQ" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen/fountain, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"oxm" = ( +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/spawner/structure/window, +/turf/open/floor/grass, +/area/crew_quarters/bar) +"oyl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/structure/chair/sofa, -/obj/item/radio/intercom{ - pixel_y = 25 +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"oUh" = ( -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/tile/blue, +/obj/machinery/door/window/eastleft{ + name = "Blue Corner" + }, +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/machinery/disposal/bin, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"oXL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/prison) -"oYc" = ( -/obj/machinery/light/small{ - dir = 4; - light_color = "#d8b1b1" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"pfD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"phu" = ( +/area/crew_quarters/locker) +"oyz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4; pixel_y = 5 }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"phH" = ( -/turf/open/floor/grass, -/area/security/prison) -"phY" = ( +"oyN" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/space/nearstation) +"oyX" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air In" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"oAb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/turf/closed/wall, +/area/crew_quarters/bar) +"oAB" = ( +/obj/structure/fireplace, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"oDN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"oEZ" = ( +/obj/effect/spawner/lootdrop/keg, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"oHB" = ( +/turf/open/floor/plasteel/dark, +/area/crew_quarters/dorms) +"oHU" = ( +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/crew_quarters/locker) -"pjh" = ( +/area/science/circuit) +"oIJ" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"oIW" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"oKh" = ( +/obj/structure/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"oLl" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -56612,13 +56073,96 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"pno" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"poa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +"oLn" = ( +/obj/machinery/light/small{ dir = 4 }, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"oTW" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/theatre) +"oUh" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"oZl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/wardrobe/pjs, +/obj/item/clothing/under/maid, +/obj/item/clothing/under/maid, +/obj/item/clothing/under/janimaid, +/obj/item/clothing/under/janimaid, +/obj/item/clothing/accessory/maidapron, +/obj/item/clothing/accessory/maidapron, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"pem" = ( +/obj/machinery/button/door{ + desc = "Bolts the doors to the Private Study."; + id = "PrivateStudy"; + name = "Private Study Lock"; + pixel_x = 25; + pixel_y = 25; + req_access_txt = ""; + req_one_access_txt = "28;63" + }, +/turf/open/floor/wood, +/area/library) +"pfm" = ( +/obj/structure/sign/poster/official/twelve_gauge, +/turf/closed/wall/r_wall, +/area/ai_monitored/security/armory) +"pgf" = ( +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"pgn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/security/prison) +"plm" = ( +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/plasteel, +/area/engine/atmos) +"plC" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, /turf/open/floor/wood, /area/crew_quarters/bar) "poc" = ( @@ -56630,87 +56174,71 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"ppY" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +"pou" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" }, -/obj/structure/sign/poster/official/love_ian{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"pqR" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"prP" = ( -/obj/structure/grille, -/turf/open/space/basic, -/area/space/nearstation) -"prU" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"ptV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) -"puG" = ( -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/effect/decal/cleanable/cobweb, -/obj/item/clothing/under/color/grey, /turf/open/floor/plating, -/area/maintenance/port/aft) -"pxD" = ( +/area/crew_quarters/abandoned_gambling_den) +"pqe" = ( /obj/structure/chair/sofa, /obj/structure/window{ dir = 1 }, +/obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/crew_quarters/bar) -"pzk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +"pqs" = ( +/obj/machinery/vending/clothing, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/table, -/obj/item/coin/gold, /turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"pAl" = ( -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/tank/air{ +/area/crew_quarters/locker) +"psk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge/meeting_room) +"pst" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/vault, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/nuke_storage) +"puh" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"pFt" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/light/small, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 }, -/turf/open/space, -/area/solar/starboard/aft) -"pFW" = ( -/turf/open/floor/plasteel/yellowsiding{ +/turf/open/floor/plasteel/white/side{ dir = 1 }, -/area/crew_quarters/fitness/pool) +/area/crew_quarters/fitness) +"pBp" = ( +/obj/effect/landmark/event_spawn, +/turf/closed/wall, +/area/crew_quarters/fitness) +"pFX" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "pHl" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -56737,18 +56265,31 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) -"pHo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"pHO" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/poster/contraband/fun_police{ + pixel_x = 32 }, /turf/open/floor/plasteel, -/area/hydroponics) -"pHG" = ( -/obj/effect/turf_decal/tile/blue{ +/area/hallway/primary/fore) +"pIf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/crew_quarters/theatre) +"pJR" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/comfy/brown{ dir = 1 }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/turf/open/floor/wood, +/area/library) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -56756,88 +56297,7 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"pLt" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/power/apc{ - areastring = "/area/security/main"; - dir = 4; - name = "Firing Range APC"; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"pNH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/window, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"pNI" = ( -/obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/pda_ad{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"pPE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/door/window/eastleft{ - name = "Blue Corner" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"pQr" = ( -/obj/structure/table, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/item/clothing/glasses/sunglasses{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/glasses/sunglasses{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"pQD" = ( -/obj/structure/sign/poster/official/ion_rifle, -/turf/closed/wall/r_wall, -/area/ai_monitored/security/armory) -"pSf" = ( +"pPi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -56849,453 +56309,13 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"pTn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"pTR" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"pUl" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command{ - name = "Command Access To Vault"; - req_access = "19" - }, -/turf/open/floor/plasteel/dark, -/area/bridge/meeting_room) -"pVt" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"pZv" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"qbx" = ( -/obj/structure/table/wood/fancy, -/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ - pixel_x = -3; - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"qce" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"qda" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/yellow, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "poolshutter"; - name = "Pool Shutters"; - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qeQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/circuit) -"qje" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"qkc" = ( -/obj/machinery/pool/controller, -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"qkC" = ( -/obj/machinery/power/apc{ - areastring = "/area/maintenance/starboard/fore"; - dir = 1; - name = "Starboard Bow Maintenance APC"; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"qlr" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/window{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"qlF" = ( -/obj/structure/lattice, -/turf/closed/wall, -/area/security/prison) -"qmM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"qoP" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"qoW" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qpA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/cohiba_robusto_ad{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"qsu" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qux" = ( -/obj/structure/chair/sofa/left{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"quB" = ( -/obj/structure/bed, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"quT" = ( -/obj/structure/lattice, -/obj/structure/grille/broken, -/turf/open/space/basic, -/area/space/nearstation) -"qvh" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qvM" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/circuit, -/area/ai_monitored/nuke_storage) -"qwe" = ( -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/theatre) -"qwg" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"qwB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/engineering/glass{ - name = "Gravity Generator"; - req_access_txt = "11" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/engine/gravity_generator) -"qxc" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/computer/slot_machine, -/obj/item/coin/iron, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"qAQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/table, -/obj/item/storage/firstaid/regular{ - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"qBc" = ( -/turf/open/floor/carpet, -/area/crew_quarters/theatre) -"qBe" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, +"pPI" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/bridge/meeting_room) -"qEv" = ( -/obj/structure/table/wood/fancy, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/reagent_containers/food/drinks/britcup{ - desc = "Kingston's personal cup."; - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"qHB" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/theatre) -"qIf" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/bar) -"qIw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"qJO" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qJZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet, -/area/crew_quarters/theatre) -"qMu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/security/prison) -"qNs" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/yellow, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qOf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"qQJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/theatre) -"qUm" = ( -/obj/structure/filingcabinet/employment, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) -"qXH" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"qYE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"rcD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, -/area/science/circuit) -"rdZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"reZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/engine/engine_smes) -"rfW" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/maintenance/disposal/incinerator) -"rgF" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/coin/silver, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"rhb" = ( -/obj/machinery/vending/cola/space_up, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"riA" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Firing Range"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"riB" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/departments/evac{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"rmX" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/beer, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"rsv" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/space, -/area/solar/starboard/fore) -"rsX" = ( -/obj/effect/turf_decal/tile/red, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"rtT" = ( -/obj/structure/chair/comfy/brown{ - color = "#66b266"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"rvZ" = ( -/obj/structure/target_stake, -/obj/item/target/syndicate, -/turf/open/floor/plating, -/area/security/prison) -"rzg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) -"rBq" = ( -/obj/item/clothing/head/kitty, -/obj/item/clothing/under/maid, -/obj/item/clothing/mask/muzzle, -/turf/open/floor/plating, -/area/maintenance/bar) -"rEV" = ( +/area/engine/gravity_generator) +"pQp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -57304,56 +56324,410 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) -"rFc" = ( -/obj/machinery/door/airlock{ - desc = "To keep the station within regulations, space IKEA requires one storage cupboard for their Nanotrasen partnership to continue."; - id_tag = "MaintDorm1"; - name = "Furniture Storage" +"pRs" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 }, -/turf/open/floor/plasteel/dark, -/area/maintenance/port) -"rHa" = ( -/obj/docking_port/stationary{ - dir = 8; - dwidth = 3; - height = 5; - id = "commonmining_home"; - name = "SS13: Common Mining Dock"; - roundstart_template = /datum/map_template/shuttle/mining_common/meta; - width = 7 +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" }, -/turf/open/space/basic, -/area/space) -"rKc" = ( +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"pTB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ icon_state = "0-2" }, /turf/open/space, -/area/solar/port/fore) +/area/solar/starboard/aft) +"qaY" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) +"qcm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"qeb" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/abandoned_gambling_den"; + name = "Abandoned Gambling Den APC"; + pixel_y = -24 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"qeQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/circuit) +"qfk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/window, +/obj/structure/window{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"qfD" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + desc = "Privacy shutters for the Private Study. Stops people spying in on your game."; + id = "PrivateStudy1"; + name = "Private Study Privacy Shutters" + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/wood, +/area/library) +"qje" = ( +/obj/structure/sign/mining{ + pixel_y = 7 + }, +/turf/closed/wall, +/area/quartermaster/miningdock) +"qmn" = ( +/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/security/prison) +"qqs" = ( +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + dir = 1; + pixel_y = 25 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet) +"qus" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/obj/item/reagent_containers/food/snacks/cheesynachos{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/kitchen) +"quT" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space/basic, +/area/space/nearstation) +"qAm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"qBi" = ( +/obj/structure/lattice, +/turf/closed/wall/r_wall, +/area/crew_quarters/heads/captain) +"qIw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"qJr" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/space, +/area/solar/port/aft) +"qLR" = ( +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + dir = 1; + pixel_y = 25 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"qOc" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/camera{ + c_tag = "VR Sleepers"; + dir = 1 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/crew_quarters/fitness) +"qOB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"qTG" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"qTV" = ( +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-22" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"qVP" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"qXg" = ( +/obj/structure/chair/sofa/left, +/turf/open/floor/plasteel, +/area/security/prison) +"rcD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/science/circuit) +"rdG" = ( +/obj/machinery/hydroponics/constructable, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = 29 + }, +/turf/open/floor/plasteel/dark, +/area/hydroponics) +"reA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/vending/kink, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"rfW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/maintenance/disposal/incinerator) +"rjQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"rmN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/chair/comfy/brown, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"rmX" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"rnt" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/bridge/meeting_room) +"rnK" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) +"rqf" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"rqk" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"rqE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"rqW" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/dresser, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/theatre"; + dir = 8; + name = "Theatre APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/theatre) +"rrM" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/closet/wardrobe/black, +/obj/item/clothing/under/skirt/black, +/obj/item/clothing/head/beret/black, +/obj/item/clothing/head/beret/black, +/obj/item/clothing/under/trendy_fit, +/obj/item/clothing/under/trendy_fit, +/obj/item/clothing/under/sundress, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"rtl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/camera{ + c_tag = "Bar Backroom" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"ruo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"rvr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"rvS" = ( +/obj/structure/chair/comfy/brown{ + color = "#66b266"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"ryr" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"rBq" = ( +/obj/item/clothing/head/kitty, +/obj/item/clothing/under/maid, +/obj/item/clothing/mask/muzzle, +/turf/open/floor/plating, +/area/maintenance/bar) +"rGq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"rIA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) "rKP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plating, /area/construction) -"rLr" = ( -/obj/structure/window, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"rLR" = ( -/obj/structure/sign/poster/contraband/space_up{ - pixel_x = -32; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"rMc" = ( -/obj/structure/table/wood/fancy/black, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) "rMN" = ( /obj/structure/bed, /obj/item/tank/internals/anesthetic, @@ -57376,46 +56750,32 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"rOm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet) -"rTQ" = ( -/obj/machinery/vr_sleeper{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +"rPU" = ( +/turf/open/floor/plasteel/white/side{ dir = 4 }, +/area/crew_quarters/theatre) +"rTu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Command Access To Vault"; + req_access = "19" + }, +/turf/open/floor/plasteel/dark, +/area/bridge/meeting_room) +"rXl" = ( +/obj/structure/chair/office/light, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 9 }, -/turf/open/floor/plasteel/white/side{ - dir = 8 - }, -/area/crew_quarters/fitness) -"rUQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"rYu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "saK" = ( /obj/structure/closet/crate, /obj/item/target/alien, @@ -57428,68 +56788,54 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel/white, /area/science/circuit) -"sdL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 +"saU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall/r_wall, +/area/engine/engine_smes) +"saX" = ( +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/grass, +/area/security/prison) +"sci" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/crew_quarters/fitness) +"seP" = ( +/obj/structure/cable{ + icon_state = "0-4" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/turf/open/floor/plasteel/dark, -/area/bridge/meeting_room) -"seu" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"sfa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"sgV" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air In" + icon_state = "1-8" }, +/turf/open/floor/plating, +/area/security/brig) +"shR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) -"siN" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"sjm" = ( -/obj/structure/table/wood, -/obj/item/instrument/piano_synth, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"sjw" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/closet/wardrobe/black, -/obj/item/clothing/under/skirt/black, -/obj/item/clothing/head/beret/black, -/obj/item/clothing/head/beret/black, -/obj/item/clothing/under/trendy_fit, -/obj/item/clothing/under/trendy_fit, -/obj/item/clothing/under/sundress, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"sjT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/security/prison) +/area/space/nearstation) "slk" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -57502,86 +56848,45 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"slp" = ( -/obj/effect/turf_decal/tile/blue{ - alpha = 255 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - alpha = 255; +"spu" = ( +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"smn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) +"sqp" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/light, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/nuke_storage) -"snG" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/space, -/area/solar/port/aft) -"spX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/door/airlock/command{ + name = "Captain's Vault Access"; + req_access_txt = "20" }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) -"sqa" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "applebush" +"srG" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"srq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/bridge/meeting_room) -"ssL" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/space, -/area/solar/starboard/fore) -"suI" = ( -/obj/machinery/door/window/southleft{ - name = "Target Storage" - }, -/obj/item/target/clown, -/obj/item/target/clown, -/obj/item/target, -/obj/item/target, /turf/open/floor/plating, -/area/security/prison) -"svw" = ( -/obj/structure/chair{ +/area/crew_quarters/abandoned_gambling_den) +"ssB" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ dir = 4 }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness) +/area/hallway/primary/starboard) "sxs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -57595,19 +56900,88 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"sxw" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"sxX" = ( +"syJ" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"szG" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating{ - icon_state = "panelscorched" +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"sAM" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken6" }, -/area/maintenance/starboard/fore) -"sAI" = ( +/area/maintenance/bar) +"sEi" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/crew_quarters/fitness) +"sEt" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/maintenance/bar) +"sEM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"sFW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/restroom{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"sHx" = ( +/obj/structure/table, +/obj/item/book/manual/hydroponics_pod_people{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"sJx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hydroponics) +"sJI" = ( /obj/structure/table/wood/fancy, /obj/item/reagent_containers/food/condiment/saltshaker{ pixel_x = -3; @@ -57620,46 +56994,31 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"sAM" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken6" +"sLa" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/area/maintenance/bar) -"sCi" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"sEt" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken7" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/area/maintenance/bar) -"sHU" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" +/obj/structure/window{ + dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"sIe" = ( -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white/corner{ +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/area/hallway/primary/starboard) -"sKK" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/area/crew_quarters/fitness/pool) -"sLr" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/coin/silver, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"sLj" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) "sLv" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -57668,24 +57027,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"sLO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"sNK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"sMa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/vending/kink, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) +/turf/open/floor/wood, +/area/crew_quarters/theatre) "sOs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57693,15 +57041,38 @@ /obj/machinery/door/airlock/maintenance/abandoned, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"sPo" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"sQE" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +"sOA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"sPT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"sPY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/engine/engine_smes) "sQX" = ( /turf/open/floor/plating, /area/space) +"sRH" = ( +/obj/machinery/autolathe{ + name = "public autolathe" + }, +/turf/open/floor/plasteel, +/area/quartermaster/office) "sRT" = ( /obj/machinery/vending/cola/random, /turf/open/floor/wood, @@ -57733,64 +57104,56 @@ /obj/machinery/vending/boozeomat/all_access, /turf/closed/wall, /area/maintenance/bar) -"sYv" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 +"sYR" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) -"sZa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/camera{ - c_tag = "Bar Backroom" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"sZR" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/gravity_generator) +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) "tal" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) -"tdz" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"tdF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ +"tgH" = ( +/obj/structure/filingcabinet/employment, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) +"tif" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"tkq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"tkB" = ( +/obj/structure/sign/poster/official/help_others{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "tkU" = ( /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"tob" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"tmO" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/security/prison) "tqg" = ( /obj/machinery/cryopod{ dir = 4 @@ -57800,20 +57163,98 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) -"tqt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/comfy/brown{ - dir = 1 +"tqB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/wood, -/area/library) +/turf/open/floor/plating, +/area/space/nearstation) "trb" = ( /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel, /area/security/courtroom) -"tru" = ( +"ttL" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"ttX" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Firing Range"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"tur" = ( +/obj/item/restraints/handcuffs/fake, +/turf/open/floor/plating, +/area/maintenance/bar) +"tvi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"txm" = ( +/obj/structure/table/wood/fancy/royalblue, +/obj/item/crowbar/red, +/turf/open/floor/plating, +/area/maintenance/port) +"tyX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/nuke_storage) +"tzQ" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/item/soap, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"tCa" = ( +/obj/structure/table/wood, +/obj/item/instrument/guitar{ + pixel_x = -7 + }, +/obj/item/instrument/eguitar{ + pixel_x = 5 + }, +/obj/item/instrument/violin, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"tCd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + alpha = 255; + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"tJi" = ( /obj/machinery/airalarm{ dir = 4; pixel_x = -22 @@ -57835,267 +57276,106 @@ /obj/item/megaphone/clown, /turf/open/floor/plasteel, /area/crew_quarters/theatre) -"trY" = ( -/obj/structure/sign/poster/contraband/lizard{ - pixel_x = -32 - }, -/obj/structure/sign/poster/contraband/lizard{ - pixel_x = -32 - }, -/obj/structure/sign/poster/contraband/lizard{ - pixel_x = -32 +"tJK" = ( +/obj/machinery/door/airlock/engineering{ + name = "Gravity Generator"; + req_access_txt = "11" }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"tsr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/hydroponics) -"tuj" = ( -/obj/structure/light_construct{ - dir = 1 - }, +/area/engine/gravity_generator) +"tJS" = ( +/obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"tur" = ( -/obj/item/restraints/handcuffs/fake, -/turf/open/floor/plating, -/area/maintenance/bar) -"tuN" = ( -/obj/structure/chair/sofa, -/obj/structure/window{ +"tKk" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"tvW" = ( -/obj/structure/pool/Rboard, -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"tzE" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"tzN" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"tAb" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command{ - name = "Captain's Vault Access"; - req_access_txt = "20" - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) -"tAE" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = -3; - pixel_y = 20 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - dir = 1; - pixel_x = 3; - pixel_y = 20 - }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/obj/item/reagent_containers/food/drinks/britcup, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + icon_state = "roomnum"; + name = "Room Number 1"; + pixel_x = -30; + pixel_y = -7 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"tAV" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/theatre) -"tCi" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"tFt" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hydroponics) -"tGG" = ( -/obj/structure/table/wood, -/obj/item/book/codex_gigas, -/obj/item/clothing/under/suit_jacket/red, -/obj/structure/destructible/cult/tome, -/turf/open/floor/carpet, -/area/library) -"tGO" = ( -/obj/structure/bed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"tHx" = ( -/obj/machinery/computer/arcade/minesweeper{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/prison) -"tIk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "maintdiy"; - name = "Security Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"tIC" = ( -/obj/structure/table/wood, -/obj/item/instrument/guitar{ - pixel_x = -7 - }, -/obj/item/instrument/eguitar{ - pixel_x = 5 - }, -/obj/item/instrument/violin, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"tLl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/prison) "tMl" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) -"tMS" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_y = 6 +"tNF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 }, -/obj/item/pen/fountain, -/turf/open/floor/plasteel/dark, -/area/hallway/primary/central) -"tNJ" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"tNP" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"tOd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating, -/area/security/prison) +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "tOq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/plasteel/white, /area/science/mixing) -"tOU" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "tPT" = ( /obj/machinery/chem_dispenser/drinks/beer, /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/bar) -"tQk" = ( -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) "tRe" = ( /obj/machinery/chem_master, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"tRB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "tRF" = ( /obj/machinery/light/small{ dir = 8 }, /turf/open/floor/wood, /area/maintenance/bar) -"tTW" = ( -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"tUm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"tWj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4; + pixel_y = 5 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plating, -/area/maintenance/port) -"tUw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/carpet, +/turf/open/floor/wood, /area/crew_quarters/theatre) -"tWs" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"tWR" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) "tXL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"tZe" = ( +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"uaj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) "uaw" = ( /obj/machinery/power/apc{ areastring = "/area/storage/art"; @@ -58108,42 +57388,380 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"ucV" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ +"ubj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/area/crew_quarters/fitness/pool) -"udi" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/door/window/westright{ + name = "Red Corner" + }, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"ucq" = ( +/obj/structure/sign/poster/contraband/red_rum{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"ufD" = ( +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/crew_quarters/fitness) +"ugu" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"uhm" = ( +/obj/machinery/door/airlock{ + name = "Recharging Station" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"ujv" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall, +/area/crew_quarters/toilet) +"ujF" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"ujS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"unA" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"unW" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/security/brig) +"uoB" = ( +/obj/structure/table/reinforced, +/obj/item/multitool, +/obj/item/screwdriver, +/obj/machinery/camera{ + c_tag = "Circuitry Lab North"; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"uoG" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/detectives_office"; + dir = 4; + name = "Detective's Office APC"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"usO" = ( +/obj/machinery/vending/snack/random, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"uua" = ( +/obj/machinery/atmospherics/components/binary/valve, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"uuG" = ( /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"uve" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/coin/silver, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"uvZ" = ( +/obj/structure/mineral_door/wood, +/turf/open/floor/wood, +/area/maintenance/bar) +"uxY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"uBa" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"uDO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/space, +/area/solar/port/fore) +"uEI" = ( /obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/prison) +"uFp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/sign/poster/official/cohiba_robusto_ad{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/grimy, +/area/security/detectives_office) +"uGI" = ( +/turf/open/floor/grass, +/area/security/prison) +"uIO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, /obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"uJx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"uNu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/science/circuit) +"uOJ" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/vault, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/nuke_storage) +"uPT" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"uQS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1; + pixel_x = 5 + }, +/obj/machinery/light/small, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet) +"uRd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal, +/turf/closed/wall/r_wall, +/area/engine/gravity_generator) +"uRS" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/turf/open/floor/carpet{ + icon_state = "carpetsymbol" + }, +/area/crew_quarters/theatre) +"uVS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"vae" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/space/nearstation) +"vbi" = ( +/obj/structure/table, +/obj/item/instrument/guitar{ + pixel_x = -7 + }, +/obj/item/instrument/eguitar{ + pixel_x = 5 + }, +/obj/item/instrument/violin, +/obj/item/instrument/trombone, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/item/instrument/recorder, +/obj/item/instrument/accordion, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"vbD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + name = "EVA Storage"; + req_access_txt = "18" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ai_monitored/storage/eva) +"vcN" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"vda" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/window/westleft{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Shooting Range" + }, +/turf/open/floor/plating, +/area/security/prison) +"vdu" = ( +/obj/structure/table/wood, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"ued" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/turf/open/floor/wood, +/area/security/vacantoffice) +"vhb" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 +/obj/structure/window{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"uhm" = ( +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/locker) +"viF" = ( +/obj/structure/table/wood, +/obj/item/instrument/trumpet, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"vjm" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/rag, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/wood, +/area/maintenance/bar) +"vmQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "holoprivacy"; + name = "Holodeck Shutters" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness) +"vnI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -58160,356 +57778,50 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"ujF" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"ujS" = ( -/obj/structure/pool/ladder{ - dir = 1; - pixel_y = -22 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"uko" = ( +"vob" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-4" }, /turf/open/floor/plasteel, -/area/security/brig) -"ukP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"ukS" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/item/soap, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) -"umL" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"unl" = ( -/obj/item/flashlight/lamp/green{ - pixel_x = -3; - pixel_y = 22 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4; - pixel_y = 5 - }, -/obj/structure/dresser{ - desc = "There's plenty of clothes here to change into! It has a surprising amount of variety, too."; - name = "Dresser"; - pixel_y = 7 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) -"unu" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/freezer, -/area/security/prison) -"unE" = ( -/obj/structure/fans/tiny/invisible, -/turf/open/space/basic, -/area/space) -"unY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/departments/custodian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) -"uoB" = ( -/obj/structure/table/reinforced, -/obj/item/multitool, -/obj/item/screwdriver, -/obj/machinery/camera{ - c_tag = "Circuitry Lab North"; - network = list("ss13","rd") - }, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"upX" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/theatre) -"usO" = ( -/obj/machinery/vending/snack/random, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/wood, -/area/maintenance/bar) -"uuG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"uuI" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"uvZ" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/wood, -/area/maintenance/bar) -"uxu" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"uya" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/restroom{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"uzk" = ( -/obj/structure/sign/departments/restroom, -/turf/closed/wall, -/area/crew_quarters/toilet) -"uDW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"uFI" = ( -/obj/structure/pool/ladder{ - dir = 2; - pixel_y = 16 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"uJw" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"uNu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/science/circuit) -"uPT" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"uTq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"uUp" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"uVq" = ( -/obj/machinery/light{ - dir = 1; - light_color = "#d1dfff" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"uVt" = ( -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/plating, -/area/security/prison) -"uVS" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"uYE" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"uZw" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"uZM" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/sign/poster/official/space_cops{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"vbD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "EVA Storage"; - req_access_txt = "18" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ai_monitored/storage/eva) -"vbY" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 4 - }, -/area/crew_quarters/fitness) -"vdz" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, -/area/security/prison) -"vdH" = ( -/obj/structure/bed, -/turf/open/floor/plating, -/area/maintenance/port) -"vgb" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"vgp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, /area/engine/gravity_generator) -"vjm" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/rag, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/wood, -/area/maintenance/bar) -"vjq" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/crew_quarters/bar) -"vkw" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"vmK" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"vnZ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"vpm" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"vpz" = ( -/obj/structure/sign/poster/official/twelve_gauge, -/turf/closed/wall/r_wall, -/area/ai_monitored/security/armory) "vpY" = ( /obj/structure/closet/lasertag/blue, /obj/item/clothing/under/pj/blue, /obj/item/clothing/under/pj/blue, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"vrM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-18" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "vsM" = ( /obj/machinery/power/apc/auto_name/south, /obj/structure/cable, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"vsT" = ( +/obj/structure/closet/crate, +/obj/item/book/manual/wiki/telescience, +/obj/item/book/manual/wiki/engineering_guide, +/obj/item/book/manual/wiki/engineering_construction, +/obj/item/book/manual/wiki/atmospherics, +/obj/item/book/manual/wiki/detective, +/obj/item/book/manual/wiki/tcomms, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/obj/item/book/manual/wiki/experimentor, +/obj/item/book/manual/wiki/research_and_development, +/obj/item/book/manual/wiki/robotics_cyborgs, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/medicine, +/obj/item/book/manual/wiki/medical_cloning, +/obj/item/book/manual/wiki/infections, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/wiki/toxins, +/obj/item/book/manual/wiki/grenades, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/turf/open/floor/wood, +/area/library) "vxh" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -58518,23 +57830,10 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"vys" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 - }, -/area/crew_quarters/fitness) +"vyp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, +/area/crew_quarters/dorms) "vzp" = ( /obj/structure/table/reinforced, /obj/machinery/firealarm{ @@ -58551,52 +57850,42 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"vzS" = ( -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people{ - pixel_x = -4; - pixel_y = 5 +"vBa" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 }, -/obj/item/paper/guides/jobs/hydroponics{ - pixel_x = -5; - pixel_y = 3 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/hydroponics) +/turf/open/floor/plasteel/dark, +/area/bridge/meeting_room) "vCb" = ( /obj/machinery/rnd/production/techfab/department/service, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"vCm" = ( -/obj/structure/chair/comfy/black{ - dir = 4 +"vCn" = ( +/obj/structure/chair{ + dir = 8 }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "poolshutter"; - name = "Pool Shutters"; - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) "vCt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/white, /area/science/circuit) -"vDq" = ( -/obj/effect/turf_decal/stripes/line, +"vCy" = ( +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/fore"; + dir = 1; + name = "Starboard Bow Maintenance APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, /turf/open/floor/plating, -/area/space/nearstation) -"vFt" = ( -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"vGX" = ( +/area/maintenance/starboard/fore) +"vDR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/closet/secure_closet/personal/cabinet{ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; @@ -58605,6 +57894,38 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) +"vEi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"vEp" = ( +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/sign/poster/contraband/lizard{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"vFr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "vHj" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenics " @@ -58615,111 +57936,311 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/crew_quarters/cryopod) -"vHv" = ( -/obj/structure/closet{ - name = "Costume Closet" - }, -/obj/item/clothing/head/russobluecamohat, -/obj/item/clothing/head/russobluecamohat, -/obj/item/clothing/head/russofurhat, -/obj/item/clothing/head/russofurhat, -/obj/item/clothing/head/russofurhat, -/obj/item/clothing/head/russofurhat, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/under/mw2_russian_para, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/jackboots, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"vHM" = ( -/obj/machinery/vr_sleeper{ +"vHz" = ( +/obj/structure/chair{ dir = 8 }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" }, +/turf/open/floor/plasteel, /area/crew_quarters/fitness) +"vHT" = ( +/obj/machinery/door/firedoor, +/obj/structure/sign/departments/evac{ + pixel_y = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "vHY" = ( /turf/open/floor/plating, /area/science/mixing) -"vLD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, +"vIi" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/light, -/obj/machinery/camera/motion{ - c_tag = "Vault"; - dir = 1; - network = list("vault") +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 }, -/turf/open/floor/plasteel/dark, -/area/ai_monitored/nuke_storage) -"vNa" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"vNh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/turf/open/floor/plasteel, +/area/security/prison) +"vJu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/turf/open/floor/carpet, -/area/crew_quarters/theatre) -"vOq" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/coin/gold, -/obj/item/coin/gold, -/obj/item/coin/gold, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) +/turf/open/floor/plasteel, +/area/crew_quarters/locker) +"vPs" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/space, +/area/solar/starboard/aft) "vPE" = ( /obj/machinery/light{ dir = 4 }, /turf/open/floor/plasteel/white, /area/science/circuit) -"vRr" = ( -/obj/effect/turf_decal/stripes/line{ +"vZA" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/space, +/area/solar/starboard/aft) +"vZR" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/turf/open/floor/wood, +/area/library) +"wbE" = ( +/obj/effect/turf_decal/tile/blue{ + alpha = 255 + }, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/window/westleft{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Shooting Range" +/obj/effect/turf_decal/tile/blue{ + alpha = 255; + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"wcB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/heads/captain) +"wdv" = ( +/obj/structure/fans/tiny/invisible, +/turf/open/space/basic, +/area/space) +"weM" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"wfR" = ( +/obj/item/electropack/shockcollar, +/obj/item/assembly/signaler, +/turf/open/floor/plating, +/area/maintenance/bar) +"wig" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + on = 0; + pixel_x = -7; + pixel_y = 12 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) +"wkN" = ( +/turf/closed/wall, +/area/science/circuit) +"woR" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cryopod) +"wph" = ( +/obj/docking_port/stationary{ + area_type = /area/construction/mining/aux_base; + dheight = 4; + dir = 8; + dwidth = 4; + height = 9; + id = "aux_base_zone"; + name = "aux base zone"; + roundstart_template = /datum/map_template/shuttle/aux_base/default; + width = 9 }, /turf/open/floor/plating, -/area/security/prison) -"vRX" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/detectives_office"; - dir = 4; - name = "Detective's Office APC"; - pixel_x = 24 +/area/construction/mining/aux_base) +"wql" = ( +/obj/structure/extinguisher_cabinet, +/turf/closed/wall/r_wall, +/area/hallway/primary/central) +"wqF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"wrp" = ( +/obj/machinery/light{ + dir = 8 }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/service) +"wvX" = ( +/obj/structure/table/reinforced, +/obj/machinery/light, +/obj/item/stack/sheet/metal/ten, +/turf/open/floor/plasteel/white, +/area/science/circuit) +"wxT" = ( +/obj/structure/chair/sofa/left, +/obj/structure/window{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) +"wBd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/hallway/secondary/service) +"wHz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/maintenance/disposal/incinerator) +"wIG" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel, +/area/security/brig) +"wKe" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "maintdiy"; + name = "Security Shutters" }, -/turf/open/floor/plasteel/grimy, -/area/security/detectives_office) -"vUR" = ( -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, +/area/crew_quarters/abandoned_gambling_den) +"wTf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"wUg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"wUr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/carpet, +/area/crew_quarters/theatre) +"wUY" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/turf/open/floor/plasteel, +/area/hallway/secondary/service) +"wWT" = ( +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel/white, +/area/science/robotics/lab) +"wXl" = ( +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + dir = 1; + pixel_y = 25 + }, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/dorms) +"wYc" = ( +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/security/prison) -"vVP" = ( +"wZI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) +"xbn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/table, +/obj/item/coin/gold, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"xfS" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) +"xgk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"xgC" = ( /obj/structure/cable{ icon_state = "0-4" }, @@ -58745,398 +58266,22 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"vVQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"vWw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/security/prison) -"vYa" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness) -"vZs" = ( -/obj/structure/lattice, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"wbh" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"wcf" = ( -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"wcy" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"wdj" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"wem" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) -"wfR" = ( -/obj/item/electropack/shockcollar, -/obj/item/assembly/signaler, -/turf/open/floor/plating, -/area/maintenance/bar) -"wgb" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/security/prison) -"wkN" = ( -/turf/closed/wall, -/area/science/circuit) -"wnD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"wnN" = ( -/obj/structure/pool/Lboard, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"woR" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cryopod) -"woX" = ( -/obj/machinery/door/window/southright{ - name = "Target Storage" - }, -/obj/item/target/alien, -/obj/item/target/alien, -/obj/item/target/syndicate, -/turf/open/floor/plating, -/area/security/prison) -"wph" = ( -/obj/docking_port/stationary{ - area_type = /area/construction/mining/aux_base; - dheight = 4; - dir = 8; - dwidth = 4; - height = 9; - id = "aux_base_zone"; - name = "aux base zone"; - roundstart_template = /datum/map_template/shuttle/aux_base/default; - width = 9 - }, -/turf/open/floor/plating, -/area/construction/mining/aux_base) -"wpo" = ( -/obj/machinery/camera{ - c_tag = "Bar West"; - dir = 4 - }, -/obj/machinery/computer/arcade/orion_trail, -/obj/structure/sign/poster/official/foam_force_ad{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"wrp" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/service) -"wuB" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/turf/open/floor/wood, -/area/library) -"wvX" = ( -/obj/structure/table/reinforced, -/obj/machinery/light, -/obj/item/stack/sheet/metal/ten, -/turf/open/floor/plasteel/white, -/area/science/circuit) -"wwn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"wwB" = ( -/turf/closed/wall/r_wall, -/area/hallway/primary/central) -"wwC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 25 - }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/toilet) -"wyM" = ( -/obj/machinery/door/airlock{ - name = "Theatre Backstage"; - req_access_txt = "46" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"wAB" = ( -/obj/structure/chair/office/light, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"wBd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/closed/wall, -/area/hallway/secondary/service) -"wCa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "holoprivacy"; - name = "Holodeck Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness) -"wDR" = ( -/obj/structure/sign/poster/official/help_others{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"wEp" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "bridge blast"; - name = "bridge blast door" - }, -/turf/open/floor/plating, -/area/hallway/primary/central) -"wFk" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/security/prison) -"wFX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/fitness) -"wGP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) -"wHz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/maintenance/disposal/incinerator) -"wIZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"wJz" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"wLT" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/closed/wall, -/area/maintenance/port) -"wNM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"wOT" = ( -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel, -/area/hydroponics) -"wSE" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"wUY" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/hand_labeler, -/turf/open/floor/plasteel, -/area/hallway/secondary/service) -"wVs" = ( -/obj/structure/table/wood, -/obj/item/instrument/trumpet, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"wWh" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"wXP" = ( -/obj/machinery/button/door{ - id = "maintdiy"; - name = "Shutters Control Button"; - pixel_x = -6; - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"wYa" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"wZB" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"xbu" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"xcg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"xdb" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 8; - name = "8maintenance loot spawner" - }, -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den) -"xdx" = ( -/obj/machinery/pool/drain, -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"xdV" = ( -/obj/machinery/door/airlock{ - name = "Theatre Backstage"; - req_access_txt = "46" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "xgF" = ( /obj/structure/chair/stool/bar, /turf/open/floor/wood{ icon_state = "wood-broken5" }, /area/maintenance/bar) -"xhx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +"xhS" = ( /obj/structure/cable{ icon_state = "2-4" }, -/turf/open/floor/wood, -/area/bridge/meeting_room) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "xhV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -59146,6 +58291,14 @@ }, /turf/open/floor/plating, /area/construction) +"xib" = ( +/obj/machinery/door/window/westleft{ + base_state = "right"; + icon_state = "right"; + name = "Unisex Showers" + }, +/turf/open/floor/plasteel/freezer, +/area/security/prison) "xiw" = ( /obj/machinery/door/airlock{ name = "Service Hall"; @@ -59157,205 +58310,310 @@ }, /turf/open/floor/plating, /area/hallway/secondary/service) -"xkk" = ( -/obj/structure/piano, -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/crew_quarters/theatre) -"xlN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +"xkd" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"xls" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/security/prison) +"xmo" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"xmS" = ( +/obj/structure/chair/comfy/beige{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/grimy, +/area/hallway/secondary/entry) +"xqG" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = -3; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) +"xrN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"xtP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"xxi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plating, -/area/maintenance/port/aft) -"xpx" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ +/area/maintenance/fore) +"xzd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/structure/chair/sofa, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/effect/landmark/start/assistant, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"xqW" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "Secure Gate"; - name = "brig shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/security/brig) -"xvc" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"xvz" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/yellow, +"xzj" = ( /obj/machinery/light{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "poolshutter"; - name = "Pool Shutters"; - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 + dir = 1; + light_color = "#d1dfff" }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"xzh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/area/hallway/primary/fore) +"xAk" = ( +/obj/structure/chair/stool{ + pixel_y = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/space/nearstation) -"xzy" = ( -/obj/effect/turf_decal/stripes/corner{ +/area/maintenance/starboard/fore) +"xAv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel, -/area/hydroponics) -"xDJ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +/area/crew_quarters/dorms) +"xBk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet) +"xBw" = ( +/obj/structure/closet/wardrobe/cargotech, +/obj/item/radio/headset/headset_cargo, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"xDM" = ( +/obj/machinery/camera{ + c_tag = "Locker Room South"; + dir = 8 + }, +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/plasteel, +/area/crew_quarters/locker) "xEu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"xGC" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) +"xEB" = ( +/obj/machinery/power/apc{ + areastring = "/area/ai_monitored/nuke_storage"; + dir = 1; + name = "Vault APC"; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/circuit, +/area/ai_monitored/nuke_storage) +"xEE" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/obj/machinery/vending/wardrobe/curator_wardrobe, +/turf/open/floor/carpet, +/area/library) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"xIn" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) -"xIN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"xLZ" = ( -/obj/structure/closet/radiation, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) -"xMl" = ( -/obj/structure/chair/sofa{ - dir = 1 - }, -/obj/structure/window, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"xNY" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 1 +"xLX" = ( +/obj/structure/lattice/catwalk, +/obj/item/stack/marker_beacon{ + anchored = 1; + icon_state = "markerburgundy-on"; + light_color = "#FA644B"; + light_power = 3; + light_range = 3; + name = "Docking Beacon"; + picked_color = "Burgundy" }, /turf/open/space/basic, /area/space/nearstation) -"xPg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "poolshutter"; - name = "Pool Shutters" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) -"xSt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"xOx" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 1 }, /turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"xTm" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"xXY" = ( +/area/security/prison) +"xPk" = ( +/obj/structure/bed, +/obj/machinery/button/door{ + id = "Dorm6"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/spawner/lootdrop/bedsheet, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"xPY" = ( +/obj/structure/table/wood, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/instrument/trombone, +/turf/open/floor/wood, +/area/crew_quarters/theatre) +"xQG" = ( +/obj/machinery/door/airlock/external{ + name = "Common Mining Shuttle Bay" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"xTy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"xUe" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/prison) +"xUL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/machinery/camera/motion{ + c_tag = "Vault"; + dir = 1; + network = list("vault") + }, +/turf/open/floor/plasteel/dark, +/area/ai_monitored/nuke_storage) +"xXi" = ( +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) +"xZD" = ( /obj/structure/closet/lasertag/red, /obj/item/clothing/under/pj/red, /obj/item/clothing/under/pj/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"xYO" = ( -/obj/structure/sign/poster/contraband/red_rum{ +"ybj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/security/prison) +"ycd" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/mirror{ pixel_y = 32 }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) +/obj/structure/sink{ + dir = 1; + pixel_y = 25 + }, +/obj/machinery/button/door{ + id = "LockerShitter2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 14; + pixel_y = 38; + specialfunctions = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/crew_quarters/toilet/locker) "ycu" = ( /obj/structure/cable{ icon_state = "2-4" }, /turf/open/floor/plasteel, /area/science/circuit) -"ycF" = ( -/obj/machinery/door/airlock/external{ - name = "Common Mining Shuttle Bay" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) "ydD" = ( /obj/effect/turf_decal/bot, /obj/machinery/suit_storage_unit/rd, /turf/open/floor/plasteel, /area/science/mixing) -"yiN" = ( -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"yjr" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"yle" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) +"yhz" = ( +/obj/structure/table, +/obj/item/folder/blue, +/turf/open/floor/plasteel/dark, +/area/hallway/primary/central) +"yiY" = ( +/obj/structure/sign/poster/official/ion_rifle, +/turf/closed/wall/r_wall, +/area/ai_monitored/security/armory) (1,1,1) = {" aaa @@ -65377,11 +64635,11 @@ aaa aaa aaa aaa -aaK +ghq aaa aaa aaa -aaK +ghq aaa aaa aaa @@ -65394,7 +64652,7 @@ aaa aaa aaa aaa -hoo +gDl aaa aaa aaa @@ -65628,9 +64886,9 @@ aaa aaa aaa aaa -aaK +ghq aaa -aaK +ghq aaa aaa aaa @@ -65642,9 +64900,9 @@ gXs aaa aaa aaa -aaK +ghq aaa -aaK +ghq aaa aaa aaa @@ -65891,11 +65149,11 @@ gXs aaa aaa gXs -jmC +gJi gXs gXs gXs -jmC +gJi gXs aaa aaa @@ -66141,11 +65399,11 @@ aaa aaa aaa aaa -jmC -jmC +gJi +gJi gXs aag -jmC +gJi gXs gXs aaa @@ -66155,11 +65413,11 @@ aaa aaa gXs gXs -jmC -jmC -klu +gJi +gJi +haL aag -jmC +gJi aaa aaa aaa @@ -66398,11 +65656,11 @@ aaa aaa aaa aaa -xcg -lLt +gIU +shR aaa -lLt -jNo +shR +hse gXs aoV aaa @@ -66412,11 +65670,11 @@ aaa aaa aaa gXs -xcg -lLt +gIU +shR aaa -lLt -jNo +shR +hse aaa aaa aaa @@ -66655,11 +65913,11 @@ aaa aaa aaa aaa -xzh +bvG aaa cpe aaa -vDq +oyN aaa aaa aaa @@ -66669,11 +65927,11 @@ aaa aaa aaa aaa -xzh +bvG aaa cwV aaa -vDq +oyN aaa aaa aaa @@ -66911,7 +66169,7 @@ aaa aaa aaa aae -lCL +ktS gXs aaa aaa @@ -67168,7 +66426,7 @@ aaa aaa aaa aaa -lCL +ktS gXs aaa aaa @@ -67425,7 +66683,7 @@ aaa aaa aaa aaa -lCL +ktS gXs aaa aaa @@ -67682,7 +66940,7 @@ aaa aaa aaa aaa -lCL +ktS gXs aaa cqq @@ -67709,7 +66967,7 @@ aaa aaa aoV aaa -rHa +iDS aaa aaa aoV @@ -67939,7 +67197,7 @@ aaf aaf aaf aaa -lCL +ktS arB asE cyb @@ -67966,7 +67224,7 @@ aaa aaa asE asE -ycF +nGI asE asE aoV @@ -68226,7 +67484,7 @@ awW auP awW aaf -vZs +kls aaa aaa aaa @@ -68480,7 +67738,7 @@ aaa aaa arB arB -jnX +xQG asE aAC aaf @@ -68712,7 +67970,7 @@ apN apN apN apJ -iyC +fpI ayk awW aAD @@ -68736,7 +67994,7 @@ aaa aaa aaa arB -est +xfS ayk awW aAD @@ -70012,7 +69270,7 @@ aaa awW aOh ayl -tTW +jHh aRY awW aaa @@ -71308,7 +70566,7 @@ awW arB awZ aym -vrM +fOI awW aaf aaa @@ -72589,7 +71847,7 @@ aUO aUy aWm aWf -ohX +vdu czK bhN bcl @@ -73607,7 +72865,7 @@ aHy ayl aKk aLA -dTe +xmS aNf aLA aQD @@ -75633,7 +74891,7 @@ ady ady ady ady -rKc +uDO ajq ajW akB @@ -75677,7 +74935,7 @@ aXQ aXQ aPz aPz -rFc +epC aPz bhQ bjj @@ -75931,11 +75189,11 @@ aPA aXQ aZt aXQ -gdu +ycd aPz -kJY -ihC -oMY +omY +cMS +gQX bhQ bjj bkF @@ -76191,10 +75449,10 @@ aXQ bbL aPz bdJ -gFD +txm bgr -nQr -tUm +iwB +hew bkF aaa aaa @@ -76449,7 +75707,7 @@ aZw aPz bct bfa -vdH +gfr bhQ bjk bkE @@ -76704,10 +75962,10 @@ baO aZo baw aPz -cwP +hPs cBn bgs -wLT +hnl bjk bkF aaa @@ -77008,7 +76266,7 @@ ccb ccb ccb aaa -snG +qJr aaa ccb ccb @@ -77203,7 +76461,7 @@ bxk aDo aDo aIX -nIE +gCC aLE aLE aOp @@ -77217,7 +76475,7 @@ aQN aQN aQN aQN -kWI +vhb bbO aPA bgt @@ -77265,7 +76523,7 @@ aaa aaf aaa aaa -kKw +hrF aaa aaa aaf @@ -77280,7 +76538,7 @@ aaa aaa aaa aaa -hoo +gDl aaa aaa aaa @@ -77469,7 +76727,7 @@ aQN aQN aTz aUp -job +ubj aXr aZx aQN @@ -77522,7 +76780,7 @@ aaf aaf aaf aaf -kKw +hrF aaf aaf aaf @@ -77731,7 +76989,7 @@ aXv aYS aQN aQN -kWI +vhb bbO aPA aSg @@ -77974,18 +77232,18 @@ aDo aDo aDo aIY -nIE +gCC aLE aLE aOl aPA -lhg +pqs aQN aTC aUs -phY +mTG aXt -ksn +ijG aQN aQN aPA @@ -78240,9 +77498,9 @@ aQV aQN aTC aUu -eRk +gxc aXt -ksn +ijG aQN aQN aZB @@ -78495,11 +77753,11 @@ aOl aPA aQU aQN -hzw -qlr -pPE +nLw +sLa +oyl aXw -jiR +qfk aQN aQN aZA @@ -79007,10 +78265,10 @@ aLm aLE aOl aPA -xIn +vJu aQN aTD -mIS +ocv aUZ aYU aYU @@ -79251,14 +78509,14 @@ aaf avY axo arP -fLd -cRD +fgG +rqW aGD -tru +tJi aCr -qBc -iFL -qBc +hcb +qTG +hcb aKu aLM aLF @@ -79268,14 +78526,14 @@ aPG aPG aPG aPG -jsy +lip aQW aQW aQW aQW -cVu +xDM aPA -oBp +jxF aYb aZE bjp @@ -79508,14 +78766,14 @@ aaa avY axo arP -qwe -ioB +rPU +fne aGr aHI -xdV -ePO -phu -qBc +fOA +tWj +oyz +hcb aKu aLL bDe @@ -79766,13 +79024,13 @@ avY axo arP aCh -qQJ -iYz +pIf +kCo aHK aCr -tUw -mqa -qBc +uJx +ikk +hcb aKu aLN aLE @@ -79786,13 +79044,13 @@ aWu aYc aZD aZD -uhm +vnI aZD aZD bff -iRJ +dev aZE -fyM +xBw bjr ama bmh @@ -79851,18 +79109,18 @@ bLv bLv bLv aaa -prP -prP -prP -prP -prP -prP -prP -prP -prP +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo aaa aaa -hoo +gDl aaa aaa aaa @@ -80023,13 +79281,13 @@ avZ axp ayC azH -wyM +eEe aGv aCr aCr -tUw -mqa -qBc +uJx +ikk +hcb aKu aLN aLE @@ -80040,7 +79298,7 @@ aRa aTF aPG aSX -eRn +hPP aZF aZF aZF @@ -80108,7 +79366,7 @@ cqK crl bLv aaa -prP +iDo ctv ctv ctv @@ -80116,7 +79374,7 @@ ctv ctv ctv ctv -prP +iDo aaa aaa aaa @@ -80277,14 +79535,14 @@ aGh aqR aqR awb -eLH +xtP ayA -fHK -hRX +sNK +xmo aBV -pNH -sfa -ioX +mzB +mJG +szG aHG aJe aKw @@ -80365,15 +79623,15 @@ cAQ crm bLv aaa -prP -prP -prP -prP -prP -prP -prP -prP -prP +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo +iDo aaa aaa aaa @@ -80537,13 +79795,13 @@ awa axq ayD azI -gwi +rjQ aBU -xkk -upX -qJZ -doP -qBc +myh +inR +wUr +iTq +hcb aKu aLN aMQ @@ -80590,7 +79848,7 @@ aoV bCq bHE bHE -puG +mPr cdb bCq bVE @@ -80632,9 +79890,9 @@ gXs aaa aaa aaa -prP -prP -prP +iDo +iDo +iDo aaa aaa aaa @@ -80791,16 +80049,16 @@ aaa aaa aag avY -jLM +xxi ayD -oeJ +cGz aMr -qOf +ngs aDv -lwp -tUw -jly -qBc +uRS +uJx +dsC +hcb aKu aLN aMS @@ -80889,9 +80147,9 @@ gXs aaa aaa aaa -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -81048,21 +80306,21 @@ aaa aaa aag avY -jLM +xxi ayD -wVs +viF aMr aMr aOH -lwp -vNh -qHB -qBc +uRS +lSa +oTW +hcb aKu aLN aMS aOi -sqa +lPr aPK aSl aTH @@ -81117,7 +80375,7 @@ mrR dKP odx rBq -ouD +kQO bCq bUs bLv @@ -81136,19 +80394,19 @@ aaf aaa aaf gXs -sYv +gUu crn bij bij bij bij bij -hWn +jkz btG aaa -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -81307,14 +80565,14 @@ aag avY axs ayD -sjm -eNK -iEx +nez +ngV +xPY aOH -qBc -qBc -tAV -qBc +hcb +hcb +syJ +hcb aKu aLN aMS @@ -81344,7 +80602,7 @@ bbR btu bbR bOL -fnJ +qje byF bwW bGm @@ -81386,26 +80644,26 @@ cjJ cjJ cjJ cjJ -gVX -reZ -reZ +kfX +saU +saU bij crn bij bij -sZR -ued +eCR +wUg bnT bph bsc -fhP +mQS bsc -eXm +tNF btG gXs -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -81646,12 +80904,12 @@ cov cpj cpS cjJ -xLZ -ivF +fjS +sPT btG -wAB -vVP -mwO +rXl +xgC +ugu bnV bph bih @@ -81660,9 +80918,9 @@ bii bsc btG aaa -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -81838,8 +81096,8 @@ aPK aSn aTK aPK -vRX -hwu +uoG +sOA asW baW bLE @@ -81857,7 +81115,7 @@ bpB bpB brR bsV -aaM +bwc bxA bvI bwX @@ -81902,14 +81160,14 @@ cnN cox cpl cpU -ipc -edH -edH -nWq -edH -wZB -fby -qwB +jLn +xTy +xTy +tJK +xTy +vob +xhS +mOB bph big bgN @@ -81917,9 +81175,9 @@ bkZ bsc btG aaa -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -82056,7 +81314,7 @@ aaa acd acd acd -jHM +xUe acd acd aaa @@ -82100,7 +81358,7 @@ aYi aqW aqW bbQ -qpA +uFp apd aZH aZK @@ -82160,12 +81418,12 @@ cow cpk cpT cjJ -xLZ -oNQ +fjS +dXq btG -sZa -jhF -qmM +rtl +oqO +vFr bnV bph bii @@ -82174,9 +81432,9 @@ bih bsc btG aaa -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -82311,10 +81569,10 @@ abc abc afu abc -suI -qMu -kJr -dxB +itQ +pgn +tmO +eHU acd aaa aaa @@ -82415,25 +81673,25 @@ clG cnP coz cpn -dbn -dbn +sPY +sPY bgO -hjw +dgO bgO -nTE -pTn -jnm +pPI +uRd +ktP bnW bph bsc -mQR +mkv bsc -wNM +jFH btG gXs -prP +iDo ctv -prP +iDo aaa aaa aaa @@ -82568,11 +81826,11 @@ aea aeH aft abc -woX -kdm -rvZ -vUR -jHM +dly +mnC +mcp +xls +xUe aaa aaa aiU @@ -82678,19 +81936,19 @@ aaf aaa aaa gXs -gtL +iHk bgO bgO bgO bgO bgO bgO -vgp +jBA btG aaa -gSH +kvl ctv -prP +iDo aaa aaa aaa @@ -82814,7 +82072,7 @@ aaa aaa gXs gXs -dbM +dVU abc abu abu @@ -82826,10 +82084,10 @@ aeJ afw abc abc -kdm +mnC aay -vUR -qlF +xls +kMt aaf aaf aiU @@ -82897,7 +82155,7 @@ bCq bHD bJe bCq -czi +nkP bHE bHE bHE @@ -82945,7 +82203,7 @@ aaa aaa aaa aaa -prP +iDo ctv aaT aaa @@ -83083,9 +82341,9 @@ aeI afv agf abc -kdm +mnC aay -vUR +xls aiT aiT aiV @@ -83118,7 +82376,7 @@ aKA aLN aMS aOz -iMG +exP aPQ aSa aSr @@ -83128,7 +82386,7 @@ aYZ bLE aqW aqW -hfe +noy apd beA bqp @@ -83136,7 +82394,7 @@ cNG cNJ bLF aZK -haz +sRH bbR bqt cBq @@ -83202,8 +82460,8 @@ aaa aaa aaa aaa -prP -prP +iDo +iDo aaT aaa aaa @@ -83327,8 +82585,8 @@ aaa aaa aaa aai -jSa -uVt +eqd +kgr abe abw acc @@ -83340,9 +82598,9 @@ aeL afy agh abc -tOd -vRr -tLl +hnU +vda +ybj aiT ajs akb @@ -83584,7 +82842,7 @@ aaa aaa gXs aai -gIO +gbu aay abd abv @@ -83597,9 +82855,9 @@ aeK afx agg abc -orw -jMK -riA +dCV +idK +ttX aiU ajr aka @@ -83842,9 +83100,9 @@ aaf aaf aai acd -wgb +mIZ abg -jtU +enB aby aby aby @@ -83854,10 +83112,10 @@ aeN afA afA abc -vWw -wFk -oXL -cXx +laq +kdP +mGw +jls aju akd akK @@ -83924,14 +83182,14 @@ bCn bGq bGq bGq -tdF +rGq bLw bGq bGq bGq bLw bGq -tdF +rGq bTD bUx bVI @@ -83946,7 +83204,7 @@ bVI bVI bVI bTA -xlN +xgk bHE bHE bHE @@ -83979,7 +83237,7 @@ aaa aaa aaa aaa -hvS +kEY aaa aaa aaa @@ -84100,7 +83358,7 @@ aai aai abf aat -tHx +jRw abx acd acC @@ -84109,12 +83367,12 @@ adF aef aeM afz -jSD +dLG aav -sjT -pLt -pQr -new +vIi +fsj +mPt +lyR ajt akc akJ @@ -84427,7 +83685,7 @@ bqw aJq aJq aYl -ppY +fAj aLX aJq aJq @@ -84611,7 +83869,7 @@ aai aan aaw aaB -kfE +qmn aaJ aat abh @@ -84866,7 +84124,7 @@ aag aaa aak aap -fuo +saX aaD aau aat @@ -84941,7 +84199,7 @@ bqy cBr bqy buK -pNI +tZe aJw aJq aJq @@ -84973,7 +84231,7 @@ bWB bWB cec bVI -iOt +kNv ccw chY ciX @@ -85380,7 +84638,7 @@ aag aaa aal aar -phH +uGI aaF aat aat @@ -85459,7 +84717,7 @@ bwi bmr aMm aJq -otF +vEi bCs bCs bEY @@ -85637,12 +84895,12 @@ aag aaf aaj aaq -eOy +dyS aaE aat aaN aaV -rtT +rvS aat acd abL @@ -85721,7 +84979,7 @@ bCs bDv bEX bFb -hKF +kfv bFa bKt bLx @@ -85897,9 +85155,9 @@ aat aat aat aat -jeR -neC -jgv +qXg +jjC +xOx abD acd acd @@ -85917,9 +85175,9 @@ agj auj akl akO -uko -uko -xqW +fde +fde +seP anw anz aox @@ -86155,7 +85413,7 @@ aat aat aat aat -hRz +uEI aat abC acd @@ -86199,7 +85457,7 @@ aGq aHO aJl ayW -neb +ftE aJq aOE aJn @@ -86212,7 +85470,7 @@ aYq aZO aZC baK -qBe +rnt bbC bdI bgK @@ -86469,10 +85727,10 @@ aYs aZQ bbi bde -nLf +kvL bcd bcd -xhx +gNC bcd bcd bcd @@ -86664,14 +85922,14 @@ aaa aag aaf aai -cMk -cMk +wYc +wYc aaG -cMk +wYc aaP aaX -unu -lwY +keM +xib acd acD acY @@ -86727,7 +85985,7 @@ aZP bbh bcc bdd -gjf +cVs bfr bgM bif @@ -86945,9 +86203,9 @@ aiz ajg akl akR -uko -uko -xqW +fde +fde +seP anz anz aov @@ -86986,19 +86244,19 @@ bbk bfu bbk bfs -pUl +rTu aZM aZM aaf aaf -lCL +ktS aaf -lCL +ktS aaf -lCL +ktS aaf -lCL -wwB +ktS +fxV aXf aJq bBi @@ -87185,7 +86443,7 @@ aaa aaf aai abi -vdz +eqA ach acK adf @@ -87243,19 +86501,19 @@ bce bdf beb aYv -kTz -kDD +cUx +fcn aaf aaf -lCL -lCL +ktS +ktS aaf -wwB -wwB -wwB -wwB -wwB -wwB +fxV +fxV +fxV +fxV +fxV +fxV aXf aJq byU @@ -87500,19 +86758,19 @@ aZR bbm bec bfu -sdL +vBa aBa aBa aBa aBa aBa aBa -wwB +fxV bsb -lTq -tMS -eND -wEp +yhz +ouQ +cQT +nbT aXf aJq bBi @@ -87706,7 +86964,7 @@ cpg acv adi adi -pQD +yiY aeW agQ ahv @@ -87723,7 +86981,7 @@ anz anz aov aph -oOb +cIv ard ard ard @@ -87757,7 +87015,7 @@ aZR aZR aZR bft -srq +psk aBa aBT aDs @@ -87766,13 +87024,13 @@ aGb aBa bqD bsa -oeQ +vCn bsa bsa -wEp +nbT byS aJq -idX +wTf bCs bCs bCs @@ -87963,7 +87221,7 @@ acl cxA acL adi -vpz +pfm agp agT ahx @@ -87973,12 +87231,12 @@ ajc ajI akl akT -fGl -uko -xqW +unW +fde +seP anw anz -lYU +old apk anw anw @@ -87989,7 +87247,7 @@ avj awl axC ayY -uZM +cpF azZ azZ azZ @@ -88014,16 +87272,16 @@ bbm bdh bee bfv -vLD +xUL aBb -cSn +gpD aDr aEM aGa aHF bqF bsa -nmx +nXE buQ buQ bxI @@ -88093,7 +87351,7 @@ cgI cgI cgI aaa -hoo +gDl aaa aaa aaa @@ -88271,13 +87529,13 @@ bcf bdg bed bfv -kvZ -fGC -qvM +tyX +pst +cTT alu aEM aGd -nMx +uOJ bqE bqE bqE @@ -88503,7 +87761,7 @@ avk awk axE ayZ -ncj +pHO aBu aAa aAa @@ -88528,18 +87786,18 @@ bbm bdh bef bfv -smn +gTx aBc -jXg +xEB aDt aEO aGc aHF aKG bsf -kxc -kxc -kxc +dml +dml +dml bxK bwh bAh @@ -88749,7 +88007,7 @@ aml amT anw anz -ilJ +cXU apl aqc aqc @@ -88785,19 +88043,19 @@ aZR aZR aZR bfw -rzg +wZI aBa aBW bjy aEP -nOS +nYe aBa bqG bsa -jDY +eih bsa bsa -wEp +nbT bwb aJq bBr @@ -89006,7 +88264,7 @@ amn amV anw anz -rsX +gfC aod aqf ahT @@ -89042,19 +88300,19 @@ aZR bbm beh bfx -spX +qcm aBa aBa aBa aBa aBa aBa -mte +wql bsg -lTq -tMS -fZD -wEp +yhz +ouQ +fTC +nbT aJq aJq bBu @@ -89299,19 +88557,19 @@ bcg aZU beg aYB -ptV -fjy +qOB +qBi aaf aaf -lCL -lCL +ktS +ktS aaf -wwB -wwB -wwB -wwB -wwB -wwB +fxV +fxV +fxV +fxV +fxV +fxV aJq aJq bBt @@ -89516,9 +88774,9 @@ ajJ akr akX alC -iqw +wIG amX -elw +spu anz aoB aod @@ -89556,19 +88814,19 @@ bbp bfx bbp bfz -tAb +sqp aZV aZV aaf aaf -lCL +ktS aaf -lCL +ktS aaf -lCL +ktS aaf -lCL -wwB +ktS +fxV aJq aJq aXf @@ -89775,9 +89033,9 @@ akW aiG amo amW -uYE +uaj anz -rsX +gfC aod aqe arf @@ -89828,7 +89086,7 @@ bsh bqH aJq aJq -unY +gnf bCv bDJ bCt @@ -90067,7 +89325,7 @@ aYD aZX baf bdk -jwi +mRQ bek bfB bgU @@ -90310,7 +89568,7 @@ vHj eVC dgz aJv -ioG +khV aMg bHt aOE @@ -90540,13 +89798,13 @@ ahC aia aiP aiR -olv +coi akv ala aww afM aiX -uVq +xzj anz aoF apo @@ -90557,8 +89815,8 @@ atj aul auR atj -kcj -ghJ +mps +tKk atj aAX azc @@ -90581,7 +89839,7 @@ aPR aZV baq baQ -dTJ +wcB bcQ bfC bgV @@ -90817,8 +90075,8 @@ avt axL bbl azT -nlt -dwc +nZE +ker aDG aFd auk @@ -90871,7 +90129,7 @@ bOV bQj bRw bSF -gVY +daI bTP bRA bWQ @@ -91070,11 +90328,11 @@ arf arf arf arf -ukP -oma +ltK +xAv awr awr -wwn +ruo aAh aAh aAh @@ -91111,7 +90369,7 @@ btL buY buY bqH -neb +ftE aJq aXf bCv @@ -91128,7 +90386,7 @@ bOV bQo bRz bSH -cJn +plm bTP bRA bWQ @@ -91331,7 +90589,7 @@ avv awu awr aAd -uDW +tkq aAh aDL aAh @@ -91385,7 +90643,7 @@ bOV bQj bRy bSG -gVY +daI bUK bVT bWR @@ -91588,7 +90846,7 @@ awp axN awr awr -kSh +haM aAh aDQ aAh @@ -91596,7 +90854,7 @@ aGl aAh aBy aAh -pTR +rqf aJq aOE aJn @@ -91609,7 +90867,7 @@ aYF aZV bbw bcn -qUm +tgH ben bfE bgX @@ -91839,13 +91097,13 @@ aqe arf ari asu -kyi +mPk aun avR -oma -dHb +xAv +ofU awr -uya +sFW aAh aDM aGx @@ -92098,18 +91356,18 @@ arf arf arf arf -ukP +ltK axP azb aAi -wGP +uIO aCn -rOm -wwC +xBk +dtx aGm aHV aDM -nrR +hIM aJq aJq aJq @@ -92140,9 +91398,9 @@ bva bwu bwu bwu -ihm +kPj bBB -rhb +eBX bzs bFp bGJ @@ -92358,8 +91616,8 @@ arf awq axO aza -jtk -pqR +kmw +xrN aAh aAh aAh @@ -92608,7 +91866,7 @@ ajo aps aqk arf -vGX +vDR blU aHw avn @@ -92616,14 +91874,14 @@ awv axX aze awr -hMx +flE aAh aDU aBz aBz aAh -isy -uzk +dTI +ujv aJq aJq aJq @@ -92867,7 +92125,7 @@ aqj arf ark asu -epV +xPk aun awt awr @@ -92876,10 +92134,10 @@ azX aAZ aCe aDT -mEN -mEN -dzy -fyq +cPn +cPn +mkO +uQS aAh aJC aJC @@ -93136,18 +92394,18 @@ aDP aBx aBx aAh -kCk -qIf +qqs +sYR aMq adq aQb aPZ aRu -wpo +kAH aKR -tIC +tCa aXi -maC +hgO baa aJC bcq @@ -93387,7 +92645,7 @@ awy awr awr avG -udi +wqF aAh aAh aAh @@ -93397,13 +92655,13 @@ aAh aAh aKR aKR -pxD +fxe aPY -xMl +kAO aRx aKR -jzD -tuN +iTU +pqe aPY aZZ aQg @@ -93644,24 +92902,24 @@ awA axT axW aAl -tAE +cHf aJC aDR aFl -rLr +kqI aHZ aJC aKJ -rLR +hIL aKR -hSU -kay +wxT +moD aQd aQa aKR -xbu -hSU -lwj +elh +wxT +uBa bac aJC aYV @@ -93882,10 +93140,10 @@ aib aif aif aif -oyD +aif aif bkV -fvk +jKP alK aif aif @@ -93893,19 +93151,19 @@ anc anD aoI arf -myt +eSe asN aur avy -tWR +nSt axS azk aAk -eUd +tvi aJC aDY aDY -rLr +kqI aKR aJk aKR @@ -93921,7 +93179,7 @@ aKR aKR bab aJC -xYO +ucq aYV ber bfF @@ -94133,13 +93391,13 @@ abp afo abp abp -hlY -ahn +uhm ahn aiA +aiA +aiA ahn -mnI -fHj +oLn anF aod ahn @@ -94150,15 +93408,15 @@ ahn ahn ahn arf -iES -jdT +oAB +eQb aut arf aXF awr awr aAn -wcy +rqk aJC aEc aFk @@ -94168,19 +93426,19 @@ aJC aKr aKR aKR -fbm -fbm -hzR +sLj +sLj +vcN aKR aKR aKR -fbm +sLj aKR aKR bbx aYV aYV -wDR +tkB bfF bhd bis @@ -94386,53 +93644,53 @@ aaf aaf aaf abp -unE +wdv afp -unE +wdv abp -nea +nQi +ahn +aaa +aaf +aaf ahn ahn anE -ahn -mnI -fHj -anF aod aoK -sgV +oyX aqp ahn -ukS -tQk -cVp -jdT -jdT -jdT -rMc +tzQ +pgf +gzf +eQb +eQb +eQb +lUS aun avz awr awr aAn -fSr +jGW aJC aJC -gjC -lxx +plC +oAb aJC aJC aKq aKR aNF -egS -ghs -lMY +hOv +oax +oxm aSH aKR -dMX -igT -moq +rmN +eJa +hSZ aKR aQg aYV @@ -94458,7 +93716,7 @@ bvj bvj bvd bFu -hcd +jex bvj bvd bKH @@ -94649,30 +93907,30 @@ aaa adR ahn ahn +aaa +aaa +aaa +aaf ahn -tob -ahn -ahn -vmK anG aoe aoL apy aqq ahn -dhx -mfb +qLR +oIW arf -unl +kmS ast -jdT +eQb auv arf avA axW azo aAp -lYZ +uxY aBC aCt aEA @@ -94683,13 +93941,13 @@ aKN aKR aKR aOJ -fvW -dtE +oIJ +unA aKR aKR aUg bFC -moq +hSZ aKR bbx aYV @@ -94697,9 +93955,9 @@ aYV bet bfH bhf -slp +wbE bhh -slp +wbE bmJ bof bpu @@ -94906,11 +94164,11 @@ aaa gXs aaa aaa -jmC -jmC -jmC -jQX -jQX +aaa +aaa +aaa +aaa +ahn khB ahn ahn @@ -94925,11 +94183,11 @@ arf arf arf arf -hkg -eNW +hlV +oHB azf aAo -lMx +vyp aBB aBB aBB @@ -94939,12 +94197,12 @@ cNE aKM aMu aMu -poa -hdb +feG +tif aMu aMu aMu -uTq +jgA aSq aKR bad @@ -94956,7 +94214,7 @@ bfG bhe bit bjS -nGS +tCd bli boe bli @@ -95166,29 +94424,29 @@ aaa aaa aaa aaa -jQX -qda -wdj -qvh -wdj -iep -gQn -xSt -xSt -qNs -lMx -sjw +aaa +aag +aag +aag +arf +wXl +iou +arf +eSe +wig +vyp +rrM clO asZ aua -dcG +oZl awB att azh -vYa -vYa -gKk -vbY +fHG +fHG +kxf +ufD alP aGI aId @@ -95202,7 +94460,7 @@ aMx aMx aMx aMx -eqm +rqE aKR aZb aJC @@ -95413,39 +94671,39 @@ aaa aaa aaa aaa -xzh +bvG aaa aqG aaa -vDq +oyN aaa aaa aaa aaa aaa -xIN -qoW -hPB -wbh -wbh -wbh -wbh -wbh -ucV -wdj +aaa +aaa +aaa +aaa +arf +lOe +pgf +gzf +eQb +jLT arf arm -vYa +fHG aya -vYa -vYa +fHG +fHG auB atZ azg azp -vYa +fHG aCu -dgh +qOc alP aGH aIc @@ -95670,39 +94928,39 @@ aaa aaa aaa aaa -lCB -lNB +tqB +vae aaa -lNB -rUQ +vae +efO aaa aaa aaa aaa aaa -xIN -nbZ -uxu -kdv -krR -lAe -krR -krR -fLR -tOU -goY -hVw -vYa -vYa -vYa -vYa -pSf -vYa +aaa +aaa +aaa +aaa +arf +arf +arf +arf +oAB +ujS +aqs +coh +fHG +fHG +fHG +fHG +pPi +fHG ayb -ndC -vYa +hWd +fHG aCv -frE +mbU alP aGJ aIe @@ -95716,7 +94974,7 @@ aXj aVy aSY aVy -oNb +xqG acN bah aJC @@ -95927,39 +95185,39 @@ aaa aaa aaa aaa -jmC -jmC +gJi +gJi gXs -jmC -jmC +gJi +gJi aaa aaa aaa aaa aaa -xIN -iBB -uxu -uFI -krR -krR -krR -ujS -fLR -tOU -goY -fQF -qbx -qux -vYa -vYa -pSf -vYa +aaa +aaa +aaa +aaa +aaa +aaa +arf +obc +eQb +qAm +arf +lXE +pFX +mOO +fHG +fHG +pPi +fHG ayb -ndC -vYa -vys -tCi +hWd +fHG +sci +sEi alP aGJ aIe @@ -95969,11 +95227,11 @@ aKQ aNu aJC aPw -kwy +egt aQc aSZ aQc -vjq +qaY acN bag aJC @@ -96194,29 +95452,29 @@ aaa aaa aaa aaa -jQX -wSE -uxu -krR -krR -krR -krR -krR -fLR -mRa +aaa +aaa +aaa +aaa +aaa +aaa arf -oSO -sAI -fJa -vYa -svw -ntf -jvN -lBE -xpx -vYa +mse +fMZ +dqb +arf +xzd +sJI +jJg +fHG +eAJ +rvr +nLu +hcA +ryr +fHG aCu -hgX +puh alP aGA aHS @@ -96238,7 +95496,7 @@ aYV aYV bet bfH -dok +qTV bhh bhg bln @@ -96442,38 +95700,38 @@ aaa aaa aaa aaa -aaz +xLX aaa -aaz +xLX aaa aaa aaa aaa aaa aaa -xIN -qoW -uxu -krR -krR -krR -krR -krR -fLR -dIm +aaa +aaa +aaa +aae +aaa +aaa arf -mTp -qEv -kRk -mXB -qAQ -pzk -vYa -sMa -iEI -jeT -rTQ -vHM +arf +arf +arf +arf +fZm +jmV +epD +ghD +hBA +xbn +fHG +reA +lsk +xXi +jAN +jEc alP aGL aHM @@ -96708,28 +95966,28 @@ aaa aaa aaa aaa -xIN -qoW -qkc -krR -krR -xdx -krR -krR -fLR -mRa -kHJ -rEV -rEV -kQZ -fVU -vpm -vpm -fVU -nel -wCa -wCa -lFl +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +ewu +pQp +pQp +oqj +jBi +fpl +fpl +jBi +oDN +sEM +sEM +pRs arj alP aGL @@ -96826,7 +96084,7 @@ aaf ctZ cui cuq -ajY +cuC cuO cuz cvm @@ -96965,16 +96223,16 @@ aaa aaa aaa aaa -xIN -qoW -uxu -krR -krR -krR -krR -krR -fLR -mRa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs aqu aro aro @@ -97004,7 +96262,7 @@ aVz aVz aYJ aJI -sIe +mNW aYV aYV aYV @@ -97222,16 +96480,16 @@ aaa aaa aaa aaa -jQX -vCm -uxu -krR -krR -krR -krR -krR -fLR -mRa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +aaa aqu aro aro @@ -97334,8 +96592,8 @@ czk cti cua cua -aeF -afs +ctw +ctH ctQ cuc cuj @@ -97479,16 +96737,16 @@ aaa aaa aaa aaa -xIN -iBB -uxu -uFI -krR -krR -krR -ujS -fLR -mRa +aaa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +aaa +aaa aqu aro aro @@ -97521,7 +96779,7 @@ baj bbz aYV bdp -itT +mvt bfK bfK bfK @@ -97591,9 +96849,9 @@ ctb cth cua ctr -afn -age -agX +ctu +ctG +ctP cub cuj cur @@ -97736,16 +96994,16 @@ aaa aaa aaa aaa -xIN -qJO -uxu -krR -krR -wnN -krR -krR -fLR -mRa +aaa +aaa +aaa +aaa +aaa +gXs +gXs +aaa +aaa +aaa aqu aro aro @@ -97774,7 +97032,7 @@ aVD aVE aXm aVz -egQ +juG bbz aYV bdp @@ -97848,13 +97106,13 @@ ctc ctc cto ctt -afq +cty ctJ -ahw +ctT cue cul cuu -akz +cuG cuS cve cvo @@ -97993,16 +97251,16 @@ aaa aaa aaa aaa -xIN -qoW -wem -dvG -dvG -tvW -dvG -dvG -gil -mRa +aaa +aaa +aaa +aaa +gXs +gXs +aaa +aaa +aaa +aaa aqu aro aro @@ -98105,9 +97363,9 @@ ctb ctj ctk cts -afr -agv -ajC +ctx +ctI +ctS cud cuk cus @@ -98250,27 +97508,27 @@ aaa aaa aaa aaa -jQX -xvz -idO -idO -idO -jYZ -has -has -has -esV -haX -rEV -rEV -rEV -nie -vpm -vpm -wFX -wCa -wCa -wCa +aaa +aaa +aaa +aaf +aaf +aaa +aaa +aaa +aaa +aaa +vmQ +pQp +pQp +pQp +grA +fpl +fpl +gbh +sEM +sEM +sEM aCy arj alP @@ -98288,7 +97546,7 @@ aTO cCq aVz aVz -fPs +qus bbz aYV bdp @@ -98504,31 +97762,31 @@ aaS aaS aaS aaS +aaS +aaS +aaS +aaS +aaS +aaf +aaf +aaa +aaa +aaa +aaa aaa aaa aaa -jQX -jQX -xIN -xIN -xIN -jQX -xIN -xIN -xIN -jQX -jQX aaa aaa arj -cRz +fCx avD awC ayb -mbD -nmS -oFk -xXY +eCr +jvd +cEo +xZD vpY alP aGJ @@ -98574,7 +97832,7 @@ bCR bqQ bGX bCR -oDy +edA bRN bIK bPq @@ -98761,12 +98019,12 @@ aaf aaa aaf aaa +aaf aaa +aaf aaa -aaa -aaa -aaa -aaa +aaS +aaf aaa aaa aaa @@ -98780,13 +98038,13 @@ aaf arj auz avC -kOf +vHz aya -vYa -vYa -oYc -vYa -vYa +fHG +fHG +xkd +fHG +fHG gOZ aGJ avI @@ -98877,7 +98135,7 @@ aaa aaf cua ctF -agH +ctM ctX cuf cum @@ -99022,7 +98280,7 @@ ads adS aeG aaa -aaa +aaS aaa aaa aaa @@ -99037,7 +98295,7 @@ alO arj arj arj -eOv +pBp gOZ cVb cVb @@ -99135,7 +98393,7 @@ aaf cua ctE ctL -ajX +ctW cuf cum cuw @@ -99549,10 +98807,10 @@ cxW anf aqv ayf -fIn -ego +dce +uua awE -dMu +tRB cVb vCb wUY @@ -99805,8 +99063,8 @@ aag alO anf alO -kSB -pAl +mAH +jaF alP anf aCG @@ -99822,11 +99080,11 @@ aIq aKK aMy aIp -jaa +nGf aQm -wOT -htr -htr +fzd +fFA +fFA aVK aRJ aRJ @@ -100068,10 +99326,10 @@ alP awF aCG alP -olw +nhY aBE aCz -trY +vEp aCJ aGT aIn @@ -100081,10 +99339,10 @@ aMt aIp aOW aQm -dRC +coI aSS aUj -pHo +sJx aRJ aYQ cBg @@ -100318,7 +99576,7 @@ aoN apA aof arq -hdp +itK atv auD alP @@ -100338,14 +99596,14 @@ aMA aIp aOX aQm -dRC +coI aST aUk -pHo +sJx aRJ aYQ bam -yiN +ssB aYV aYV aYV @@ -100562,10 +99820,10 @@ adU adU adU adU -ssL -rsv -rsv -rsv +eaR +jIs +jIs +jIs acx amv ane @@ -100595,14 +99853,14 @@ aMz aNQ aOX aQm -tFt -tsr -tsr -xzy +lva +nUV +nUV +gbd aRJ aYR ban -qje +ikm aYV aYV bez @@ -100846,7 +100104,7 @@ aaa aFq aGX aIp -vzS +sHx aKU aME aNN @@ -100859,7 +100117,7 @@ aXo aXo aYO bap -qje +ikm aYV bci beB @@ -101088,7 +100346,7 @@ aof aof aof aof -qkC +vCy aoP atw auF @@ -101096,7 +100354,7 @@ alP aoP auF azr -kel +jez atw alP alP @@ -101110,13 +100368,13 @@ aNQ aOZ aOX aOX -hZH +rdG aUz aVM aOX aYT bam -ory +iuR baR bcb bdl @@ -101173,7 +100431,7 @@ bAw bAw clp aag -jmC +gJi aaa aaa aaa @@ -101351,7 +100609,7 @@ aty auF alP aAt -kuY +jZT alP alP alP @@ -101602,7 +100860,7 @@ aaa aaa apC anf -kel +jez alP atx auF @@ -101611,7 +100869,7 @@ auD auF apE aAs -khA +vbi alP aCG aFr @@ -101864,12 +101122,12 @@ alP apE auG alP -rgF +iWx auF apE anf anf -jRy +noF aCG aDZ aFu @@ -102133,8 +101391,8 @@ bbE aIr bav aLf -aaL -kLR +aNV +qfD aRO aQp aRN @@ -102198,11 +101456,11 @@ cQB czY cOT aaa -jmC -jmC -jmC -jmC -jmC +gJi +gJi +gJi +gJi +gJi aaa aaa aaa @@ -102375,12 +101633,12 @@ apC alP alP alP -tuj +dbU auH avF awI ayc -mlr +gcF asw asw aCD @@ -102391,7 +101649,7 @@ aIu aJQ aIt aIt -kLR +qfD aRO aIt aRN @@ -102646,9 +101904,9 @@ anf aFu aIs aJP -wuB +vZR aIt -nsJ +hGH aYW aYW aYW @@ -102716,9 +101974,9 @@ aaa aaa aaa aaH -adO -aeD -aeE +eFW +nwX +weM aaa aaa aaa @@ -102903,9 +102161,9 @@ aFu aFu aIw aJS -tqt +pJR aNP -jFy +esZ aOS aOS aOS @@ -102969,14 +102227,14 @@ cQB cAa cOT gXs -xNY -kvb +rnK +kWp aaa aaa aaH aaH aaH -aeE +weM aaa aaa aaa @@ -103153,7 +102411,7 @@ awJ anf alP aAv -gCe +tJS aCE aDZ aFu @@ -103162,7 +102420,7 @@ aIv aJR aIt aIt -kLR +qfD aRO aIt aPd @@ -103226,14 +102484,14 @@ czU czZ cOT aaa -jmC +gJi aaH aaH aaH aaH aaH aaH -adO +eFW aaa aaa aaa @@ -103419,7 +102677,7 @@ aIx aJF aQq aNS -kLR +qfD aRO aIt aPd @@ -103483,14 +102741,14 @@ cgm czY cOT gXs -xNY -kvb -gJg +rnK +kWp +kaq aaH aaH aaa aaa -gJg +kaq aaa aaa aaa @@ -103680,12 +102938,12 @@ aFu aPf aQq aRP -kHK +pem aIt aIt aWd aXV -iWa +vsT bbD aYV aXq @@ -103693,7 +102951,7 @@ aYV bfV bhw cHM -kRw +wWT blB blF cHS @@ -103742,9 +103000,9 @@ cNW aaa aaa aaa -gJg -gJg -adO +kaq +kaq +eFW aaH gXs aaa @@ -103916,8 +103174,8 @@ alO anf anf arw -ftv -sLr +nuw +uve anf alP awL @@ -104190,7 +103448,7 @@ aIy aJG cAz aFw -iWk +gRZ aPg aQr aFu @@ -104257,10 +103515,10 @@ aaa aaa aaa aaa -jmC -jmC -jmC -jmC +gJi +gJi +gJi +gJi aaa aaa aaa @@ -104427,10 +103685,10 @@ aaa aaa gXs alP -qxc +jkx ayf -nuV -iOV +xAk +mHU aFn aFn aBB @@ -104447,7 +103705,7 @@ aFw aLo aLb aFw -eMQ +xEE aYW aYW aRQ @@ -104681,13 +103939,13 @@ aaa aaa aaa aaa -fzd -fzd -fzd -fzd -tNJ -fzd -fzd +nsA +nsA +nsA +nsA +qVP +nsA +nsA atB alP alP @@ -104704,7 +103962,7 @@ aIz aJM aLa aFw -tGG +hsb aYW aQs aFu @@ -104938,21 +104196,21 @@ aaa aaa aaa aaa -fzd -xdb -mCq -wJz -mHC -tWs -lmi -ghY -sxX -ghY -jBZ +nsA +cQF +ndq +rIA +fBy +hRI +jaH +hHQ +feE +hHQ +kGJ avI asA apE -vHv +dPk aCG aEf aFw @@ -105195,12 +104453,12 @@ aaa aaa aaa aaa -tIk -mCq -mCq -mCq -mCq -pjh +wKe +ndq +ndq +ndq +ndq +oLl asB asB asB @@ -105291,7 +104549,7 @@ cOe cBT aag gXs -jmC +gJi aaa aaa aaa @@ -105452,12 +104710,12 @@ aaa aaa aaa aaa -tIk -mCq -mCq -mCq -mCq -dSv +wKe +ndq +ndq +ndq +ndq +qeb asB atD auJ @@ -105709,12 +104967,12 @@ aaa aaa aaa aaa -fzd -mCq -mCq -mCq -mCq -mCq +nsA +ndq +ndq +ndq +ndq +ndq asB atC auI @@ -105798,7 +105056,7 @@ cNW cNW cNW cOe -qXH +fup csy cko cAf @@ -105966,12 +105224,12 @@ aaa aaa aaa aaa -tIk -mCq -mCq -mCq -mCq -mCq +wKe +ndq +ndq +ndq +ndq +ndq asB atE auI @@ -106223,18 +105481,18 @@ aaa aaa aaa aaa -tIk -mCq -mCq -mCq -mCq -mCq +wKe +ndq +ndq +ndq +ndq +ndq asB asB asB avL awR -hRT +hiV azu aAz asB @@ -106308,7 +105566,7 @@ cgp chv ciJ cbf -lLI +diq clr bnt cOe @@ -106480,12 +105738,12 @@ aaa aaa aaa aaa -fzd -wXP -mCq -nXa -mCq -nyH +nsA +lGV +ndq +pou +ndq +srG asB atG auL @@ -106737,12 +105995,12 @@ aaa aaa aaa aaa -fzd -fzd -fzd -fzd -fzd -fzd +nsA +nsA +nsA +nsA +nsA +nsA asB atF auK @@ -106826,7 +106084,7 @@ cNW clt cQw cNW -abG +mJo cNW cNW aaf @@ -107028,9 +106286,9 @@ aXB aZh baB aCR -riB +kYk bdx -dfI +vHT bgc bgc biX @@ -107082,7 +106340,7 @@ aaa cOT clt cQw -aaO +oEZ cOe cOe cNW @@ -107339,18 +106597,18 @@ aaa cOT clt cQw -aaQ +ttL cOe cOe cNW aaa -jzi -jzi -jzi -jzi -jzi -jzi -jzi +fIs +fIs +fIs +fIs +fIs +fIs +fIs aaS aaS aba @@ -107600,7 +106858,7 @@ bNB cOe cOe cNW -lCL +ktS aaS aaa aaf @@ -107853,7 +107111,7 @@ cNW cNW clt cQw -aaY +cCt cOe cOe cNW @@ -108102,7 +107360,7 @@ cbZ bSl cmo cNW -vOq +lZl cNW chC ciL @@ -109402,17 +108660,17 @@ cpi cpi cpi cqJ -ggg +vZA crk crk crk crk crk -pFt +pTB cqJ -ggg +vZA crk -pFt +pTB cpi cpi ctB @@ -109668,7 +108926,7 @@ crF aaa aaa aaa -hik +vPs aaa aaa aaa @@ -110407,7 +109665,7 @@ cNW cNW cNW cNW -vFt +kAJ clt cac cbh @@ -110673,7 +109931,7 @@ cbf cbf ceT cNW -kCW +dBm chH cNW aaf From 6e969808f3a7103231c4edca4f2c6f0908c10f66 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sat, 8 Feb 2020 00:53:22 -0600 Subject: [PATCH 066/221] capitalization is FUN! --- code/modules/pool/pool_structures.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_structures.dm b/code/modules/pool/pool_structures.dm index 0bf74bb2ee..92350abf44 100644 --- a/code/modules/pool/pool_structures.dm +++ b/code/modules/pool/pool_structures.dm @@ -74,7 +74,7 @@ jumper.pixel_x = 3 jumper.pixel_y = 7 jumper.dir = WEST - jumper.Addelement(/datum/element/swimming) + jumper.AddElement(/datum/element/swimming) sleep(1) jumper.forceMove(T) addtimer(CALLBACK(src, .proc/dive, jumper, original_layer, original_px, original_py), 10) From c434382d6d39aa19a08853d4493a7106c97eabc5 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sat, 8 Feb 2020 01:20:50 -0600 Subject: [PATCH 067/221] fixes map conflicts on this pr for the (3rd? 4th? I've lost count.) time. --- _maps/map_files/BoxStation/BoxStation.dmm | 1207 ++++++++++++++++----- tgstation.dme | 2 +- 2 files changed, 951 insertions(+), 258 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index a630c54b6e..b879a30197 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3984,7 +3984,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aiA" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/fore/secondary) "aiB" = ( @@ -6145,11 +6150,8 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anE" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - req_access_txt = "13" +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -6157,11 +6159,16 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "anG" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/fitness/pool"; + name = "Pool APC"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "anH" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -6317,7 +6324,7 @@ dir = 10 }, /turf/closed/wall, -/area/maintenance/fore/secondary) +/area/crew_quarters/fitness/pool) "aof" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -7145,14 +7152,16 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "aqs" = ( -/obj/machinery/door/airlock{ - id_tag = "Room Two"; - name = "Room Seven - Luxury Suite" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "aqu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -13017,6 +13026,10 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) +"aGp" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "aGq" = ( /obj/item/stack/sheet/plasteel{ amount = 10 @@ -23223,6 +23236,12 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) +"bgx" = ( +/obj/machinery/pool/filter{ + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "bgy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -52170,6 +52189,12 @@ }, /turf/closed/wall/r_wall, /area/engine/engineering) +"cDM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cDN" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 @@ -52194,6 +52219,10 @@ /obj/structure/closet/boxinggloves, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"cFI" = ( +/obj/structure/pool/ladder, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "cGz" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -52534,6 +52563,12 @@ /obj/structure/sign/poster/official/cohiba_robusto_ad, /turf/closed/wall, /area/lawoffice) +"cMv" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cMC" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -52786,6 +52821,9 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"cRS" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "cSA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53199,6 +53237,9 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"cYa" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "daI" = ( /obj/structure/reagent_dispensers/foamtank, /obj/effect/turf_decal/tile/yellow{ @@ -53227,6 +53268,14 @@ /obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"ddy" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "dev" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53248,6 +53297,11 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"deZ" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "dfh" = ( /obj/machinery/power/apc{ areastring = "/area/science/circuit"; @@ -53297,13 +53351,8 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/central) "dqb" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dqu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, @@ -53384,6 +53433,11 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel, /area/security/prison) +"dFj" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "dKP" = ( /turf/closed/wall, /area/maintenance/bar) @@ -53407,6 +53461,9 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"dPh" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dPk" = ( /obj/structure/closet{ name = "Costume Closet" @@ -53433,6 +53490,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"dUu" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dVU" = ( /turf/open/floor/plating, /area/space/nearstation) @@ -53446,6 +53506,9 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"dZA" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eaI" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -53462,6 +53525,9 @@ }, /turf/open/space, /area/solar/starboard/fore) +"edu" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "edA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53503,6 +53569,12 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"enm" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "enB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -53531,12 +53603,22 @@ /obj/item/assembly/signaler, /turf/open/floor/plating, /area/security/prison) +"eqv" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "eqA" = ( /obj/machinery/shower{ dir = 8 }, /turf/open/floor/plasteel/freezer, /area/security/prison) +"erC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "esZ" = ( /obj/machinery/door/airlock{ desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; @@ -53575,12 +53657,39 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"eyX" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "eAJ" = ( /obj/structure/chair{ dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"eBg" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) +"eBj" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"eBs" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "eBX" = ( /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, @@ -53657,6 +53766,11 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"ePU" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "eQb" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) @@ -53688,6 +53802,22 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"eXn" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "fcn" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -53744,6 +53874,15 @@ /obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"fkb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"fkK" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "flc" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -53861,10 +54000,20 @@ "fxV" = ( /turf/closed/wall/r_wall, /area/hallway/primary/central) +"fyM" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fzd" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hydroponics) +"fzi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fAj" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -53893,6 +54042,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"fCK" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fFA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -53909,6 +54061,11 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"fGM" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "fHG" = ( /turf/open/floor/plasteel, /area/crew_quarters/fitness) @@ -53922,14 +54079,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/science/circuit) +"fMg" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "fMZ" = ( -/obj/item/radio/intercom{ - dir = 4; - name = "Station Intercom (General)"; - pixel_x = 27 +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "fOA" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -53963,6 +54120,11 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"fXd" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "fZm" = ( /obj/structure/chair/sofa/left, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -54050,9 +54212,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"giB" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "gjl" = ( /turf/closed/wall, /area/quartermaster/warehouse) +"gkz" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"glI" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "gnf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54072,6 +54250,9 @@ }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) +"grr" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "grA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -54114,6 +54295,12 @@ /obj/structure/curtain, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"gBg" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"gBj" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gBo" = ( /obj/structure/cable{ icon_state = "1-8" @@ -54128,6 +54315,11 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) +"gDR" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "gIU" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -54165,6 +54357,11 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room) +"gOj" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "gOZ" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -54217,6 +54414,9 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"gXw" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "gZG" = ( /obj/structure/closet/crate/freezer/surplus_limbs, /obj/item/reagent_containers/glass/beaker/synthflesh, @@ -54245,6 +54445,9 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"hbh" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "hcb" = ( /turf/open/floor/carpet, /area/crew_quarters/theatre) @@ -54281,6 +54484,11 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/department/electrical) +"hky" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "hlV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54320,6 +54528,9 @@ }, /turf/open/floor/plating, /area/space/nearstation) +"hzU" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "hBA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -54358,6 +54569,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"hOk" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "hOv" = ( /obj/structure/table/wood/fancy, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -54415,6 +54631,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"iaL" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "idK" = ( /obj/structure/cable{ icon_state = "1-4" @@ -54459,6 +54678,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"ikL" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"ilb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "imH" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -54473,9 +54701,13 @@ }, /area/crew_quarters/theatre) "iou" = ( -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ipA" = ( /turf/open/floor/plating, /area/maintenance/department/medical/morgue) @@ -54552,6 +54784,10 @@ }, /turf/open/space/basic, /area/space) +"iEd" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "iEJ" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One" @@ -54567,6 +54803,9 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"iMO" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "iNn" = ( /obj/machinery/camera{ c_tag = "Kitchen Cold Room" @@ -54575,6 +54814,9 @@ /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) +"iPG" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "iTq" = ( /obj/structure/chair/stool{ pixel_y = 8 @@ -54590,6 +54832,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"iVN" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "iVU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -54660,6 +54905,16 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"jgV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"jhD" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "jjC" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, @@ -54702,6 +54957,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"jog" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "jqv" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -54798,6 +55061,9 @@ dir = 1 }, /area/crew_quarters/fitness) +"jFm" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jFH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -54878,25 +55144,21 @@ /turf/open/floor/plasteel, /area/engine/engine_smes) "jLT" = ( -/obj/machinery/button/door{ - id = "Room Two"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -24; - specialfunctions = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jRw" = ( /obj/machinery/computer/arcade/minesweeper{ dir = 4 }, /turf/open/floor/plasteel, /area/security/prison) +"jRz" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jSO" = ( /obj/machinery/light{ dir = 4 @@ -54906,6 +55168,9 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"jTy" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54915,6 +55180,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"jYk" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "jZT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -54991,11 +55262,9 @@ /turf/open/floor/plasteel, /area/hallway/secondary/service) "khB" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/door/airlock/maintenance{ + name = "Pool Maintenance"; + req_access_txt = "12" }, /turf/open/floor/plating, /area/maintenance/fore/secondary) @@ -55058,10 +55327,21 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"kpO" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kqI" = ( /obj/structure/window, /turf/open/floor/wood, /area/crew_quarters/bar) +"kqK" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "ktP" = ( /obj/machinery/power/smes{ charge = 5e+006 @@ -55092,6 +55372,9 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room) +"kwY" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kxf" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -55109,6 +55392,9 @@ dir = 4 }, /area/crew_quarters/fitness) +"kyz" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "kyF" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/wood, @@ -55225,12 +55511,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"kTZ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kWp" = ( /obj/structure/shuttle/engine/heater{ dir = 1 }, /turf/closed/wall/mineral/titanium, /area/space/nearstation) +"kWB" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kYk" = ( /obj/machinery/door/firedoor, /obj/structure/sign/departments/evac{ @@ -55238,6 +55530,14 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"lao" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "laq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, @@ -55321,24 +55621,40 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"lHe" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "lMg" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/science/circuit) +"lMu" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "lOe" = ( -/obj/machinery/shower{ - dir = 8 +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/area/crew_quarters/fitness/pool) "lPr" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "applebush" }, /turf/open/floor/plasteel, /area/hallway/primary/port) +"lQr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "lQG" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -55356,13 +55672,6 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "lXE" = ( -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 5; - icon_state = "roomnum"; - name = "Room Number 7"; - pixel_y = 24 - }, /obj/structure/chair/sofa/right, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55401,6 +55710,9 @@ /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, /area/crew_quarters/bar) +"mjL" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "mkv" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Room"; @@ -55460,12 +55772,20 @@ /turf/open/floor/wood, /area/maintenance/bar) "mse" = ( -/obj/machinery/airalarm{ - pixel_y = 23 +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -24 }, -/obj/structure/chair/sofa/left, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"mtr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "Pool East"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "mvt" = ( /obj/machinery/airalarm{ dir = 1; @@ -55473,6 +55793,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"mwT" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "myh" = ( /obj/structure/piano, /obj/structure/window/reinforced, @@ -55487,6 +55812,9 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"mzR" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "mAH" = ( /obj/machinery/atmospherics/components/unary/tank/air{ dir = 8 @@ -55507,6 +55835,20 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"mIg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"mIR" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mIZ" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -55605,6 +55947,14 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"mPz" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mPE" = ( /obj/machinery/chem_dispenser/drinks, /obj/structure/table/wood, @@ -55646,6 +55996,16 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"mVB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"mZJ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nbT" = ( /obj/structure/cable{ icon_state = "0-8" @@ -55668,6 +56028,14 @@ /obj/item/instrument/piano_synth, /turf/open/floor/wood, /area/crew_quarters/theatre) +"nfj" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "nfm" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/wood, @@ -55723,6 +56091,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"nvN" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "nwX" = ( /obj/structure/grille/broken, /turf/open/floor/plating/airless, @@ -55738,6 +56114,9 @@ }, /turf/open/floor/plating, /area/construction) +"nBS" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "nGf" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/light{ @@ -55813,6 +56192,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"nTF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nUV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55823,6 +56205,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"nXZ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nYe" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, @@ -55873,9 +56258,8 @@ /turf/open/floor/wood, /area/crew_quarters/bar) "obc" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oce" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -55896,12 +56280,27 @@ /obj/machinery/vending/kink, /turf/open/floor/plating, /area/maintenance/bar) +"oeE" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "ofU" = ( /obj/structure/chair/comfy/black{ dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"oiP" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "old" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -55916,6 +56315,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"omt" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "omY" = ( /obj/item/flashlight/lamp/green{ pixel_x = -3; @@ -55928,6 +56333,14 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"opx" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "oqj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -56019,6 +56432,12 @@ /obj/structure/fireplace, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"oBi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"oCK" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oDN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -56034,6 +56453,9 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"oGU" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oHB" = ( /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) @@ -56064,6 +56486,9 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"oKR" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "oLl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56404,17 +56829,46 @@ /obj/effect/spawner/structure/window, /turf/open/floor/wood, /area/library) +"qie" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"qiC" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "qje" = ( /obj/structure/sign/mining{ pixel_y = 7 }, /turf/closed/wall, /area/quartermaster/miningdock) +"qkh" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) +"qlq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "qmn" = ( /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/table, /turf/open/floor/plasteel, /area/security/prison) +"qmX" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "qqs" = ( /obj/structure/mirror{ pixel_y = 32 @@ -56425,6 +56879,9 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"qtZ" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "qus" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -56443,16 +56900,15 @@ /turf/open/space/basic, /area/space/nearstation) "qAm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qBi" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) +"qDJ" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qIw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56466,6 +56922,16 @@ }, /turf/open/space, /area/solar/port/aft) +"qJU" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"qLL" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qLR" = ( /obj/structure/mirror{ pixel_y = 32 @@ -56499,6 +56965,9 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) +"qSb" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qTG" = ( /obj/machinery/light{ dir = 8 @@ -56547,14 +57016,33 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"rfr" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "rfW" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) +"rik" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "rjQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/theatre) +"rlx" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "rmN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -56582,6 +57070,12 @@ }, /turf/open/space/basic, /area/space/nearstation) +"rpl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rqf" = ( /obj/machinery/light{ dir = 1 @@ -56699,6 +57193,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"rAB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rBq" = ( /obj/item/clothing/head/kitty, /obj/item/clothing/under/maid, @@ -56716,6 +57215,11 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"rHe" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/red, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rIA" = ( /obj/machinery/light{ dir = 8 @@ -56755,6 +57259,14 @@ dir = 4 }, /area/crew_quarters/theatre) +"rQq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rTu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56813,6 +57325,9 @@ dir = 4 }, /area/crew_quarters/fitness) +"scx" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "seP" = ( /obj/structure/cable{ icon_state = "0-4" @@ -56875,6 +57390,9 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"srJ" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "ssB" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -56887,6 +57405,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"stv" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "sxs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/table, @@ -57081,6 +57604,10 @@ /obj/structure/chair/office/light, /turf/open/floor/plasteel/white, /area/science/circuit) +"sUM" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "sWR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57309,6 +57836,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"tKR" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "tMl" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/plasteel/showroomfloor, @@ -57346,6 +57878,10 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"tWb" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "tWj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4; @@ -57359,6 +57895,9 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"tYO" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tZe" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/poster/official/pda_ad{ @@ -57366,6 +57905,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"tZp" = ( +/obj/structure/pool/ladder{ + dir = 1; + pixel_y = -24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uaj" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -57428,6 +57974,9 @@ dir = 4 }, /area/crew_quarters/fitness) +"ufG" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "ugu" = ( /obj/structure/cable{ icon_state = "1-4" @@ -57453,10 +58002,10 @@ /area/crew_quarters/cryopod) "ujS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 + dir = 10 }, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "unA" = ( /obj/machinery/light{ dir = 8 @@ -57568,6 +58117,13 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"uGB" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "uGI" = ( /turf/open/floor/grass, /area/security/prison) @@ -57666,6 +58222,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"uXr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vae" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57725,6 +58291,9 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"vgo" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vhb" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -57822,6 +58391,12 @@ }, /turf/open/floor/wood, /area/library) +"vvc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "vxh" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -57830,6 +58405,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"vxW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "vyp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, @@ -57850,6 +58431,12 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"vAW" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "vBa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -57926,6 +58513,9 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"vGJ" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "vHj" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenics " @@ -57973,6 +58563,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"vOO" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "vPs" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -57986,6 +58581,14 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"vST" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "vZA" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -57997,6 +58600,16 @@ }, /turf/open/floor/wood, /area/library) +"waB" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wbE" = ( /obj/effect/turf_decal/tile/blue{ alpha = 255 @@ -58022,6 +58635,15 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) +"wdn" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "wdv" = ( /obj/structure/fans/tiny/invisible, /turf/open/space/basic, @@ -58036,18 +58658,22 @@ /turf/open/floor/plating, /area/maintenance/bar) "wig" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - on = 0; - pixel_x = -7; - pixel_y = 12 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wkN" = ( /turf/closed/wall, /area/science/circuit) +"wmd" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58098,6 +58724,10 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"wsf" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wvX" = ( /obj/structure/table/reinforced, /obj/machinery/light, @@ -58141,6 +58771,27 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"wMw" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"wRp" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) +"wTe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/table/glass, +/obj/structure/bedsheetbin/towel, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wTf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -58182,24 +58833,25 @@ /turf/open/floor/plasteel/white, /area/science/robotics/lab) "wXl" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/obj/structure/toilet{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/machinery/camera{ + c_tag = "Pool West"; dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wYc" = ( /obj/machinery/vr_sleeper{ dir = 8 }, /turf/open/floor/plasteel, /area/security/prison) +"wYI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wZI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -58366,6 +59018,19 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"xrT" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"xsJ" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "xtP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -58384,6 +59049,12 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"xyV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "xzd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -58471,11 +59142,27 @@ /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/carpet, /area/library) +"xHg" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"xHX" = ( +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"xIu" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"xKs" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "xLX" = ( /obj/structure/lattice/catwalk, /obj/item/stack/marker_beacon{ @@ -58489,6 +59176,9 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xOw" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "xOx" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; @@ -58526,6 +59216,9 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) +"xSS" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xTy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -93141,7 +93834,7 @@ aif aif aif aif -aif +qlq bkV jKP alK @@ -93393,12 +94086,12 @@ abp abp uhm ahn -aiA -aiA +ahn aiA ahn +ahn oLn -anF +vxW aod ahn apx @@ -93650,12 +94343,12 @@ wdv abp nQi ahn -aaa -aaf -aaf +ahn +vAW ahn ahn -anE +rik +vxW aod aoK oyX @@ -93907,11 +94600,11 @@ aaa adR ahn ahn -aaa -aaa -aaa -aaf ahn +wdn +ahn +ahn +rik anG aoe aoL @@ -94164,13 +94857,13 @@ aaa gXs aaa aaa -aaa -aaa -aaa -aaa +gJi +gJi +gJi +ahn ahn khB -ahn +xIu ahn ahn ahn @@ -94424,17 +95117,17 @@ aaa aaa aaa aaa -aaa -aag -aag -aag -arf +xIu +waB +gBj +cMv +uGB wXl iou -arf -eSe +rQq +mVB wig -vyp +ilb rrM clO asZ @@ -94681,17 +95374,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -lOe -pgf -gzf -eQb +nvN +rHe +xHX +deZ +deZ +deZ +deZ +deZ +fXd jLT -arf +erC arm fHG aya @@ -94938,15 +95631,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -arf -arf -arf -arf -oAB +nvN +hky +cRS +bgx +fkK +cFI +fkK +fkK +eBg ujS aqs coh @@ -95195,17 +95888,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -obc -eQb -qAm -arf +nvN +dFj +cRS +fkK +fkK +fkK +fkK +fkK +eBg +gBj +uXr lXE pFX mOO @@ -95452,17 +96145,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -arf -mse -fMZ -dqb -arf +xIu +omt +cRS +fyM +fkK +fkK +fkK +tZp +eBg +gBj +erC xzd sJI jJg @@ -95709,17 +96402,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aae -aaa -aaa -arf -arf -arf -arf -arf +nvN +gBj +cRS +fkK +fkK +fkK +fkK +fkK +eBg +cDM +vvc fZm jmV epD @@ -95966,16 +96659,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs +nvN +gBj +aGp +fkK +fkK +jRz +fkK +fkK +eBg +wYI ewu pQp pQp @@ -96223,16 +96916,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs +nvN +gBj +cRS +fkK +fkK +fkK +fkK +fkK +eBg +wYI aqu aro aro @@ -96480,16 +97173,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa +xIu +eBs +cRS +fyM +fkK +fkK +fkK +tZp +eBg +wYI aqu aro aro @@ -96737,16 +97430,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa +nvN +tWb +cRS +fkK +fkK +fkK +fkK +fkK +eBg +wYI aqu aro aro @@ -96994,16 +97687,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa +nvN +enm +cRS +fkK +fkK +eqv +fkK +fkK +eBg +wYI aqu aro aro @@ -97251,16 +97944,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -gXs -gXs -aaa -aaa -aaa -aaa +nvN +qLL +fGM +hOk +hOk +jYk +hOk +hOk +xsJ +lao aqu aro aro @@ -97508,16 +98201,16 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaf -aaf -aaa -aaa -aaa -aaa -aaa +xIu +eXn +wsf +wsf +wsf +mtr +qie +qie +qie +wTe vmQ pQp pQp @@ -97764,18 +98457,18 @@ aaS aaS aaS aaS -aaS -aaS -aaS -aaf -aaf -aaa -aaa -aaa -aaa -aaa -aaa aaa +xIu +xIu +nvN +nvN +nvN +xIu +nvN +nvN +nvN +xIu +xIu aaa aaa arj @@ -98021,10 +98714,10 @@ aaf aaa aaf aaa -aaf aaa -aaS -aaf +aaa +aaa +aaa aaa aaa aaa @@ -98280,7 +98973,7 @@ ads adS aeG aaa -aaS +gXs aaa aaa aaa diff --git a/tgstation.dme b/tgstation.dme index ac2ad678a0..fd2b8f35f6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -489,8 +489,8 @@ #include "code\datums\elements\dusts_on_leaving_area.dm" #include "code\datums\elements\earhealing.dm" #include "code\datums\elements\ghost_role_eligibility.dm" -#include "code\datums\elements\swimming.dm" #include "code\datums\elements\mob_holder.dm" +#include "code\datums\elements\swimming.dm" #include "code\datums\elements\wuv.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" From 8643b0103e73c257fa9895b4a37b4c2a02578141 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Sat, 8 Feb 2020 01:23:08 -0600 Subject: [PATCH 068/221] fucking MAGIC FLOATING LIGHTS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --- _maps/map_files/BoxStation/BoxStation.dmm | 1632 ++++++++++----------- 1 file changed, 816 insertions(+), 816 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index b879a30197..48398f1b48 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -10307,6 +10307,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"azm" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "azo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -13026,10 +13031,6 @@ }, /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) -"aGp" = ( -/obj/machinery/pool/controller, -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "aGq" = ( /obj/item/stack/sheet/plasteel{ amount = 10 @@ -23236,12 +23237,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"bgx" = ( -/obj/machinery/pool/filter{ - pixel_y = 24 - }, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "bgy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -44027,6 +44022,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/misc_lab) +"ccS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "ccT" = ( /obj/machinery/light{ dir = 4 @@ -48201,6 +48202,9 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel, /area/security/brig) +"con" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "cop" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 1 @@ -52190,10 +52194,12 @@ /turf/closed/wall/r_wall, /area/engine/engineering) "cDM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" }, -/turf/open/floor/plasteel, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/crew_quarters/fitness/pool) "cDN" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -52219,10 +52225,6 @@ /obj/structure/closet/boxinggloves, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"cFI" = ( -/obj/structure/pool/ladder, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "cGz" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -52563,12 +52565,6 @@ /obj/structure/sign/poster/official/cohiba_robusto_ad, /turf/closed/wall, /area/lawoffice) -"cMv" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "cMC" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -52821,9 +52817,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"cRS" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "cSA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -53230,6 +53223,11 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"cVU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "cXU" = ( /obj/effect/turf_decal/tile/red, /obj/machinery/light{ @@ -53237,7 +53235,7 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) -"cYa" = ( +"cYG" = ( /turf/open/pool, /area/crew_quarters/fitness/pool) "daI" = ( @@ -53268,14 +53266,6 @@ /obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ddy" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "dev" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53297,11 +53287,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"deZ" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) "dfh" = ( /obj/machinery/power/apc{ areastring = "/area/science/circuit"; @@ -53337,6 +53322,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"diM" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dly" = ( /obj/machinery/door/window/southright{ name = "Target Storage" @@ -53417,6 +53405,12 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"dCr" = ( +/obj/structure/pool/Rboard, +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "dCV" = ( /obj/structure/table, /obj/structure/cable{ @@ -53433,10 +53427,16 @@ /obj/item/gun/energy/laser/practice, /turf/open/floor/plasteel, /area/security/prison) -"dFj" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/toy/poolnoodle/yellow, -/turf/open/floor/plasteel, +"dFX" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"dGN" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/crew_quarters/fitness/pool) "dKP" = ( /turf/closed/wall, @@ -53461,8 +53461,8 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) -"dPh" = ( -/turf/open/pool, +"dOr" = ( +/turf/closed/wall, /area/crew_quarters/fitness/pool) "dPk" = ( /obj/structure/closet{ @@ -53490,12 +53490,12 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) -"dUu" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "dVU" = ( /turf/open/floor/plating, /area/space/nearstation) +"dXo" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "dXq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -53506,9 +53506,6 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"dZA" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "eaI" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -53525,8 +53522,18 @@ }, /turf/open/space, /area/solar/starboard/fore) -"edu" = ( -/turf/closed/wall, +"ebT" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"ecg" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 4 + }, /area/crew_quarters/fitness/pool) "edA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -53563,18 +53570,15 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"ekE" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "elh" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/bar) -"enm" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "enB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -53603,21 +53607,14 @@ /obj/item/assembly/signaler, /turf/open/floor/plating, /area/security/prison) -"eqv" = ( -/obj/structure/pool/Lboard, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "eqA" = ( /obj/machinery/shower{ dir = 8 }, /turf/open/floor/plasteel/freezer, /area/security/prison) -"erC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, +"esx" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "esZ" = ( /obj/machinery/door/airlock{ @@ -53657,39 +53654,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/quartermaster/miningdock) -"eyX" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "eAJ" = ( /obj/structure/chair{ dir = 4 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"eBg" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) -"eBj" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"eBs" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "PoolShut"; - name = "Pool Shutters"; - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "eBX" = ( /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, @@ -53766,11 +53736,17 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"ePU" = ( -/turf/open/floor/plasteel/yellowsiding{ +"eMs" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/machinery/light/small{ dir = 4 }, -/area/crew_quarters/fitness/pool) +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "eQb" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) @@ -53792,6 +53768,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/crew_quarters/cryopod) +"eVJ" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "eVL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/light_switch{ @@ -53802,22 +53783,6 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) -"eXn" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/yellow, -/obj/machinery/button/door{ - id = "PoolShut"; - name = "Pool Shutters"; - pixel_y = 24 - }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "fcn" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -53849,6 +53814,11 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"ffy" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "fgG" = ( /obj/structure/table/wood, /obj/machinery/requests_console{ @@ -53874,15 +53844,6 @@ /obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"fkb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"fkK" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "flc" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -53931,6 +53892,17 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) +"fpz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "fpI" = ( /obj/machinery/light{ dir = 1 @@ -54000,10 +53972,10 @@ "fxV" = ( /turf/closed/wall/r_wall, /area/hallway/primary/central) -"fyM" = ( +"fyS" = ( /obj/structure/pool/ladder{ - dir = 2; - pixel_y = 24 + dir = 1; + pixel_y = -24 }, /turf/open/pool, /area/crew_quarters/fitness/pool) @@ -54011,9 +53983,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hydroponics) -"fzi" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "fAj" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -54042,9 +54011,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"fCK" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "fFA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -54061,14 +54027,14 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"fGM" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "fHG" = ( /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"fIq" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "fIs" = ( /obj/structure/grille, /obj/structure/lattice, @@ -54079,8 +54045,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/science/circuit) -"fMg" = ( -/turf/open/pool, +"fKF" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"fKZ" = ( +/turf/closed/wall, /area/crew_quarters/fitness/pool) "fMZ" = ( /turf/open/floor/plasteel/yellowsiding{ @@ -54120,11 +54089,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"fXd" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) "fZm" = ( /obj/structure/chair/sofa/left, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -54178,6 +54142,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"geH" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "gfr" = ( /obj/structure/bed, /turf/open/floor/plating, @@ -54212,25 +54184,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"giB" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "gjl" = ( /turf/closed/wall, /area/quartermaster/warehouse) -"gkz" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"glI" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "gnf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54240,6 +54196,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"gni" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"gob" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "gpD" = ( /obj/machinery/light_switch{ pixel_y = 28 @@ -54250,9 +54215,14 @@ }, /turf/open/floor/circuit, /area/ai_monitored/nuke_storage) -"grr" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) +"grc" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "grA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -54263,6 +54233,9 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) +"gvX" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "gwd" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54295,12 +54268,6 @@ /obj/structure/curtain, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) -"gBg" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"gBj" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "gBo" = ( /obj/structure/cable{ icon_state = "1-8" @@ -54315,11 +54282,6 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) -"gDR" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "gIU" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -54346,6 +54308,14 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"gMV" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "gNC" = ( /obj/structure/cable{ icon_state = "1-2" @@ -54357,11 +54327,6 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room) -"gOj" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "gOZ" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -54414,9 +54379,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"gXw" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "gZG" = ( /obj/structure/closet/crate/freezer/surplus_limbs, /obj/item/reagent_containers/glass/beaker/synthflesh, @@ -54445,9 +54407,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"hbh" = ( -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "hcb" = ( /turf/open/floor/carpet, /area/crew_quarters/theatre) @@ -54484,11 +54443,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/department/electrical) -"hky" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/toy/poolnoodle/blue, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "hlV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54528,8 +54482,16 @@ }, /turf/open/floor/plating, /area/space/nearstation) -"hzU" = ( -/turf/open/pool, +"hul" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"hzK" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 1 + }, /area/crew_quarters/fitness/pool) "hBA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -54569,11 +54531,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"hOk" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "hOv" = ( /obj/structure/table/wood/fancy, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -54631,9 +54588,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"iaL" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "idK" = ( /obj/structure/cable{ icon_state = "1-4" @@ -54678,19 +54632,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"ikL" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"ilb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "imH" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/maintenance/bar) +"inO" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "inR" = ( /obj/structure/chair/stool{ pixel_y = 8 @@ -54754,6 +54704,9 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"iwv" = ( +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "iwB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -54768,6 +54721,18 @@ }, /turf/open/floor/wood, /area/maintenance/bar) +"iAv" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"iBv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"iBU" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "iDo" = ( /obj/structure/grille, /turf/open/space/basic, @@ -54784,10 +54749,6 @@ }, /turf/open/space/basic, /area/space) -"iEd" = ( -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "iEJ" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One" @@ -54803,8 +54764,20 @@ }, /turf/closed/wall/r_wall, /area/engine/gravity_generator) -"iMO" = ( -/turf/closed/wall, +"iMv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/table/glass, +/obj/structure/bedsheetbin/towel, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) "iNn" = ( /obj/machinery/camera{ @@ -54814,8 +54787,13 @@ /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) -"iPG" = ( -/turf/open/pool, +"iOe" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/crew_quarters/fitness/pool) "iTq" = ( /obj/structure/chair/stool{ @@ -54832,9 +54810,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"iVN" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "iVU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -54849,6 +54824,19 @@ /obj/item/coin/silver, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"iYE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"iYY" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "jaF" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/components/unary/tank/air{ @@ -54905,16 +54893,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"jgV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"jhD" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "jjC" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, @@ -54957,14 +54935,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"jog" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "jqv" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -54991,6 +54961,12 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) +"juP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jvd" = ( /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, @@ -55002,6 +54978,12 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/maintenance/port) +"jzi" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"jzF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "jAD" = ( /obj/structure/grille, /turf/open/floor/plating/airless, @@ -55061,9 +55043,6 @@ dir = 1 }, /area/crew_quarters/fitness) -"jFm" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jFH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -55149,16 +55128,23 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) +"jMW" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "jRw" = ( /obj/machinery/computer/arcade/minesweeper{ dir = 4 }, /turf/open/floor/plasteel, /area/security/prison) -"jRz" = ( -/obj/machinery/pool/drain, -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jSO" = ( /obj/machinery/light{ dir = 4 @@ -55168,9 +55154,6 @@ }, /turf/open/floor/plasteel, /area/science/circuit) -"jTy" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55180,11 +55163,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"jYk" = ( -/obj/structure/pool/Rboard, -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 +"jWJ" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/crew_quarters/fitness/pool) "jZT" = ( /obj/structure/cable{ @@ -55198,6 +55183,18 @@ "kaq" = ( /turf/closed/wall/mineral/titanium, /area/space/nearstation) +"kcB" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) +"kdO" = ( +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "kdP" = ( /obj/structure/cable{ icon_state = "2-8" @@ -55327,21 +55324,10 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"kpO" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "kqI" = ( /obj/structure/window, /turf/open/floor/wood, /area/crew_quarters/bar) -"kqK" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "ktP" = ( /obj/machinery/power/smes{ charge = 5e+006 @@ -55372,9 +55358,6 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room) -"kwY" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "kxf" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -55392,9 +55375,6 @@ dir = 4 }, /area/crew_quarters/fitness) -"kyz" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "kyF" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/wood, @@ -55403,6 +55383,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall/r_wall, /area/science/mixing) +"kzV" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "kAH" = ( /obj/machinery/camera{ c_tag = "Bar West"; @@ -55461,6 +55444,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"kLk" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "kMt" = ( /obj/structure/lattice, /turf/closed/wall, @@ -55480,6 +55471,11 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"kNN" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) "kPd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/structure/cable{ @@ -55511,8 +55507,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningdock) -"kTZ" = ( -/turf/open/pool, +"kSu" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, /area/crew_quarters/fitness/pool) "kWp" = ( /obj/structure/shuttle/engine/heater{ @@ -55520,9 +55518,6 @@ }, /turf/closed/wall/mineral/titanium, /area/space/nearstation) -"kWB" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "kYk" = ( /obj/machinery/door/firedoor, /obj/structure/sign/departments/evac{ @@ -55530,13 +55525,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"lao" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel, +"kZa" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"kZw" = ( +/turf/open/floor/plasteel/yellowsiding, /area/crew_quarters/fitness/pool) "laq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -55567,6 +55560,12 @@ /obj/item/clothing/under/lawyer/red, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"lnk" = ( +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "lnu" = ( /obj/structure/chair/wood/normal{ dir = 4 @@ -55597,11 +55596,29 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"lvU" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"lwb" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "lyR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) +"lzC" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "lAB" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, @@ -55612,6 +55629,12 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) +"lCo" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "lGV" = ( /obj/machinery/button/door{ id = "maintdiy"; @@ -55621,23 +55644,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"lHe" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "lMg" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, /area/science/circuit) -"lMu" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "lOe" = ( /turf/open/floor/plasteel/yellowsiding{ dir = 4 @@ -55649,12 +55661,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"lQr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "lQG" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -55665,6 +55671,9 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) +"lSk" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "lUS" = ( /obj/structure/table/wood/fancy/black, /obj/machinery/light/small, @@ -55686,6 +55695,12 @@ /obj/item/coin/gold, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"lZK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "mbU" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -55706,13 +55721,36 @@ /obj/item/target/syndicate, /turf/open/floor/plating, /area/security/prison) +"mcA" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) +"meb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"mgF" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"miN" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "mjr" = ( /obj/structure/reagent_dispensers/keg/milk, /turf/open/floor/wood, /area/crew_quarters/bar) -"mjL" = ( +"mjw" = ( /turf/open/floor/plasteel/yellowsiding, /area/crew_quarters/fitness/pool) +"mko" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "mkv" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Room"; @@ -55778,14 +55816,6 @@ }, /turf/open/pool, /area/crew_quarters/fitness/pool) -"mtr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/machinery/camera{ - c_tag = "Pool East"; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "mvt" = ( /obj/machinery/airalarm{ dir = 1; @@ -55793,10 +55823,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"mwT" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 +"mwU" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/crew_quarters/fitness/pool) "myh" = ( /obj/structure/piano, @@ -55812,9 +55845,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"mzR" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "mAH" = ( /obj/machinery/atmospherics/components/unary/tank/air{ dir = 8 @@ -55835,20 +55865,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"mIg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"mIR" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "mIZ" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -55947,14 +55963,6 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"mPz" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "mPE" = ( /obj/machinery/chem_dispenser/drinks, /obj/structure/table/wood, @@ -55996,15 +56004,8 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"mVB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"mZJ" = ( -/turf/open/pool, +"mWU" = ( +/turf/open/floor/plasteel/yellowsiding, /area/crew_quarters/fitness/pool) "nbT" = ( /obj/structure/cable{ @@ -56028,14 +56029,6 @@ /obj/item/instrument/piano_synth, /turf/open/floor/wood, /area/crew_quarters/theatre) -"nfj" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "nfm" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/wood, @@ -56059,6 +56052,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"nji" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "nkP" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -56083,6 +56079,9 @@ "nsA" = ( /turf/closed/wall, /area/crew_quarters/abandoned_gambling_den) +"ntF" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "nuw" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -56091,14 +56090,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"nvN" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "nwX" = ( /obj/structure/grille/broken, /turf/open/floor/plating/airless, @@ -56114,8 +56105,8 @@ }, /turf/open/floor/plating, /area/construction) -"nBS" = ( -/turf/open/floor/plasteel, +"nFm" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "nGf" = ( /obj/machinery/hydroponics/constructable, @@ -56192,9 +56183,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"nTF" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "nUV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56205,9 +56193,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"nXZ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "nYe" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, @@ -56260,6 +56245,9 @@ "obc" = ( /turf/open/pool, /area/crew_quarters/fitness/pool) +"obd" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oce" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -56280,13 +56268,11 @@ /obj/machinery/vending/kink, /turf/open/floor/plating, /area/maintenance/bar) -"oeE" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +"oer" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) +"ofa" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "ofU" = ( /obj/structure/chair/comfy/black{ @@ -56294,13 +56280,20 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"oiP" = ( +"ogc" = ( /obj/structure/pool/ladder{ dir = 2; pixel_y = 24 }, /turf/open/pool, /area/crew_quarters/fitness/pool) +"ohq" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "old" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -56315,12 +56308,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"omt" = ( -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "omY" = ( /obj/item/flashlight/lamp/green{ pixel_x = -3; @@ -56333,14 +56320,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"opx" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "oqj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -56382,6 +56361,9 @@ /obj/effect/spawner/structure/window, /turf/open/floor/grass, /area/crew_quarters/bar) +"oxp" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "oyl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56432,12 +56414,6 @@ /obj/structure/fireplace, /turf/open/floor/carpet, /area/crew_quarters/dorms) -"oBi" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) -"oCK" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "oDN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -56453,8 +56429,10 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"oGU" = ( -/turf/open/pool, +"oFi" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, /area/crew_quarters/fitness/pool) "oHB" = ( /turf/open/floor/plasteel/dark, @@ -56486,9 +56464,6 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"oKR" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "oLl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56499,9 +56474,6 @@ /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) "oLn" = ( -/obj/machinery/light/small{ - dir = 4 - }, /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ lootcount = 2; @@ -56527,6 +56499,13 @@ /obj/machinery/disposal/bin, /turf/open/floor/plasteel/white, /area/science/circuit) +"oVo" = ( +/obj/structure/pool/ladder, +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"oWT" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "oZl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/closet/wardrobe/pjs, @@ -56569,6 +56548,14 @@ }, /turf/open/floor/plating, /area/security/prison) +"pkF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27; + pixel_y = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "plm" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/effect/turf_decal/tile/yellow{ @@ -56664,6 +56651,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"pHa" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "pHl" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -56722,6 +56717,9 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"pNf" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "pPi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56760,6 +56758,15 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) +"pSl" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"pSK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "pTB" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -56796,6 +56803,16 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"qeA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "qeQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56829,46 +56846,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/wood, /area/library) -"qie" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) -"qiC" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "qje" = ( /obj/structure/sign/mining{ pixel_y = 7 }, /turf/closed/wall, /area/quartermaster/miningdock) -"qkh" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"qlq" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "qmn" = ( /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/table, /turf/open/floor/plasteel, /area/security/prison) -"qmX" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 8 - }, -/area/crew_quarters/fitness/pool) "qqs" = ( /obj/structure/mirror{ pixel_y = 32 @@ -56879,9 +56867,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) -"qtZ" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "qus" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -56906,9 +56891,6 @@ /obj/structure/lattice, /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) -"qDJ" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "qIw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -56922,15 +56904,8 @@ }, /turf/open/space, /area/solar/port/aft) -"qJU" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"qLL" = ( -/obj/structure/closet/athletic_mixed, -/obj/item/toy/poolnoodle/red, -/obj/item/toy/poolnoodle/blue, -/obj/item/toy/poolnoodle/yellow, -/turf/open/floor/plasteel, +"qLk" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "qLR" = ( /obj/structure/mirror{ @@ -56965,9 +56940,6 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) -"qSb" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "qTG" = ( /obj/machinery/light{ dir = 8 @@ -56987,6 +56959,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"qWV" = ( +/obj/machinery/pool/filter{ + pixel_y = 24 + }, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "qXg" = ( /obj/structure/chair/sofa/left, /turf/open/floor/plasteel, @@ -57016,33 +56994,25 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"rfr" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "rfW" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"rik" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +"rgW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"rje" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "rjQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/crew_quarters/theatre) -"rlx" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "rmN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -57070,12 +57040,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"rpl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "rqf" = ( /obj/machinery/light{ dir = 1 @@ -57193,11 +57157,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) -"rAB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "rBq" = ( /obj/item/clothing/head/kitty, /obj/item/clothing/under/maid, @@ -57215,10 +57174,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"rHe" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/toy/poolnoodle/red, -/turf/open/floor/plasteel, +"rHr" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, /area/crew_quarters/fitness/pool) "rIA" = ( /obj/machinery/light{ @@ -57226,6 +57185,11 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"rKg" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 + }, +/area/crew_quarters/fitness/pool) "rKP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -57259,14 +57223,6 @@ dir = 4 }, /area/crew_quarters/theatre) -"rQq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/extinguisher_cabinet{ - pixel_x = -27; - pixel_y = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "rTu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57277,6 +57233,9 @@ }, /turf/open/floor/plasteel/dark, /area/bridge/meeting_room) +"rTT" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "rXl" = ( /obj/structure/chair/office/light, /obj/machinery/firealarm{ @@ -57325,9 +57284,6 @@ dir = 4 }, /area/crew_quarters/fitness) -"scx" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "seP" = ( /obj/structure/cable{ icon_state = "0-4" @@ -57363,6 +57319,9 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) +"soq" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "spu" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -57390,9 +57349,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"srJ" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "ssB" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -57405,10 +57361,20 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"stv" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 +"sth" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"str" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 }, +/turf/closed/wall, +/area/crew_quarters/fitness/pool) +"stF" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) "sxs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -57486,6 +57452,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"sGo" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "sHx" = ( /obj/structure/table, /obj/item/book/manual/hydroponics_pod_people{ @@ -57550,6 +57519,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"sNo" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "sNK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/structure/cable{ @@ -57604,10 +57576,6 @@ /obj/structure/chair/office/light, /turf/open/floor/plasteel/white, /area/science/circuit) -"sUM" = ( -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "sWR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -57638,10 +57606,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) +"sZG" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "tal" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/hallway/secondary/service) +"tbG" = ( +/obj/structure/bed, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "tgH" = ( /obj/structure/filingcabinet/employment, /turf/open/floor/wood, @@ -57743,6 +57720,9 @@ /obj/item/crowbar/red, /turf/open/floor/plating, /area/maintenance/port) +"tyd" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tyX" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57759,6 +57739,25 @@ /obj/item/soap, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"tAC" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"tAH" = ( +/obj/machinery/door/airlock/external{ + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) +"tAN" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tCa" = ( /obj/structure/table/wood, /obj/item/instrument/guitar{ @@ -57781,6 +57780,9 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"tFa" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "tJi" = ( /obj/machinery/airalarm{ dir = 4; @@ -57836,15 +57838,13 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"tKR" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "tMl" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/plasteel/showroomfloor, /area/crew_quarters/kitchen) +"tMM" = ( +/turf/open/floor/plasteel/yellowsiding, +/area/crew_quarters/fitness/pool) "tNF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -57878,8 +57878,8 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"tWb" = ( -/obj/structure/table/glass, +"tSh" = ( +/obj/structure/bed, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) "tWj" = ( @@ -57895,9 +57895,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"tYO" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "tZe" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/poster/official/pda_ad{ @@ -57905,12 +57902,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"tZp" = ( -/obj/structure/pool/ladder{ - dir = 1; - pixel_y = -24 +"tZk" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 1 }, -/turf/open/pool, /area/crew_quarters/fitness/pool) "uaj" = ( /obj/effect/turf_decal/tile/red{ @@ -57959,6 +57954,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"uei" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/fore/secondary) "ufD" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -57974,9 +57975,6 @@ dir = 4 }, /area/crew_quarters/fitness) -"ufG" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "ugu" = ( /obj/structure/cable{ icon_state = "1-4" @@ -58006,12 +58004,22 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) +"ulM" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/red, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "unA" = ( /obj/machinery/light{ dir = 8 }, /turf/open/floor/wood, /area/crew_quarters/bar) +"unR" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "unW" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable{ @@ -58041,6 +58049,9 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"upW" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "usO" = ( /obj/machinery/vending/snack/random, /obj/machinery/light/small{ @@ -58071,6 +58082,9 @@ /obj/structure/mineral_door/wood, /turf/open/floor/wood, /area/maintenance/bar) +"uxe" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "uxY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable{ @@ -58083,6 +58097,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"uzs" = ( +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/crew_quarters/fitness/pool) +"uAH" = ( +/turf/open/floor/plasteel/yellowsiding/corner{ + dir = 8 + }, +/area/crew_quarters/fitness/pool) "uBa" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/soda_cans/starkist{ @@ -58102,6 +58126,14 @@ }, /turf/open/space, /area/solar/port/fore) +"uEx" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "uEI" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -58117,13 +58149,6 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) -"uGB" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "uGI" = ( /turf/open/floor/grass, /area/security/prison) @@ -58202,6 +58227,9 @@ /obj/machinery/power/terminal, /turf/closed/wall/r_wall, /area/engine/gravity_generator) +"uRu" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uRS" = ( /obj/structure/chair/stool{ pixel_y = 8 @@ -58210,6 +58238,10 @@ icon_state = "carpetsymbol" }, /area/crew_quarters/theatre) +"uSC" = ( +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "uVS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -58222,16 +58254,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"uXr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Pool" - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "vae" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58291,8 +58313,11 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) -"vgo" = ( -/turf/open/pool, +"veS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall, /area/crew_quarters/fitness/pool) "vhb" = ( /obj/effect/turf_decal/tile/blue{ @@ -58306,6 +58331,9 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/locker) +"vie" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "viF" = ( /obj/structure/table/wood, /obj/item/instrument/trumpet, @@ -58353,6 +58381,10 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"voW" = ( +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/pool) "vpY" = ( /obj/structure/closet/lasertag/blue, /obj/item/clothing/under/pj/blue, @@ -58391,12 +58423,6 @@ }, /turf/open/floor/wood, /area/library) -"vvc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "vxh" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -58405,12 +58431,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"vxW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) "vyp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, @@ -58431,12 +58451,14 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"vAW" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +"vAl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/camera{ + c_tag = "Pool East"; + dir = 8 }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "vBa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -58513,9 +58535,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"vGJ" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) "vHj" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenics " @@ -58563,11 +58582,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"vOO" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "vPs" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -58581,13 +58595,8 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) -"vST" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +"vSu" = ( +/turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) "vZA" = ( /obj/structure/lattice/catwalk, @@ -58600,13 +58609,9 @@ }, /turf/open/floor/wood, /area/library) -"waB" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/toy/poolnoodle/yellow, -/obj/machinery/button/door{ - id = "PoolShut"; - name = "Pool Shutters"; - pixel_y = 24 +"wag" = ( +/obj/structure/chair/comfy/black{ + dir = 8 }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) @@ -58635,15 +58640,9 @@ }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain) -"wdn" = ( -/obj/machinery/door/airlock/external{ - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) +"wcR" = ( +/turf/open/floor/plasteel/yellowsiding/corner, +/area/crew_quarters/fitness/pool) "wdv" = ( /obj/structure/fans/tiny/invisible, /turf/open/space/basic, @@ -58666,14 +58665,6 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) -"wmd" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "PoolShut"; - name = "Pool Shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/crew_quarters/fitness/pool) "woR" = ( /obj/machinery/cryopod{ dir = 1 @@ -58694,6 +58685,9 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) +"wpR" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "wql" = ( /obj/structure/extinguisher_cabinet, /turf/closed/wall/r_wall, @@ -58724,10 +58718,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"wsf" = ( -/obj/structure/bed, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "wvX" = ( /obj/structure/table/reinforced, /obj/machinery/light, @@ -58747,12 +58737,21 @@ }, /turf/closed/wall, /area/hallway/secondary/service) +"wHk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "wHz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"wHU" = ( +/turf/closed/wall, +/area/crew_quarters/fitness/pool) "wIG" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -58771,26 +58770,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"wMw" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"wRp" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) -"wTe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 +"wQg" = ( +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 }, -/obj/structure/table/glass, -/obj/structure/bedsheetbin/towel, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/turf/open/floor/plasteel, +/turf/open/pool, /area/crew_quarters/fitness/pool) "wTf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -58832,6 +58817,24 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/plasteel/white, /area/science/robotics/lab) +"wWW" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) +"wXa" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "PoolShut"; + name = "Pool Shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/crew_quarters/fitness/pool) "wXl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/machinery/camera{ @@ -58846,12 +58849,6 @@ }, /turf/open/floor/plasteel, /area/security/prison) -"wYI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/fitness/pool) "wZI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -58861,6 +58858,22 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) +"xaB" = ( +/obj/structure/closet/athletic_mixed, +/obj/item/toy/poolnoodle/red, +/obj/item/toy/poolnoodle/blue, +/obj/item/toy/poolnoodle/yellow, +/obj/machinery/button/door{ + id = "PoolShut"; + name = "Pool Shutters"; + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "xbn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -58892,6 +58905,9 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"xgo" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "xgC" = ( /obj/structure/cable{ icon_state = "0-4" @@ -59018,18 +59034,11 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/crew_quarters/dorms) -"xrT" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/turf/open/floor/plating, -/area/maintenance/fore/secondary) -"xsJ" = ( -/turf/open/floor/plasteel/yellowsiding/corner{ - dir = 1 - }, +"xsO" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"xtO" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "xtP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59049,11 +59058,8 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"xyV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, +"xyT" = ( +/turf/open/pool, /area/crew_quarters/fitness/pool) "xzd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -59142,27 +59148,14 @@ /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/carpet, /area/library) -"xHg" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/crew_quarters/fitness/pool) -"xHX" = ( -/turf/open/floor/plasteel/yellowsiding/corner, +"xFB" = ( +/turf/closed/wall, /area/crew_quarters/fitness/pool) "xIa" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"xIu" = ( -/turf/closed/wall, -/area/crew_quarters/fitness/pool) -"xKs" = ( -/turf/open/floor/plasteel/yellowsiding{ - dir = 1 - }, -/area/crew_quarters/fitness/pool) "xLX" = ( /obj/structure/lattice/catwalk, /obj/item/stack/marker_beacon{ @@ -59176,9 +59169,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"xOw" = ( -/turf/open/floor/plasteel/yellowsiding, -/area/crew_quarters/fitness/pool) "xOx" = ( /obj/structure/chair/comfy/brown{ color = "#596479"; @@ -59216,9 +59206,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"xSS" = ( -/turf/open/pool, -/area/crew_quarters/fitness/pool) "xTy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -59254,6 +59241,13 @@ /obj/item/clothing/under/pj/red, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"xZL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/pool) "ybj" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -59298,6 +59292,12 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/plasteel, /area/science/mixing) +"yfk" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) +"yfL" = ( +/turf/open/pool, +/area/crew_quarters/fitness/pool) "yhz" = ( /obj/structure/table, /obj/item/folder/blue, @@ -93834,7 +93834,7 @@ aif aif aif aif -qlq +fpz bkV jKP alK @@ -94090,8 +94090,8 @@ ahn aiA ahn ahn -oLn -vxW +grc +ccS aod ahn apx @@ -94344,11 +94344,11 @@ abp nQi ahn ahn -vAW +uei ahn ahn -rik -vxW +grc +ccS aod aoK oyX @@ -94601,10 +94601,10 @@ adR ahn ahn ahn -wdn +tAH ahn ahn -rik +eMs anG aoe aoL @@ -94863,7 +94863,7 @@ gJi ahn ahn khB -xIu +dFX ahn ahn ahn @@ -95117,17 +95117,17 @@ aaa aaa aaa aaa -xIu -waB -gBj -cMv -uGB +dFX +wWW +iwv +lCo +ohq wXl iou -rQq -mVB +pkF +xZL wig -ilb +str rrM clO asZ @@ -95374,17 +95374,17 @@ aaa aaa aaa aaa -nvN -rHe -xHX -deZ -deZ -deZ -deZ -deZ -fXd +miN +ulM +wcR +oFi +oFi +oFi +oFi +oFi +ecg jLT -erC +hul arm fHG aya @@ -95631,15 +95631,15 @@ aaa aaa aaa aaa -nvN -hky -cRS -bgx -fkK -cFI -fkK -fkK -eBg +miN +azm +oer +qWV +ekE +oVo +ekE +ekE +tZk ujS aqs coh @@ -95888,17 +95888,17 @@ aaa aaa aaa aaa -nvN -dFj -cRS -fkK -fkK -fkK -fkK -fkK -eBg -gBj -uXr +miN +stF +oer +ekE +ekE +ekE +ekE +ekE +tZk +iwv +qeA lXE pFX mOO @@ -96145,17 +96145,17 @@ aaa aaa aaa aaa -xIu -omt -cRS -fyM -fkK -fkK -fkK -tZp -eBg -gBj -erC +dFX +lnk +oer +ogc +ekE +ekE +ekE +fyS +tZk +iwv +hul xzd sJI jJg @@ -96402,17 +96402,17 @@ aaa aaa aaa aaa -nvN -gBj -cRS -fkK -fkK -fkK -fkK -fkK -eBg -cDM -vvc +miN +iwv +oer +ekE +ekE +ekE +ekE +ekE +tZk +iBv +lZK fZm jmV epD @@ -96659,16 +96659,16 @@ aaa aaa aaa aaa -nvN -gBj -aGp -fkK -fkK -jRz -fkK -fkK -eBg -wYI +miN +iwv +kdO +ekE +ekE +uSC +ekE +ekE +tZk +pSK ewu pQp pQp @@ -96916,16 +96916,16 @@ aaa aaa aaa aaa -nvN -gBj -cRS -fkK -fkK -fkK -fkK -fkK -eBg -wYI +miN +iwv +oer +ekE +ekE +ekE +ekE +ekE +tZk +pSK aqu aro aro @@ -97173,16 +97173,16 @@ aaa aaa aaa aaa -xIu -eBs -cRS -fyM -fkK -fkK -fkK -tZp -eBg -wYI +dFX +jMW +oer +ogc +ekE +ekE +ekE +fyS +tZk +pSK aqu aro aro @@ -97430,16 +97430,16 @@ aaa aaa aaa aaa -nvN -tWb -cRS -fkK -fkK -fkK -fkK -fkK -eBg -wYI +miN +sth +oer +ekE +ekE +ekE +ekE +ekE +tZk +pSK aqu aro aro @@ -97687,16 +97687,16 @@ aaa aaa aaa aaa -nvN -enm -cRS -fkK -fkK -eqv -fkK -fkK -eBg -wYI +miN +wag +oer +ekE +ekE +voW +ekE +ekE +tZk +pSK aqu aro aro @@ -97944,16 +97944,16 @@ aaa aaa aaa aaa -nvN -qLL -fGM -hOk -hOk -jYk -hOk -hOk -xsJ -lao +miN +tAC +uAH +ffy +ffy +dCr +ffy +ffy +hzK +iYE aqu aro aro @@ -98201,16 +98201,16 @@ aaa aaa aaa aaa -xIu -eXn -wsf -wsf -wsf -mtr -qie -qie -qie -wTe +dFX +xaB +mgF +mgF +mgF +vAl +rje +rje +rje +iMv vmQ pQp pQp @@ -98458,17 +98458,17 @@ aaS aaS aaS aaa -xIu -xIu -nvN -nvN -nvN -xIu -nvN -nvN -nvN -xIu -xIu +dFX +dFX +miN +miN +miN +dFX +miN +miN +miN +dFX +dFX aaa aaa arj From e5236eebb187db0dba4e82694c9d8f0c528bd9b0 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sat, 8 Feb 2020 17:39:00 -0500 Subject: [PATCH 069/221] hey lets do corrections --- .../game/objects/items/stacks/sheets/glass.dm | 3 +++ .../objects/items/stacks/sheets/mineral.dm | 3 +++ .../crates_lockers/crates/secure.dm | 5 +++++ code/modules/cargo/exports/materials.dm | 5 ----- code/modules/cargo/exports/sheets.dm | 10 ++++++++++ code/modules/cargo/packs/armory.dm | 8 ++++---- code/modules/cargo/packs/emergency.dm | 2 +- code/modules/cargo/packs/materials.dm | 16 ++++++++++++++++ code/modules/cargo/packs/medical.dm | 3 ++- code/modules/cargo/packs/organic.dm | 11 ++++++----- code/modules/cargo/packs/security.dm | 2 +- icons/obj/crates.dmi | Bin 22382 -> 22621 bytes 12 files changed, 51 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 21de34faa1..72904a80ed 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -254,6 +254,9 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( merge_type = /obj/item/stack/sheet/plastitaniumglass shard_type = /obj/item/shard +/obj/item/stack/sheet/plastitaniumglass/fifty + amount = 50 + /obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE) recipes = GLOB.plastitaniumglass_recipes return ..() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 53b78b2ecf..8541b539c9 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -323,6 +323,9 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ point_value = 45 merge_type = /obj/item/stack/sheet/mineral/plastitanium +/obj/item/stack/sheet/mineral/plastitanium/fifty + amount = 50 + GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ new/datum/stack_recipe("plastitanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \ )) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 290e69370b..602adfb367 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -70,3 +70,8 @@ name = "secure science crate" desc = "A crate with a lock on it, painted in the scheme of the station's scientists." icon_state = "scisecurecrate" + +/obj/structure/closet/crate/secure/medical + desc = "A secure medical crate." + name = "medical crate" + icon_state = "medical_secure_crate" \ No newline at end of file diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index d8fc5f22ab..1b38a809cf 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -65,11 +65,6 @@ material_id = MAT_TITANIUM message = "cm3 of titanium" -/datum/export/material/plastitanium - cost = 165 // plasma + titanium costs - material_id = MAT_TITANIUM // code can only check for one material_id; plastitanium is half plasma, half titanium - message = "cm3 of plastitanium" - /datum/export/material/plastic cost = 5 material_id = MAT_PLASTIC diff --git a/code/modules/cargo/exports/sheets.dm b/code/modules/cargo/exports/sheets.dm index f784083097..df1704d660 100644 --- a/code/modules/cargo/exports/sheets.dm +++ b/code/modules/cargo/exports/sheets.dm @@ -67,6 +67,16 @@ message = "of plasteel" export_types = list(/obj/item/stack/sheet/plasteel) +/datum/export/material/plastitanium + cost = 165 // plasma + titanium costs + export_types = list(/obj/item/stack/sheet/mineral/plastitanium) + message = "of plastitanium" + +/datum/export/material/plastitanium_glass + cost = 168 // plasma + titanium + glass costs + export_types = list(/obj/item/stack/sheet/plastitaniumglass) + message = "of plastitanium glass" + // 1 glass + 0.5 metal, cost is rounded up. /datum/export/stack/rglass cost = 6 diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index ea8ef8ba0f..4c500a0162 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -178,7 +178,7 @@ /datum/supply_pack/security/armory/russian name = "Russian Surplus Crate" desc = "Hello Comrade, we have the most modern russian military equipment the black market can offer, for the right price of course. Sadly we couldnt remove the lock so it requires Armory access to open." - cost = 5000 + cost = 7500 contraband = TRUE contains = list(/obj/item/reagent_containers/food/snacks/rationpack, /obj/item/ammo_box/a762, @@ -193,11 +193,11 @@ /obj/item/clothing/head/helmet/rus_ushanka, /obj/item/clothing/suit/armor/vest/russian_coat, /obj/item/gun/ballistic/shotgun/boltaction, - /obj/item/gun/ballistic/shotgun/boltaction) + /obj/item/staff/broom) //Its... A real thing that was done in the Russian army crate_name = "surplus military crate" /datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C) - for(var/i in 1 to 10) + for(var/i in 1 to 5) var/item = pick(contains) new item(C) @@ -218,7 +218,7 @@ crate_name = "swat crate" /datum/supply_pack/security/armory/swattasers //Lesser AEG tbh - name = "SWAT tatical tasers Crate" + name = "SWAT tactical tasers Crate" desc = "Contains two tactical energy gun, these guns are able to tase, disable and lethal as well as hold a seclight. Requires Armory access to open." cost = 7000 contains = list(/obj/item/gun/energy/e_gun/stun, diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index e32811f2d0..e5036c34a5 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -130,7 +130,7 @@ /datum/supply_pack/emergency/bomb name = "Explosive Emergency Crate" - desc = "Science gone bonkers? Beeping behind the airlock? Buy now and be the hero the station des... I mean needs! (Time not included.)" + desc = "Science gone bonkers? Beeping behind the airlock? Buy now and be the hero the station kills-... I mean needs! Time not included, but what is a full bomb suit and hood, gas mask with the tools you need to defuse a none-nuclear bomb." cost = 1500 contains = list(/obj/item/clothing/head/bomb_hood, /obj/item/clothing/suit/bomb_suit, diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm index 6c1742896f..ea7df06bda 100644 --- a/code/modules/cargo/packs/materials.dm +++ b/code/modules/cargo/packs/materials.dm @@ -48,6 +48,22 @@ contains = list(/obj/item/stack/sheet/plasteel/fifty) crate_name = "plasteel sheets crate" +/datum/supply_pack/materials/plastitanium50 + name = "50 Plastitanium Sheets" + desc = "Build an evil empire with fifty plastitanium sheets." + cost = 9250 + contraband = TRUE + contains = list(/obj/item/stack/sheet/mineral/plastitanium/fifty) + crate_name = "plastitanium sheets crate" + +/datum/supply_pack/materials/plastitanium_glass50 + name = "50 Plastitanium Glass Sheets" + desc = "Look out from your evil empire with fifty plastitanium glass sheets." + cost = 9500 + contraband = TRUE + contains = list(/obj/item/stack/sheet/plastitaniumglass/fifty) + crate_name = "plastitanium glass sheets crate" + /datum/supply_pack/materials/plastic50 name = "50 Plastic Sheets" desc = "Build a limitless amount of toys with fifty plastic sheets!" diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index ea327ae820..5d02bbe60f 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -88,6 +88,7 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/suit/space/hardsuit/medical) crate_name = "medical hardsuit" + crate_type = /obj/structure/closet/crate/secure/medical /datum/supply_pack/medical/supplies name = "Medical Supplies Crate" @@ -125,7 +126,7 @@ /obj/item/reagent_containers/medspray/synthflesh, /obj/item/reagent_containers/medspray/sterilizine) crate_name = "medco surgery tools" - crate_type = /obj/structure/closet/crate/medical + crate_type = /obj/structure/closet/crate/secure/medical /datum/supply_pack/medical/surgery name = "Surgical Supplies Crate" diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 4aa991fc3f..7d28ceefef 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -193,6 +193,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/bear, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/spider, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, /obj/item/reagent_containers/food/snacks/meat/rawbacon, /obj/item/reagent_containers/food/snacks/spiderleg, /obj/item/reagent_containers/food/snacks/carpmeat, @@ -213,7 +214,7 @@ /datum/supply_pack/organic/fakemeat name = "Meat Crate 'Synthetic'" - desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 12 slabs of meat product, and 4 slabs of *carp*." + desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 9 slabs of meat product, 3 carb meat and 4 slabs of *carp*." cost = 1200 // Buying 3 food crates nets you 9 meat for 900 points, plus like, 6 bags of rice, flour, and egg boxes. This is 12 for 500, but you -only- get meat and carp. contains = list(/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, @@ -224,9 +225,9 @@ /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, - /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, - /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, - /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, + /obj/item/reagent_containers/food/snacks/meat/rawcrab, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, @@ -327,7 +328,7 @@ /datum/supply_pack/organic/seeds name = "Seeds Crate" - desc = "Big things have small beginnings. Contains thirteen different seeds." + desc = "Big things have small beginnings. Contains fourteen different seeds." cost = 1250 contains = list(/obj/item/seeds/chili, /obj/item/seeds/berry, diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index fd7e07a66c..90bc837767 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -103,7 +103,7 @@ desc = "An old russian Minutemen crate, comes with a full russian outfit, a mosin and a stripper clip." contraband = TRUE access = FALSE - cost = 5500 // + cost = 6500 // contains = list(/obj/item/clothing/suit/armor/navyblue/russian, /obj/item/clothing/shoes/combat, /obj/item/clothing/head/ushanka, diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi index ca81686e942e0c2973dacff3450a0d3214d4df33..ecb66d0119b504f18f5309f07896199483565a1d 100644 GIT binary patch literal 22621 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 R0o!1ZHdJ4uLftmv{{YB;Je>dl literal 22382 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 Gul@s1egnP$ From 1e2562ed0206c567273bfc86eccdd31d4abcfb57 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 8 Feb 2020 18:59:00 -0500 Subject: [PATCH 070/221] Update organic.dm --- code/modules/cargo/packs/organic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 7d28ceefef..79853e1aaf 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -214,7 +214,7 @@ /datum/supply_pack/organic/fakemeat name = "Meat Crate 'Synthetic'" - desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 9 slabs of meat product, 3 carb meat and 4 slabs of *carp*." + desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 9 slabs of meat product, 3 crab meat and 4 slabs of *carp*." cost = 1200 // Buying 3 food crates nets you 9 meat for 900 points, plus like, 6 bags of rice, flour, and egg boxes. This is 12 for 500, but you -only- get meat and carp. contains = list(/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, From d49a53e19388920e915784eb9ceeca8f9739daca Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 8 Feb 2020 22:17:58 -0500 Subject: [PATCH 071/221] Update costumes_toys.dm --- code/modules/cargo/packs/costumes_toys.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 4a64979502..c559e7925a 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -63,6 +63,7 @@ /obj/item/toy/cards/deck/syndicate, /obj/item/reagent_containers/food/drinks/bottle/absinthe, /obj/item/clothing/under/syndicate/tacticool, + /obj/item/clothing/under/syndicate/skirt, /obj/item/clothing/under/syndicate, /obj/item/suppressor, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, From a9a167b9d3531702ca417040b4854f8bd54be185 Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 11 Feb 2020 20:18:32 +0200 Subject: [PATCH 072/221] Suffering and co --- code/__DEFINES/components.dm | 7 +- code/__DEFINES/mobs.dm | 2 +- code/__DEFINES/nanites.dm | 45 ++- code/__DEFINES/traits.dm | 1 + code/datums/components/nanites.dm | 134 +++++-- code/game/objects/items/defib.dm | 17 +- code/modules/mob/living/carbon/carbon.dm | 16 + .../research/designs/nanite_designs.dm | 75 +++- .../nanites/extra_settings/_extra_setting.dm | 20 + .../nanites/extra_settings/boolean.dm | 27 ++ .../research/nanites/extra_settings/number.dm | 32 ++ .../research/nanites/extra_settings/text.dm | 18 + .../research/nanites/extra_settings/type.dm | 18 + .../research/nanites/nanite_chamber.dm | 90 ++--- .../nanites/nanite_chamber_computer.dm | 100 +---- .../nanites/nanite_cloud_controller.dm | 104 +++-- .../research/nanites/nanite_hijacker.dm | 4 +- .../research/nanites/nanite_misc_items.dm | 2 +- .../research/nanites/nanite_program_hub.dm | 61 +-- .../research/nanites/nanite_programmer.dm | 106 +++--- .../research/nanites/nanite_programs.dm | 206 ++++++---- .../nanites/nanite_programs/buffing.dm | 18 +- .../nanites/nanite_programs/healing.dm | 81 ++-- .../nanites/nanite_programs/protocols.dm | 107 ++++++ .../nanites/nanite_programs/sensor.dm | 358 ++++++------------ .../nanites/nanite_programs/suppression.dm | 295 +++++---------- .../nanites/nanite_programs/utility.dm | 321 ++++++---------- .../nanites/nanite_programs/weapon.dm | 72 ++-- .../modules/research/nanites/nanite_remote.dm | 106 ++---- .../modules/research/nanites/program_disks.dm | 13 +- .../research/nanites/public_chamber.dm | 84 ++-- code/modules/research/nanites/rules.dm | 151 ++++++++ tgstation.dme | 6 + tgui-next/packages/tgui/public/tgui.bundle.js | 4 +- tgui-next/packages/tgui/routes.js | 25 ++ 35 files changed, 1445 insertions(+), 1281 deletions(-) create mode 100644 code/modules/research/nanites/extra_settings/_extra_setting.dm create mode 100644 code/modules/research/nanites/extra_settings/boolean.dm create mode 100644 code/modules/research/nanites/extra_settings/number.dm create mode 100644 code/modules/research/nanites/extra_settings/text.dm create mode 100644 code/modules/research/nanites/extra_settings/type.dm create mode 100644 code/modules/research/nanites/nanite_programs/protocols.dm create mode 100644 code/modules/research/nanites/rules.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index c4c9d815a0..cf3a3c1faf 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -295,11 +295,14 @@ //Nanites #define COMSIG_HAS_NANITES "has_nanites" //() returns TRUE if nanites are found #define COMSIG_NANITE_IS_STEALTHY "nanite_is_stealthy" //() returns TRUE if nanites have stealth +#define COMSIG_NANITE_DELETE "nanite_delete" //() deletes the nanite component #define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs" //(list/nanite_programs) - makes the input list a copy the nanites' program list +#define COMSIG_NANITE_GET_VOLUME "nanite_get_volume" //(amount) Returns nanite amount #define COMSIG_NANITE_SET_VOLUME "nanite_set_volume" //(amount) Sets current nanite volume to the given amount #define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust" //(amount) Adjusts nanite volume by the given amount #define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume" //(amount) Sets maximum nanite volume to the given amount #define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud" //(amount(0-100)) Sets cloud ID to the given amount +#define COMSIG_NANITE_SET_CLOUD_SYNC "nanite_set_cloud_sync" //(method) Modify cloud sync status. Method can be toggle, enable or disable #define COMSIG_NANITE_SET_SAFETY "nanite_set_safety" //(amount) Sets safety threshold to the given amount #define COMSIG_NANITE_SET_REGEN "nanite_set_regen" //(amount) Sets regeneration rate to the given amount #define COMSIG_NANITE_SIGNAL "nanite_signal" //(code(1-9999)) Called when sending a nanite signal to a mob. @@ -307,8 +310,8 @@ #define COMSIG_NANITE_SCAN "nanite_scan" //(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected #define COMSIG_NANITE_UI_DATA "nanite_ui_data" //(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs #define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program" //(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component - #define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful - #define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites +#define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful +#define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites #define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component // /datum/component/storage signals diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a7d6056ab9..f89c11d91b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -276,4 +276,4 @@ #define HUMAN_FIRE_STACK_ICON_NUM 3 #define PULL_PRONE_SLOWDOWN 0.6 -#define HUMAN_CARRY_SLOWDOWN 0 \ No newline at end of file +#define HUMAN_CARRY_SLOWDOWN 0 diff --git a/code/__DEFINES/nanites.dm b/code/__DEFINES/nanites.dm index 45455a81c2..ed15e972ab 100644 --- a/code/__DEFINES/nanites.dm +++ b/code/__DEFINES/nanites.dm @@ -1,11 +1,44 @@ -#define NANITE_TIMER_DEACTIVATE 1 -#define NANITE_TIMER_SELFDELETE 2 -#define NANITE_TIMER_TRIGGER 3 -#define NANITE_TIMER_RESET 4 - #define NANITE_SYNC_DELAY 300 #define NANITE_SHOCK_IMMUNE 1 #define NANITE_EMP_IMMUNE 2 -#define NANITE_PROGRAM_LIMIT 20 \ No newline at end of file +#define NANITE_PROGRAM_LIMIT 20 + + +#define NANITE_BASE_RESEARCH 3.5 + +#define NANITE_CLOUD_TOGGLE 1 +#define NANITE_CLOUD_DISABLE 2 +#define NANITE_CLOUD_ENABLE 3 + +///Nanite extra settings types: used to help uis know what type an extra setting is +#define NESTYPE_TEXT "text" +#define NESTYPE_NUMBER "number" +#define NESTYPE_TYPE "type" +#define NESTYPE_BOOLEAN "boolean" + +///Nanite Extra Settings - Note that these will also be the names displayed in the UI +#define NES_SENT_CODE "Sent Code" +#define NES_DELAY "Delay" +#define NES_MODE "Mode" +#define NES_COMM_CODE "Comm Code" +#define NES_RELAY_CHANNEL "Relay Channel" +#define NES_HEALTH_PERCENT "Health Percent" +#define NES_DIRECTION "Direction" +#define NES_NANITE_PERCENT "Nanite Percent" +#define NES_DAMAGE_TYPE "Damage Type" +#define NES_DAMAGE "Damage" +#define NES_SENTENCE "Sentence" +#define NES_MESSAGE "Message" +#define NES_DIRECTIVE "Directive" +#define NES_INCLUSIVE_MODE "Inclusive Mode" +#define NES_HALLUCINATION_TYPE "Hallucination Type" +#define NES_HALLUCINATION_DETAIL "Hallucination Detail" +#define NES_MOOD_MESSAGE "Mood Message" +#define NES_PROGRAM_OVERWRITE "Program Overwrite" +#define NES_CLOUD_OVERWRITE "Cloud Overwrite" +#define NES_SCAN_TYPE "Scan Type" +#define NES_BUTTON_NAME "Button Name" +#define NES_ICON "Icon" +#define NES_COLOR "Color" diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index d144254a50..145f879b90 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -55,6 +55,7 @@ } while (0) #define HAS_TRAIT(target, trait) (target.status_traits ? (target.status_traits[trait] ? TRUE : FALSE) : FALSE) #define HAS_TRAIT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (source in target.status_traits[trait]) : FALSE) : FALSE) +#define HAS_TRAIT_NOT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (length(target.status_traits[trait] - source) > 0) : FALSE) : FALSE) //mob traits #define TRAIT_BLIND "blind" diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index e1c96121c7..49b2e437d4 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -7,13 +7,16 @@ var/regen_rate = 0.5 //nanites generated per second var/safety_threshold = 25 //how low nanites will get before they stop processing/triggering var/cloud_id = 0 //0 if not connected to the cloud, 1-100 to set a determined cloud backup to draw from + var/cloud_active = TRUE //if false, won't sync to the cloud var/next_sync = 0 var/list/datum/nanite_program/programs = list() var/max_programs = NANITE_PROGRAM_LIMIT + var/list/datum/nanite_program/protocol/protocols = list() ///Separate list of protocol programs, to avoid looping through the whole programs list when cheking for conflicts + var/start_time = 0 ///Timestamp to when the nanites were first inserted in the host var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners - + /datum/component/nanites/Initialize(amount = 100, cloud = 0) if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) return COMPONENT_INCOMPATIBLE @@ -25,33 +28,36 @@ if(isliving(parent)) host_mob = parent - if(!(MOB_ORGANIC in host_mob.mob_biotypes) && !(MOB_UNDEAD in host_mob.mob_biotypes)) //Shouldn't happen, but this avoids HUD runtimes in case a silicon gets them somehow. + if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) //Shouldn't happen, but this avoids HUD runtimes in case a silicon gets them somehow. return COMPONENT_INCOMPATIBLE + start_time = world.time + host_mob.hud_set_nanite_indicator() START_PROCESSING(SSnanites, src) - if(cloud_id) + if(cloud_id && cloud_active) cloud_sync() /datum/component/nanites/RegisterWithParent() - . = ..() RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) + RegisterSignal(parent, COMSIG_NANITE_DELETE, .proc/delete_nanites) RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD_SYNC, .proc/set_cloud_sync) RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) - RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) if(isliving(parent)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) @@ -61,15 +67,16 @@ RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) /datum/component/nanites/UnregisterFromParent() - . = ..() UnregisterSignal(parent, list(COMSIG_HAS_NANITES, COMSIG_NANITE_IS_STEALTHY, + COMSIG_NANITE_DELETE, COMSIG_NANITE_UI_DATA, COMSIG_NANITE_GET_PROGRAMS, COMSIG_NANITE_SET_VOLUME, COMSIG_NANITE_ADJUST_VOLUME, COMSIG_NANITE_SET_MAX_VOLUME, COMSIG_NANITE_SET_CLOUD, + COMSIG_NANITE_SET_CLOUD_SYNC, COMSIG_NANITE_SET_SAFETY, COMSIG_NANITE_SET_REGEN, COMSIG_NANITE_ADD_PROGRAM, @@ -87,9 +94,9 @@ /datum/component/nanites/Destroy() STOP_PROCESSING(SSnanites, src) - set_nanite_bar(TRUE) QDEL_LIST(programs) if(host_mob) + set_nanite_bar(TRUE) host_mob.hud_set_nanite_indicator() host_mob = null return ..() @@ -102,13 +109,18 @@ /datum/component/nanites/process() adjust_nanites(null, regen_rate) + add_research() for(var/X in programs) var/datum/nanite_program/NP = X NP.on_process() - set_nanite_bar() - if(cloud_id && world.time > next_sync) + if(cloud_id && cloud_active && world.time > next_sync) cloud_sync() next_sync = world.time + NANITE_SYNC_DELAY + set_nanite_bar() + + +/datum/component/nanites/proc/delete_nanites() + qdel(src) //Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status) /datum/component/nanites/proc/sync(datum/signal_source, datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE) @@ -131,13 +143,17 @@ add_program(null, SNP.copy()) /datum/component/nanites/proc/cloud_sync() - if(!cloud_id) - return - var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) - if(backup) - var/datum/component/nanites/cloud_copy = backup.nanites - if(cloud_copy) - sync(null, cloud_copy) + if(cloud_id) + var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) + if(backup) + var/datum/component/nanites/cloud_copy = backup.nanites + if(cloud_copy) + sync(null, cloud_copy) + return + //Without cloud syncing nanites can accumulate errors and/or defects + if(prob(8) && programs.len) + var/datum/nanite_program/NP = pick(programs) + NP.software_error() /datum/component/nanites/proc/add_program(datum/source, datum/nanite_program/new_program, datum/nanite_program/source_program) for(var/X in programs) @@ -175,19 +191,28 @@ holder.icon_state = "nanites[nanite_percent]" /datum/component/nanites/proc/on_emp(datum/source, severity) - adjust_nanites(null, -(nanite_volume * 0.3 + 50)) //Lose 30% variable and 50 flat nanite volume. + nanite_volume *= (rand(60, 90) * 0.01) //Lose 10-40% of nanites + adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume + if(prob(40/severity)) + cloud_id = 0 for(var/X in programs) var/datum/nanite_program/NP = X NP.on_emp(severity) -/datum/component/nanites/proc/on_shock(datum/source, shock_damage) - adjust_nanites(null, -(nanite_volume * (shock_damage * 0.005) + shock_damage)) //0.5% of shock damage (@ 50 damage it'd drain 25%) + shock damage flat volume - for(var/X in programs) - var/datum/nanite_program/NP = X - NP.on_shock(shock_damage) + +/datum/component/nanites/proc/on_shock(datum/source, shock_damage, siemens_coeff = 1, flags = NONE) + if(shock_damage < 1) + return + + if(!HAS_TRAIT_NOT_FROM(host_mob, TRAIT_SHOCKIMMUNE, "nanites"))//Another shock protection must protect nanites too, but nanites protect only host + nanite_volume *= (rand(45, 80) * 0.01) //Lose 20-55% of nanites + adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_shock(shock_damage) /datum/component/nanites/proc/on_minor_shock(datum/source) - adjust_nanites(null, -25) + adjust_nanites(null, -(rand(5, 15))) //Lose 5-15 flat nanite volume for(var/X in programs) var/datum/nanite_program/NP = X NP.on_minor_shock() @@ -207,16 +232,16 @@ /datum/component/nanites/proc/receive_comm_signal(datum/source, comm_code, comm_message, comm_source = "an unidentified source") for(var/X in programs) - if(istype(X, /datum/nanite_program/triggered/comm)) - var/datum/nanite_program/triggered/comm/NP = X + if(istype(X, /datum/nanite_program/comm)) + var/datum/nanite_program/comm/NP = X NP.receive_comm_signal(comm_code, comm_message, comm_source) /datum/component/nanites/proc/check_viable_biotype() - if(!(MOB_ORGANIC in host_mob.mob_biotypes) && !(MOB_UNDEAD in host_mob.mob_biotypes)) + if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) qdel(src) //bodytype no longer sustains nanites /datum/component/nanites/proc/check_access(datum/source, obj/O) - for(var/datum/nanite_program/triggered/access/access_program in programs) + for(var/datum/nanite_program/access/access_program in programs) if(access_program.activated) return O.check_access_list(access_program.access) else @@ -232,6 +257,15 @@ /datum/component/nanites/proc/set_cloud(datum/source, amount) cloud_id = CLAMP(amount, 0, 100) +/datum/component/nanites/proc/set_cloud_sync(datum/source, method) + switch(method) + if(NANITE_CLOUD_TOGGLE) + cloud_active = !cloud_active + if(NANITE_CLOUD_DISABLE) + cloud_active = FALSE + if(NANITE_CLOUD_ENABLE) + cloud_active = TRUE + /datum/component/nanites/proc/set_safety(datum/source, amount) safety_threshold = CLAMP(amount, 0, max_nanites) @@ -252,6 +286,19 @@ /datum/component/nanites/proc/get_programs(datum/source, list/nanite_programs) nanite_programs |= programs +/datum/component/nanites/proc/add_research() + var/research_value = NANITE_BASE_RESEARCH + if(!ishuman(host_mob)) + if(!iscarbon(host_mob)) + research_value *= 0.4 + else + research_value *= 0.8 + if(!host_mob.client) + research_value *= 0.5 + if(host_mob.stat == DEAD) + research_value *= 0.75 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_NANITES = research_value)) + /datum/component/nanites/proc/nanite_scan(datum/source, mob/user, full_scan) if(!full_scan) if(!stealth) @@ -263,7 +310,8 @@ to_chat(user, "================") to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") to_chat(user, "Safety Threshold: [safety_threshold]") - to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "Disabled"]") + to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "None"]") + to_chat(user, "Cloud Sync: [cloud_active ? "Active" : "Disabled"]") to_chat(user, "================") to_chat(user, "Program List:") if(!diagnostics) @@ -280,6 +328,7 @@ data["regen_rate"] = regen_rate data["safety_threshold"] = safety_threshold data["cloud_id"] = cloud_id + data["cloud_active"] = cloud_active var/list/mob_programs = list() var/id = 1 for(var/X in programs) @@ -297,24 +346,35 @@ mob_program["trigger_cooldown"] = P.trigger_cooldown / 10 if(scan_level >= 3) - mob_program["activation_delay"] = P.activation_delay - mob_program["timer"] = P.timer - mob_program["timer_type"] = P.get_timer_type_text() - var/list/extra_settings = list() - for(var/Y in P.extra_settings) - var/list/setting = list() - setting["name"] = Y - setting["value"] = P.get_extra_setting(Y) - extra_settings += list(setting) + mob_program["timer_restart"] = P.timer_restart / 10 + mob_program["timer_shutdown"] = P.timer_shutdown / 10 + mob_program["timer_trigger"] = P.timer_trigger / 10 + mob_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 + var/list/extra_settings = P.get_extra_settings_frontend() mob_program["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) mob_program["has_extra_settings"] = TRUE + else + mob_program["has_extra_settings"] = FALSE if(scan_level >= 4) mob_program["activation_code"] = P.activation_code mob_program["deactivation_code"] = P.deactivation_code mob_program["kill_code"] = P.kill_code mob_program["trigger_code"] = P.trigger_code + var/list/rules = list() + var/rule_id = 1 + for(var/Z in P.rules) + var/datum/nanite_rule/nanite_rule = Z + var/list/rule = list() + rule["display"] = nanite_rule.display() + rule["program_id"] = id + rule["id"] = rule_id + rules += list(rule) + rule_id++ + mob_program["rules"] = rules + if(LAZYLEN(rules)) + mob_program["has_rules"] = TRUE id++ mob_programs += list(mob_program) data["mob_programs"] = mob_programs diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 386b1fe668..3a2470e5e0 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -431,26 +431,11 @@ if((!req_defib && grab_ghost) || (req_defib && defib.grab_ghost)) H.notify_ghost_cloning("Your heart is being defibrillated!") H.grab_ghost() // Shove them back in their body. - else if(can_defib(H)) + else if(H.can_defib()) H.notify_ghost_cloning("Your heart is being defibrillated. Re-enter your corpse if you want to be revived!", source = src) do_help(H, user) -/obj/item/twohanded/shockpaddles/proc/can_defib(mob/living/carbon/H) //Our code here is different than tg, if it breaks in testing; BUG_PROBABLE_CAUSE - var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart) - if(H.suiciding || H.hellbound || HAS_TRAIT(H, TRAIT_HUSK)) - return - if((world.time - H.timeofdeath) > tlimit) - return - if((H.getBruteLoss() >= MAX_REVIVE_BRUTE_DAMAGE) || (H.getFireLoss() >= MAX_REVIVE_FIRE_DAMAGE)) - return - if(!heart || (heart.organ_flags & ORGAN_FAILING)) - return - var/obj/item/organ/brain/BR = H.getorgan(/obj/item/organ/brain) - if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || H.suiciding) - return - return TRUE - /obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H) if(!H.pulledby || !isliving(H.pulledby)) return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ef33afec25..d8977803ed 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -834,6 +834,22 @@ update_inv_handcuffed() update_hud_handcuffed() +/mob/living/carbon/proc/can_defib() + var/tlimit = DEFIB_TIME_LIMIT * 10 + var/obj/item/organ/heart = getorgan(/obj/item/organ/heart) + if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK)) + return + if((world.time - timeofdeath) > tlimit) + return + if((getBruteLoss() >= MAX_REVIVE_BRUTE_DAMAGE) || (getFireLoss() >= MAX_REVIVE_FIRE_DAMAGE)) + return + if(!heart || (heart.organ_flags & ORGAN_FAILING)) + return + var/obj/item/organ/brain/BR = getorgan(/obj/item/organ/brain) + if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || suiciding) + return + return TRUE + /mob/living/carbon/fully_heal(admin_revive = FALSE) if(reagents) reagents.clear_reagents() diff --git a/code/modules/research/designs/nanite_designs.dm b/code/modules/research/designs/nanite_designs.dm index 13668ba570..c72ee4fb8c 100644 --- a/code/modules/research/designs/nanite_designs.dm +++ b/code/modules/research/designs/nanite_designs.dm @@ -50,7 +50,7 @@ name = "Host Scan" desc = "The nanites display a detailed readout of a body scan to the host." id = "selfscan_nanites" - program_type = /datum/nanite_program/triggered/self_scan + program_type = /datum/nanite_program/self_scan category = list("Utility Nanites") /datum/design/nanites/dermal_button @@ -67,7 +67,6 @@ program_type = /datum/nanite_program/stealth category = list("Utility Nanites") - /datum/design/nanites/reduced_diagnostics name = "Reduced Diagnostics" desc = "Disables some high-cost diagnostics in the nanites, making them unable to communicate their program list to portable scanners. \ @@ -80,7 +79,7 @@ name = "Subdermal ID" desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." id = "access_nanites" - program_type = /datum/nanite_program/triggered/access + program_type = /datum/nanite_program/access category = list("Utility Nanites") /datum/design/nanites/relay @@ -106,9 +105,9 @@ /datum/design/nanites/emp name = "Electromagnetic Resonance" - desc = "The nanites cause an elctromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" id = "emp_nanites" - program_type = /datum/nanite_program/triggered/emp + program_type = /datum/nanite_program/emp category = list("Utility Nanites") /datum/design/nanites/spreading @@ -119,6 +118,13 @@ program_type = /datum/nanite_program/spreading category = list("Utility Nanites") +/datum/design/nanites/nanite_sting + name = "Nanite Sting" + desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." + id = "nanite_sting_nanites" + program_type = /datum/nanite_program/nanite_sting + category = list("Utility Nanites") + /datum/design/nanites/mitosis name = "Mitosis" desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\ @@ -197,7 +203,7 @@ name = "Defibrillation" desc = "The nanites, when triggered, send a defibrillating shock to the host's heart." id = "defib_nanites" - program_type = /datum/nanite_program/triggered/defib + program_type = /datum/nanite_program/defib category = list("Medical Nanites") @@ -242,7 +248,7 @@ name = "Adrenaline Burst" desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed." id = "adrenaline_nanites" - program_type = /datum/nanite_program/triggered/adrenaline + program_type = /datum/nanite_program/adrenaline category = list("Augmentation Nanites") /datum/design/nanites/mindshield @@ -366,21 +372,21 @@ name = "Heart-Stopper" desc = "Stops the host's heart when triggered; restarts it if triggered again." id = "heartstop_nanites" - program_type = /datum/nanite_program/triggered/heart_stop + program_type = /datum/nanite_program/heart_stop category = list("Weaponized Nanites") /datum/design/nanites/explosive name = "Chain Detonation" desc = "Blows up all the nanites inside the host in a chain reaction when triggered." id = "explosive_nanites" - program_type = /datum/nanite_program/triggered/explosive + program_type = /datum/nanite_program/explosive category = list("Weaponized Nanites") /datum/design/nanites/mind_control name = "Mind Control" desc = "The nanites imprint an absolute directive onto the host's brain while they're active." id = "mindcontrol_nanites" - program_type = /datum/nanite_program/triggered/comm/mind_control + program_type = /datum/nanite_program/comm/mind_control category = list("Weaponized Nanites") ////////////////////SUPPRESSION NANITES////////////////////////////////////// @@ -389,21 +395,21 @@ name = "Electric Shock" desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" id = "shock_nanites" - program_type = /datum/nanite_program/triggered/shocking + program_type = /datum/nanite_program/shocking category = list("Suppression Nanites") /datum/design/nanites/stun name = "Neural Shock" desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." id = "stun_nanites" - program_type = /datum/nanite_program/triggered/stun + program_type = /datum/nanite_program/stun category = list("Suppression Nanites") /datum/design/nanites/sleepy name = "Sleep Induction" desc = "The nanites cause rapid narcolepsy when triggered." id = "sleep_nanites" - program_type = /datum/nanite_program/triggered/sleepy + program_type = /datum/nanite_program/sleepy category = list("Suppression Nanites") /datum/design/nanites/paralyzing @@ -445,21 +451,21 @@ name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." id = "voice_nanites" - program_type = /datum/nanite_program/triggered/comm/voice + program_type = /datum/nanite_program/comm/voice category = list("Suppression Nanites") /datum/design/nanites/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." id = "speech_nanites" - program_type = /datum/nanite_program/triggered/comm/speech + program_type = /datum/nanite_program/comm/speech category = list("Suppression Nanites") /datum/design/nanites/hallucination name = "Hallucination" desc = "The nanites make the host see and hear things that aren't real." id = "hallucination_nanites" - program_type = /datum/nanite_program/triggered/comm/hallucination + program_type = /datum/nanite_program/comm/hallucination category = list("Suppression Nanites") /datum/design/nanites/good_mood @@ -513,9 +519,42 @@ program_type = /datum/nanite_program/sensor/voice category = list("Sensor Nanites") -/datum/design/nanites/sensor__nanite_volume +/datum/design/nanites/sensor_nanite_volume name = "Nanite Volume Sensor" desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." id = "sensor_nanite_volume" program_type = /datum/nanite_program/sensor/nanite_volume - category = list("Sensor Nanites") \ No newline at end of file + category = list("Sensor Nanites") + +////////////////////NANITE PROTOCOLS////////////////////////////////////// +//Note about the category name: The UI cuts the last 8 characters from the category name to remove the " Nanites" in the other categories +//Because of this, Protocols was getting cut down to "P", so i had to add some padding +/* +/datum/design/nanites/kickstart + name = "Kickstart Protocol" + desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation." + id = "kickstart_nanites" + program_type = /datum/nanite_program/protocol/kickstart + category = list("Protocols_Nanites") + +/datum/design/nanites/factory + name = "Factory Protocol" + desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. The factory decays if the protocol is not active." + id = "factory_nanites" + program_type = /datum/nanite_program/protocol/factory + category = list("Protocols_Nanites") + +/datum/design/nanites/tinker + name = "Tinker Protocol" + desc = "Replication Protocol: the nanites learn to use metallic material in the host's bloodstream to speed up the replication process." + id = "tinker_nanites" + program_type = /datum/nanite_program/protocol/tinker + category = list("Protocols_Nanites") + +/datum/design/nanites/offline + name = "Offline Production Protocol" + desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." + id = "offline_nanites" + program_type = /datum/nanite_program/protocol/offline + category = list("Protocols_Nanites") +*/ diff --git a/code/modules/research/nanites/extra_settings/_extra_setting.dm b/code/modules/research/nanites/extra_settings/_extra_setting.dm new file mode 100644 index 0000000000..b3bef77eb4 --- /dev/null +++ b/code/modules/research/nanites/extra_settings/_extra_setting.dm @@ -0,0 +1,20 @@ +/datum/nanite_extra_setting + var/setting_type + var/value + +/datum/nanite_extra_setting/proc/get_value() + return value + +/datum/nanite_extra_setting/proc/set_value(value) + src.value = value + +/datum/nanite_extra_setting/proc/get_copy() + return + +//I made the choice to send the name as part of the parameter instead of storing it directly on +//this datum as a way of avoiding duplication of data between the containing assoc list +//and this datum. +//Also make sure to double wrap the list when implementing this as +//+= is interpreted as a combine on lists, so the outer list gets unwrapped +/datum/nanite_extra_setting/proc/get_frontend_list(name) + return diff --git a/code/modules/research/nanites/extra_settings/boolean.dm b/code/modules/research/nanites/extra_settings/boolean.dm new file mode 100644 index 0000000000..7d66eb988e --- /dev/null +++ b/code/modules/research/nanites/extra_settings/boolean.dm @@ -0,0 +1,27 @@ +/datum/nanite_extra_setting/boolean + setting_type = NESTYPE_BOOLEAN + var/true_text + var/false_text + +/datum/nanite_extra_setting/boolean/New(initial, true_text, false_text) + value = initial + src.true_text = true_text + src.false_text = false_text + +/datum/nanite_extra_setting/boolean/set_value(value) + if(isnull(value)) + src.value = !src.value + return + . = ..() + +/datum/nanite_extra_setting/boolean/get_copy() + return new /datum/nanite_extra_setting/boolean(value, true_text, false_text) + +/datum/nanite_extra_setting/boolean/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "true_text" = true_text, + "false_text" = false_text + )) diff --git a/code/modules/research/nanites/extra_settings/number.dm b/code/modules/research/nanites/extra_settings/number.dm new file mode 100644 index 0000000000..6e63ae067e --- /dev/null +++ b/code/modules/research/nanites/extra_settings/number.dm @@ -0,0 +1,32 @@ +/datum/nanite_extra_setting/number + setting_type = NESTYPE_NUMBER + var/min + var/max + var/unit = "" + +/datum/nanite_extra_setting/number/New(initial, min, max, unit) + value = initial + src.min = min + src.max = max + if(unit) + src.unit = unit + +/datum/nanite_extra_setting/number/set_value(value) + if(istext(value)) + value = text2num(value) + if(!value || !isnum(value)) + return + src.value = CLAMP(value, min, max) + +/datum/nanite_extra_setting/number/get_copy() + return new /datum/nanite_extra_setting/number(value, min, max, unit) + +/datum/nanite_extra_setting/number/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "min" = min, + "max" = max, + "unit" = unit + )) diff --git a/code/modules/research/nanites/extra_settings/text.dm b/code/modules/research/nanites/extra_settings/text.dm new file mode 100644 index 0000000000..56aa3dd07f --- /dev/null +++ b/code/modules/research/nanites/extra_settings/text.dm @@ -0,0 +1,18 @@ +/datum/nanite_extra_setting/text + setting_type = NESTYPE_TEXT + +/datum/nanite_extra_setting/text/New(initial) + value = initial + +/datum/nanite_extra_setting/text/set_value(value) + src.value = trim(value) + +/datum/nanite_extra_setting/text/get_copy() + return new /datum/nanite_extra_setting/text(value) + +/datum/nanite_extra_setting/text/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value + )) diff --git a/code/modules/research/nanites/extra_settings/type.dm b/code/modules/research/nanites/extra_settings/type.dm new file mode 100644 index 0000000000..2085ba510c --- /dev/null +++ b/code/modules/research/nanites/extra_settings/type.dm @@ -0,0 +1,18 @@ +/datum/nanite_extra_setting/type + setting_type = NESTYPE_TYPE + var/list/types + +/datum/nanite_extra_setting/type/New(initial, types) + value = initial + src.types = types + +/datum/nanite_extra_setting/type/get_copy() + return new /datum/nanite_extra_setting/type(value, types) + +/datum/nanite_extra_setting/type/get_frontend_list(name) + return list(list( + "name" = name, + "type" = setting_type, + "value" = value, + "types" = types + )) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 515231c24c..4a980a0436 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -77,7 +77,7 @@ return occupant.AddComponent(/datum/component/nanites, 100) -/obj/machinery/nanite_chamber/proc/install_program(datum/nanite_program/NP) +/obj/machinery/nanite_chamber/proc/remove_nanites(datum/nanite_program/NP) if(stat & (NOPOWER|BROKEN)) return if((stat & MAINT) || panel_open) @@ -88,74 +88,46 @@ var/locked_state = locked locked = TRUE - //TODO COMPUTERY MACHINE SOUNDS - set_busy(TRUE, "Initializing installation protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Connecting to nanite framework...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Installing program...", "[initial(icon_state)]_falling"),35) - addtimer(CALLBACK(src, .proc/complete_installation, locked_state, NP),55) + //TODO OMINOUS MACHINE SOUNDS + set_busy(TRUE, "Initializing cleanup protocol...", "[initial(icon_state)]_raising") + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Analyzing host bio-structure...", "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Pinging nanites...", "[initial(icon_state)]_active"),40) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Initiating graceful self-destruct sequence...", "[initial(icon_state)]_active"),70) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Removing debris...", "[initial(icon_state)]_falling"),110) + addtimer(CALLBACK(src, .proc/complete_removal, locked_state),130) -/obj/machinery/nanite_chamber/proc/complete_installation(locked_state, datum/nanite_program/NP) +/obj/machinery/nanite_chamber/proc/complete_removal(locked_state) //TODO MACHINE DING locked = locked_state set_busy(FALSE) if(!occupant) return + SEND_SIGNAL(occupant, COMSIG_NANITE_DELETE) - SEND_SIGNAL(occupant, COMSIG_NANITE_ADD_PROGRAM, NP.copy()) - -/obj/machinery/nanite_chamber/proc/uninstall_program(datum/nanite_program/NP) - if(stat & (NOPOWER|BROKEN)) - return - if((stat & MAINT) || panel_open) - return - if(!occupant || busy) - return - - var/locked_state = locked - locked = TRUE - - //TODO COMPUTERY MACHINE SOUNDS - set_busy(TRUE, "Initializing uninstallation protocol...", "[initial(icon_state)]_raising") - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Connecting to nanite framework...", "[initial(icon_state)]_active"),20) - addtimer(CALLBACK(src, .proc/set_busy, TRUE, "Uninstalling program...", "[initial(icon_state)]_falling"),35) - addtimer(CALLBACK(src, .proc/complete_uninstallation, locked_state, NP),55) - -/obj/machinery/nanite_chamber/proc/complete_uninstallation(locked_state, datum/nanite_program/NP) - //TODO MACHINE DING - locked = locked_state - set_busy(FALSE) - if(!occupant) - return - qdel(NP) - -/obj/machinery/nanite_chamber/update_icon() - cut_overlays() - - if((stat & MAINT) || panel_open) - add_overlay("maint") - - else if(!(stat & (NOPOWER|BROKEN))) - if(busy || locked) - add_overlay("red") - if(locked) - add_overlay("bolted") - else - add_overlay("green") - +/obj/machinery/nanite_chamber/update_icon_state() //running and someone in there if(occupant) if(busy) icon_state = busy_icon_state else - icon_state = initial(icon_state)+ "_occupied" - return + icon_state = initial(icon_state) + "_occupied" + else + //running + icon_state = initial(icon_state) + (state_open ? "_open" : "") - //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") +/obj/machinery/nanite_chamber/update_overlays() + . = ..() -/obj/machinery/nanite_chamber/power_change() - ..() - update_icon() + if((stat & MAINT) || panel_open) + . += "maint" + + else if(!(stat & (NOPOWER|BROKEN))) + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + else + . += "green" /obj/machinery/nanite_chamber/proc/toggle_open(mob/user) if(panel_open) @@ -182,7 +154,7 @@ user.last_special = world.time + CLICK_CD_BREAKOUT user.visible_message("You see [user] kicking against the door of [src]!", \ "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + "You hear a metallic creaking from [src].") if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return @@ -231,6 +203,8 @@ toggle_open(user) /obj/machinery/nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) return - close_machine(target) + if(close_machine(target)) + log_combat(user, target, "inserted", null, "into [src].") + add_fingerprint(user) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index f9d931b3de..0750d3d268 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -5,30 +5,13 @@ var/obj/item/disk/nanite_program/disk circuit = /obj/item/circuitboard/computer/nanite_chamber_control icon_screen = "nanite_chamber_control" + ui_x = 380 + ui_y = 570 /obj/machinery/computer/nanite_chamber_control/Initialize() . = ..() find_chamber() -/obj/machinery/computer/nanite_chamber_control/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(disk) - eject(user) - if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) - disk = N - else - ..() - -/obj/machinery/computer/nanite_chamber_control/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_active_hand(disk)) - disk.forceMove(drop_location()) - disk = null - /obj/machinery/computer/nanite_chamber_control/proc/find_chamber() for(var/direction in GLOB.cardinals) var/C = locate(/obj/machinery/nanite_chamber, get_step(src, direction)) @@ -43,41 +26,13 @@ ..() /obj/machinery/computer/nanite_chamber_control/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) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_chamber_control", name, 550, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_chamber_control", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/computer/nanite_chamber_control/ui_data() var/list/data = list() - if(disk) - data["has_disk"] = TRUE - var/list/disk_data = list() - var/datum/nanite_program/P = disk.program - if(P) - data["has_program"] = TRUE - disk_data["name"] = P.name - disk_data["desc"] = P.desc - - disk_data["activated"] = P.activated - disk_data["activation_delay"] = P.activation_delay - disk_data["timer"] = P.timer - disk_data["activation_code"] = P.activation_code - disk_data["deactivation_code"] = P.deactivation_code - disk_data["kill_code"] = P.kill_code - disk_data["trigger_code"] = P.trigger_code - disk_data["timer_type"] = P.get_timer_type_text() - - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) - disk_data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - disk_data["has_extra_settings"] = TRUE - data["disk"] = disk_data if(!chamber) data["status_msg"] = "No chamber detected." @@ -89,7 +44,7 @@ var/mob/living/L = chamber.occupant - if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes)) + if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) data["status_msg"] = "Occupant not compatible with nanites." return data @@ -97,6 +52,7 @@ data["status_msg"] = chamber.busy_message return data + data["status_msg"] = null data["scan_level"] = chamber.scan_level data["locked"] = chamber.locked data["occupant_name"] = chamber.occupant.name @@ -113,46 +69,32 @@ chamber.locked = !chamber.locked chamber.update_icon() . = TRUE - if("eject") - eject(usr) - . = TRUE if("set_safety") - var/threshold = input("Set safety threshold (0-500):", name, null) as null|num + var/threshold = text2num(params["value"]) if(!isnull(threshold)) chamber.set_safety(CLAMP(round(threshold, 1),0,500)) - playsound(src, "terminal_type", 25, 0) - investigate_log("[key_name(chamber.occupant)]'s nanites' safety threshold was set to [threshold] by [key_name(usr)].", INVESTIGATE_NANITES) + playsound(src, "terminal_type", 25, FALSE) + chamber.occupant.investigate_log("'s nanites' safety threshold was set to [threshold] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE if("set_cloud") - var/cloud_id = input("Set cloud ID (1-100, 0 to disable):", name, null) as null|num + var/cloud_id = text2num(params["value"]) if(!isnull(cloud_id)) chamber.set_cloud(CLAMP(round(cloud_id, 1),0,100)) - playsound(src, "terminal_type", 25, 0) - investigate_log("[key_name(chamber.occupant)]'s nanites' cloud id was set to [cloud_id] by [key_name(usr)].", INVESTIGATE_NANITES) + playsound(src, "terminal_type", 25, FALSE) + chamber.occupant.investigate_log("'s nanites' cloud id was set to [cloud_id] by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE if("connect_chamber") find_chamber() . = TRUE + if("remove_nanites") + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) + chamber.remove_nanites() + log_combat(usr, chamber.occupant, "cleared nanites from", null, "via [src]") + chamber.occupant.investigate_log("'s nanites were cleared by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + . = TRUE if("nanite_injection") - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) chamber.inject_nanites() - investigate_log("[key_name(chamber.occupant)] was injected with nanites by [key_name(usr)] using a nanite chamber.", INVESTIGATE_NANITES) + log_combat(usr, chamber.occupant, "injected", null, "with nanites via [src]") + chamber.occupant.investigate_log("was injected with nanites by [key_name(usr)] via [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) . = TRUE - if("add_program") - if(!disk || !chamber || !chamber.occupant) - return - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) - chamber.install_program(disk.program) - investigate_log("Program of type [disk.program.type] was installed into [key_name(chamber.occupant)]'s nanites with a nanite chamber by [key_name(usr)].", INVESTIGATE_NANITES) - . = TRUE - if("remove_program") - if(!chamber || !chamber.occupant) - return - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) - var/list/nanite_programs = list() - SEND_SIGNAL(chamber.occupant, COMSIG_NANITE_GET_PROGRAMS, nanite_programs) - if(LAZYLEN(nanite_programs)) - var/datum/nanite_program/P = nanite_programs[text2num(params["program_id"])] - chamber.uninstall_program(P) - investigate_log("Program of type [P.type] was uninstalled from [key_name(chamber.occupant)]'s nanites with a nanite chamber by [key_name(usr)].", INVESTIGATE_NANITES) - . = TRUE \ No newline at end of file diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm index 081b1a7a4c..0731d3067c 100644 --- a/code/modules/research/nanites/nanite_cloud_controller.dm +++ b/code/modules/research/nanites/nanite_cloud_controller.dm @@ -4,9 +4,13 @@ circuit = /obj/item/circuitboard/computer/nanite_cloud_controller icon = 'icons/obj/machines/research.dmi' icon_state = "nanite_cloud_controller" + ui_x = 375 + ui_y = 700 + var/obj/item/disk/nanite_program/disk var/list/datum/nanite_cloud_backup/cloud_backups = list() var/current_view = 0 //0 is the main menu, any other number is the page of the backup with that ID + var/new_backup_id = 1 /obj/machinery/computer/nanite_cloud_controller/Destroy() QDEL_LIST(cloud_backups) //rip backups @@ -19,8 +23,8 @@ if(disk) eject(user) if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + to_chat(user, "You insert [N] into [src].") + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N else ..() @@ -50,13 +54,14 @@ investigate_log("[key_name(user)] created a new nanite cloud backup with id #[cloud_id]", INVESTIGATE_NANITES) /obj/machinery/computer/nanite_cloud_controller/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) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_cloud_control", name, 600, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_cloud_control", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/computer/nanite_cloud_controller/ui_data() var/list/data = list() + if(disk) data["has_disk"] = TRUE var/list/disk_data = list() @@ -71,24 +76,28 @@ disk_data["trigger_cooldown"] = P.trigger_cooldown / 10 disk_data["activated"] = P.activated - disk_data["activation_delay"] = P.activation_delay - disk_data["timer"] = P.timer disk_data["activation_code"] = P.activation_code disk_data["deactivation_code"] = P.deactivation_code disk_data["kill_code"] = P.kill_code disk_data["trigger_code"] = P.trigger_code - disk_data["timer_type"] = P.get_timer_type_text() + disk_data["timer_restart"] = P.timer_restart / 10 + disk_data["timer_shutdown"] = P.timer_shutdown / 10 + disk_data["timer_trigger"] = P.timer_trigger / 10 + disk_data["timer_trigger_delay"] = P.timer_trigger_delay / 10 - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) + var/list/extra_settings = P.get_extra_settings_frontend() disk_data["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) disk_data["has_extra_settings"] = TRUE + if(istype(P, /datum/nanite_program/sensor)) + var/datum/nanite_program/sensor/sensor = P + if(sensor.can_rule) + disk_data["can_rule"] = TRUE data["disk"] = disk_data + else + data["has_disk"] = FALSE + + data["new_backup_id"] = new_backup_id data["current_view"] = current_view if(current_view) @@ -108,19 +117,30 @@ cloud_program["trigger_cost"] = P.trigger_cost cloud_program["trigger_cooldown"] = P.trigger_cooldown / 10 cloud_program["activated"] = P.activated - cloud_program["activation_delay"] = P.activation_delay - cloud_program["timer"] = P.timer - cloud_program["timer_type"] = P.get_timer_type_text() + cloud_program["timer_restart"] = P.timer_restart / 10 + cloud_program["timer_shutdown"] = P.timer_shutdown / 10 + cloud_program["timer_trigger"] = P.timer_trigger / 10 + cloud_program["timer_trigger_delay"] = P.timer_trigger_delay / 10 + cloud_program["activation_code"] = P.activation_code cloud_program["deactivation_code"] = P.deactivation_code cloud_program["kill_code"] = P.kill_code cloud_program["trigger_code"] = P.trigger_code - var/list/extra_settings = list() - for(var/X in P.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = P.get_extra_setting(X) - extra_settings += list(setting) + var/list/rules = list() + var/rule_id = 1 + for(var/X in P.rules) + var/datum/nanite_rule/nanite_rule = X + var/list/rule = list() + rule["display"] = nanite_rule.display() + rule["program_id"] = id + rule["id"] = rule_id + rules += list(rule) + rule_id++ + cloud_program["rules"] = rules + if(LAZYLEN(rules)) + cloud_program["has_rules"] = TRUE + + var/list/extra_settings = P.get_extra_settings_frontend() cloud_program["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) cloud_program["has_extra_settings"] = TRUE @@ -147,17 +167,20 @@ if("set_view") current_view = text2num(params["view"]) . = TRUE + if("update_new_backup_value") + var/backup_value = text2num(params["value"]) + new_backup_id = backup_value if("create_backup") - var/cloud_id = input("Choose a cloud ID (1-100):", name, null) as null|num + var/cloud_id = new_backup_id if(!isnull(cloud_id)) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) cloud_id = CLAMP(round(cloud_id, 1),1,100) generate_backup(cloud_id, usr) . = TRUE if("delete_backup") var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) qdel(backup) investigate_log("[key_name(usr)] deleted the nanite cloud backup #[current_view]", INVESTIGATE_NANITES) . = TRUE @@ -165,7 +188,7 @@ if(disk && disk.program) var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) var/datum/component/nanites/nanites = backup.nanites nanites.add_program(null, disk.program.copy()) investigate_log("[key_name(usr)] uploaded program [disk.program.name] to cloud #[current_view]", INVESTIGATE_NANITES) @@ -173,12 +196,37 @@ if("remove_program") var/datum/nanite_cloud_backup/backup = get_backup(current_view) if(backup) - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) var/datum/component/nanites/nanites = backup.nanites var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] investigate_log("[key_name(usr)] deleted program [P.name] from cloud #[current_view]", INVESTIGATE_NANITES) qdel(P) . = TRUE + if("add_rule") + if(disk && disk.program && istype(disk.program, /datum/nanite_program/sensor)) + var/datum/nanite_program/sensor/rule_template = disk.program + if(!rule_template.can_rule) + return + var/datum/nanite_cloud_backup/backup = get_backup(current_view) + if(backup) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + var/datum/component/nanites/nanites = backup.nanites + var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] + var/datum/nanite_rule/rule = rule_template.make_rule(P) + + investigate_log("[key_name(usr)] added rule [rule.display()] to program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) + . = TRUE + if("remove_rule") + var/datum/nanite_cloud_backup/backup = get_backup(current_view) + if(backup) + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) + var/datum/component/nanites/nanites = backup.nanites + var/datum/nanite_program/P = nanites.programs[text2num(params["program_id"])] + var/datum/nanite_rule/rule = P.rules[text2num(params["rule_id"])] + rule.remove() + + investigate_log("[key_name(usr)] removed rule [rule.display()] from program [P.name] in cloud #[current_view]", INVESTIGATE_NANITES) + . = TRUE /datum/nanite_cloud_backup var/cloud_id = 0 @@ -193,4 +241,4 @@ /datum/nanite_cloud_backup/Destroy() storage.cloud_backups -= src SSnanites.cloud_backups -= src - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/research/nanites/nanite_hijacker.dm b/code/modules/research/nanites/nanite_hijacker.dm index 920c42b411..8e5e68dd18 100644 --- a/code/modules/research/nanites/nanite_hijacker.dm +++ b/code/modules/research/nanites/nanite_hijacker.dm @@ -1,3 +1,4 @@ +/* Doesnt work anymore due to code updates, was unused anyways. /obj/item/nanite_hijacker name = "nanite remote control" //fake name desc = "A device that can load nanite programming disks, edit them at will, and imprint them to nanites remotely." @@ -154,4 +155,5 @@ program.timer_type = NANITE_TIMER_TRIGGER if("Reset Activation Timer") program.timer_type = NANITE_TIMER_RESET - . = TRUE \ No newline at end of file + . = TRUE +*/ diff --git a/code/modules/research/nanites/nanite_misc_items.dm b/code/modules/research/nanites/nanite_misc_items.dm index cbcdfb0f9f..6837543d11 100644 --- a/code/modules/research/nanites/nanite_misc_items.dm +++ b/code/modules/research/nanites/nanite_misc_items.dm @@ -6,4 +6,4 @@ icon_state = "nanite_remote" /obj/item/nanite_injector/attack_self(mob/user) - user.AddComponent(/datum/component/nanites, 150) \ No newline at end of file + user.AddComponent(/datum/component/nanites, 150) diff --git a/code/modules/research/nanites/nanite_program_hub.dm b/code/modules/research/nanites/nanite_program_hub.dm index d6e0bbdabb..ea4392f236 100644 --- a/code/modules/research/nanites/nanite_program_hub.dm +++ b/code/modules/research/nanites/nanite_program_hub.dm @@ -7,18 +7,21 @@ use_power = IDLE_POWER_USE anchored = TRUE density = TRUE + ui_x = 500 + ui_y = 700 var/obj/item/disk/nanite_program/disk var/datum/techweb/linked_techweb var/current_category = "Main" - var/detail_view = FALSE + var/detail_view = TRUE var/categories = list( list(name = "Utility Nanites"), list(name = "Medical Nanites"), list(name = "Sensor Nanites"), list(name = "Augmentation Nanites"), list(name = "Suppression Nanites"), - list(name = "Weaponized Nanites") + list(name = "Weaponized Nanites"), + //list(name = "Protocols") B.E.P.I.S Content, which we dont have ) /obj/machinery/nanite_program_hub/Initialize() @@ -31,8 +34,8 @@ if(disk) eject(user) if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + to_chat(user, "You insert [N] into [src].") + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N else ..() @@ -45,10 +48,9 @@ disk = null /obj/machinery/nanite_program_hub/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) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_program_hub", name, 500, 700, master_ui, state) - ui.set_autoupdate(FALSE) //to avoid making the whole program list every second + ui = new(user, src, ui_key, "nanite_program_hub", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/nanite_program_hub/ui_data() @@ -62,25 +64,31 @@ disk_data["name"] = P.name disk_data["desc"] = P.desc data["disk"] = disk_data + else + data["has_disk"] = FALSE data["detail_view"] = detail_view - data["category"] = current_category - if(current_category != "Main") - var/list/program_list = list() - for(var/i in linked_techweb.researched_designs) - var/datum/design/nanites/D = SSresearch.techweb_design_by_id(i) - if(!istype(D)) - continue - if(current_category in D.category) - var/list/program_design = list() - program_design["id"] = D.id - program_design["name"] = D.name - program_design["desc"] = D.desc - program_list += list(program_design) - data["program_list"] = program_list - else - data["categories"] = categories + return data + +/obj/machinery/nanite_program_hub/ui_static_data(mob/user) + var/list/data = list() + data["programs"] = list() + for(var/i in linked_techweb.researched_designs) + var/datum/design/nanites/D = SSresearch.techweb_design_by_id(i) + if(!istype(D)) + continue + var/cat_name = D.category[1] //just put them in the first category fuck it + if(isnull(data["programs"][cat_name])) + data["programs"][cat_name] = list() + var/list/program_design = list() + program_design["id"] = D.id + program_design["name"] = D.name + program_design["desc"] = D.desc + data["programs"][cat_name] += list(program_design) + + if(!length(data["programs"])) + data["programs"] = null return data @@ -101,11 +109,10 @@ qdel(disk.program) disk.program = new downloaded.program_type disk.name = "[initial(disk.name)] \[[disk.program.name]\]" - playsound(src, 'sound/machines/terminal_prompt.ogg', 25, 0) + playsound(src, 'sound/machines/terminal_prompt.ogg', 25, FALSE) . = TRUE - if("set_category") - var/new_category = params["category"] - current_category = new_category + if("refresh") + update_static_data(usr) . = TRUE if("toggle_details") detail_view = !detail_view diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm index fd22fbf4b1..e61f58c81e 100644 --- a/code/modules/research/nanites/nanite_programmer.dm +++ b/code/modules/research/nanites/nanite_programmer.dm @@ -9,6 +9,9 @@ use_power = IDLE_POWER_USE anchored = TRUE density = TRUE + flags_1 = HEAR_1 + ui_x = 420 + ui_y = 550 /obj/machinery/nanite_programmer/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/disk/nanite_program)) @@ -17,7 +20,7 @@ eject(user) if(user.transferItemToLoc(N, src)) to_chat(user, "You insert [N] into [src]") - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) disk = N program = N.program else @@ -32,9 +35,9 @@ program = null /obj/machinery/nanite_programmer/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) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_programmer", name, 600, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_programmer", name, ui_x, ui_y, master_ui, state) ui.open() /obj/machinery/nanite_programmer/ui_data() @@ -50,20 +53,16 @@ data["trigger_cooldown"] = program.trigger_cooldown / 10 data["activated"] = program.activated - data["activation_delay"] = program.activation_delay - data["timer"] = program.timer data["activation_code"] = program.activation_code data["deactivation_code"] = program.deactivation_code data["kill_code"] = program.kill_code data["trigger_code"] = program.trigger_code - data["timer_type"] = program.get_timer_type_text() + data["timer_restart"] = program.timer_restart / 10 + data["timer_shutdown"] = program.timer_shutdown / 10 + data["timer_trigger"] = program.timer_trigger / 10 + data["timer_trigger_delay"] = program.timer_trigger_delay / 10 - var/list/extra_settings = list() - for(var/X in program.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = program.get_extra_setting(X) - extra_settings += list(setting) + var/list/extra_settings = program.get_extra_settings_frontend() data["extra_settings"] = extra_settings if(LAZYLEN(extra_settings)) data["has_extra_settings"] = TRUE @@ -78,20 +77,12 @@ eject(usr) . = TRUE if("toggle_active") - playsound(src, "terminal_type", 25, 0) + playsound(src, "terminal_type", 25, FALSE) program.activated = !program.activated //we don't use the activation procs since we aren't in a mob - if(program.activated) - program.activation_delay = 0 . = TRUE if("set_code") - var/new_code = input("Set code (0000-9999):", name, null) as null|num - if(!isnull(new_code)) - playsound(src, "terminal_type", 25, 0) - new_code = CLAMP(round(new_code, 1),0,9999) - else - return - - playsound(src, "terminal_type", 25, 0) + var/new_code = text2num(params["code"]) + playsound(src, "terminal_type", 25, FALSE) var/target_code = params["target_code"] switch(target_code) if("activation") @@ -104,37 +95,44 @@ program.trigger_code = CLAMP(round(new_code, 1),0,9999) . = TRUE if("set_extra_setting") - program.set_extra_setting(usr, params["target_setting"]) - playsound(src, "terminal_type", 25, 0) + program.set_extra_setting(params["target_setting"], params["value"]) + playsound(src, "terminal_type", 25, FALSE) . = TRUE - if("set_activation_delay") - var/delay = input("Set activation delay in seconds (0-1800):", name, program.activation_delay) as null|num - if(!isnull(delay)) - playsound(src, "terminal_type", 25, 0) - delay = CLAMP(round(delay, 1),0,1800) - program.activation_delay = delay - if(delay) - program.activated = FALSE - . = TRUE - if("set_timer") - var/timer = input("Set timer in seconds (10-3600):", name, program.timer) as null|num + if("set_restart_timer") + var/timer = text2num(params["delay"]) if(!isnull(timer)) - playsound(src, "terminal_type", 25, 0) - if(!timer == 0) - timer = CLAMP(round(timer, 1),10,3600) - program.timer = timer + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_restart = timer . = TRUE - if("set_timer_type") - var/new_type = input("Choose the timer effect","Timer Effect") as null|anything in list("Deactivate","Self-Delete","Trigger","Reset Activation Timer") - if(new_type) - playsound(src, "terminal_type", 25, 0) - switch(new_type) - if("Deactivate") - program.timer_type = NANITE_TIMER_DEACTIVATE - if("Self-Delete") - program.timer_type = NANITE_TIMER_SELFDELETE - if("Trigger") - program.timer_type = NANITE_TIMER_TRIGGER - if("Reset Activation Timer") - program.timer_type = NANITE_TIMER_RESET - . = TRUE \ No newline at end of file + if("set_shutdown_timer") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_shutdown = timer + . = TRUE + if("set_trigger_timer") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_trigger = timer + . = TRUE + if("set_timer_trigger_delay") + var/timer = text2num(params["delay"]) + if(!isnull(timer)) + playsound(src, "terminal_type", 25, FALSE) + timer = CLAMP(round(timer, 1), 0, 3600) + timer *= 10 //convert to deciseconds + program.timer_trigger_delay = timer + . = TRUE + +/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) + . = ..() + var/static/regex/when = regex("(?:^\\W*when|when\\W*$)", "i") //starts or ends with when + if(findtext(raw_message, when) && !istype(speaker, /obj/machinery/nanite_programmer)) + say("When you code it!!") diff --git a/code/modules/research/nanites/nanite_programs.dm b/code/modules/research/nanites/nanite_programs.dm index 0d27d7ba0d..72f969a77e 100644 --- a/code/modules/research/nanites/nanite_programs.dm +++ b/code/modules/research/nanites/nanite_programs.dm @@ -11,7 +11,7 @@ var/trigger_cost = 0 //Amount of nanites required to trigger var/trigger_cooldown = 50 //Deciseconds required between each trigger activation var/next_trigger = 0 //World time required for the next trigger activation - var/timer_counter = 0 //Counts up while active. Used for the timer and the activation delay. + var/program_flags = NONE var/passive_enabled = FALSE //If the nanites have an on/off-style effect, it's tracked by this var @@ -28,9 +28,17 @@ //The following vars are customizable var/activated = TRUE //If FALSE, the program won't process, disables passive effects, can't trigger and doesn't consume nanites - var/activation_delay = 0 //Seconds before the program self-activates. - var/timer = 0 //Seconds before the timer effect activates. Starts counting AFTER the activation delay - var/timer_type = NANITE_TIMER_DEACTIVATE //What happens when the timer runs out + + var/timer_restart = 0 //When deactivated, the program will wait X deciseconds before self-reactivating. Also works if the program begins deactivated. + var/timer_shutdown = 0 //When activated, the program will wait X deciseconds before self-deactivating. Also works if the program begins activated. + var/timer_trigger = 0 //[Trigger only] While active, the program will attempt to trigger once every x deciseconds. + var/timer_trigger_delay = 0 //[Trigger only] While active, the program will delay trigger signals by X deciseconds. + + //Indicates the next world.time tick where these timers will act + var/timer_restart_next = 0 + var/timer_shutdown_next = 0 + var/timer_trigger_next = 0 + var/timer_trigger_delay_next = 0 //Signal codes, these handle remote input to the nanites. If set to 0 they'll ignore signals. var/activation_code = 0 //Code that activates the program [1-9999] @@ -39,19 +47,19 @@ var/trigger_code = 0 //Code that triggers the program (if available) [1-9999] //Extra settings - //Must be listed in text form, with the same title they'll be displayed in the programmer UI - //Changing these values is handled by set_extra_setting() - //Viewing these values is handled by get_extra_setting() - //Copying these values is handled by copy_extra_settings_to() + ///Don't ever override this or I will come to your house and stand menacingly behind a bush var/list/extra_settings = list() -/datum/nanite_program/triggered - use_rate = 0 - trigger_cost = 5 - trigger_cooldown = 50 - can_trigger = TRUE + //Rules + //Rules that automatically manage if the program's active without requiring separate sensor programs + var/list/datum/nanite_rule/rules = list() + +/datum/nanite_program/New() + . = ..() + register_extra_settings() /datum/nanite_program/Destroy() + extra_settings = null if(host_mob) if(activated) deactivate() @@ -64,39 +72,60 @@ /datum/nanite_program/proc/copy() var/datum/nanite_program/new_program = new type() - - new_program.activated = activated - new_program.activation_delay = activation_delay - new_program.timer = timer - new_program.timer_type = timer_type - new_program.activation_code = activation_code - new_program.deactivation_code = deactivation_code - new_program.kill_code = kill_code - new_program.trigger_code = trigger_code - copy_extra_settings_to(new_program) + copy_programming(new_program, TRUE) return new_program /datum/nanite_program/proc/copy_programming(datum/nanite_program/target, copy_activated = TRUE) if(copy_activated) target.activated = activated - target.activation_delay = activation_delay - target.timer = timer - target.timer_type = timer_type + target.timer_restart = timer_restart + target.timer_shutdown = timer_shutdown + target.timer_trigger = timer_trigger + target.timer_trigger_delay = timer_trigger_delay target.activation_code = activation_code target.deactivation_code = deactivation_code target.kill_code = kill_code target.trigger_code = trigger_code - copy_extra_settings_to(target) -/datum/nanite_program/proc/set_extra_setting(user, setting) + target.rules = list() + for(var/R in rules) + var/datum/nanite_rule/rule = R + rule.copy_to(target) + + if(istype(target,src)) + copy_extra_settings_to(target) + +///Register extra settings by overriding this. +///extra_settings[name] = new typepath() for each extra setting +/datum/nanite_program/proc/register_extra_settings() return -/datum/nanite_program/proc/get_extra_setting(setting) - return +///You can override this if you need to have special behavior after setting certain settings. +/datum/nanite_program/proc/set_extra_setting(setting, value) + var/datum/nanite_extra_setting/ES = extra_settings[setting] + return ES.set_value(value) +///You probably shouldn't be overriding this one, but I'm not a cop. +/datum/nanite_program/proc/get_extra_setting_value(setting) + var/datum/nanite_extra_setting/ES = extra_settings[setting] + return ES.get_value() + +///Used for getting information about the extra settings to the frontend +/datum/nanite_program/proc/get_extra_settings_frontend() + var/list/out = list() + for(var/name in extra_settings) + var/datum/nanite_extra_setting/ES = extra_settings[name] + out += ES.get_frontend_list(name) + return out + +///Copy of the list instead of direct reference for obvious reasons /datum/nanite_program/proc/copy_extra_settings_to(datum/nanite_program/target) - return + var/list/copy_list = list() + for(var/ns_name in extra_settings) + var/datum/nanite_extra_setting/extra_setting = extra_settings[ns_name] + copy_list[ns_name] = extra_setting.get_copy() + target.extra_settings = copy_list /datum/nanite_program/proc/on_add(datum/component/nanites/_nanites) nanites = _nanites @@ -105,10 +134,12 @@ /datum/nanite_program/proc/on_mob_add() host_mob = nanites.host_mob - if(activated) //apply activation effects if it starts active + if(activated) //apply activation effects depending on initial status; starts the restart and shutdown timers activate() + else + deactivate() -datum/nanite_program/proc/on_mob_remove() +/datum/nanite_program/proc/on_mob_remove() return /datum/nanite_program/proc/toggle() @@ -119,36 +150,35 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/activate() activated = TRUE - timer_counter = activation_delay + if(timer_shutdown) + timer_shutdown_next = world.time + timer_shutdown /datum/nanite_program/proc/deactivate() if(passive_enabled) disable_passive_effect() activated = FALSE + if(timer_restart) + timer_restart_next = world.time + timer_restart /datum/nanite_program/proc/on_process() - timer_counter++ - - if(activation_delay) - if(activated && timer_counter < activation_delay) - deactivate() - else if(!activated && timer_counter >= activation_delay) - activate() if(!activated) + if(timer_restart_next && world.time > timer_restart_next) + activate() + timer_restart_next = 0 return - if(timer && timer_counter > timer) - if(timer_type == NANITE_TIMER_DEACTIVATE) - deactivate() - return - else if(timer_type == NANITE_TIMER_SELFDELETE) - qdel(src) - return - else if(can_trigger && timer_type == NANITE_TIMER_TRIGGER) - trigger() - timer_counter = activation_delay - else if(timer_type == NANITE_TIMER_RESET) - timer_counter = 0 + if(timer_shutdown_next && world.time > timer_shutdown_next) + deactivate() + timer_shutdown_next = 0 + + if(timer_trigger && world.time > timer_trigger_next) + trigger() + timer_trigger_next = world.time + timer_trigger + + if(timer_trigger_delay_next && world.time > timer_trigger_delay_next) + trigger(delayed = TRUE) + timer_trigger_delay_next = 0 + if(check_conditions() && consume_nanites(use_rate)) if(!passive_enabled) enable_passive_effect() @@ -160,6 +190,10 @@ datum/nanite_program/proc/on_mob_remove() //If false, disables active and passive effects, but doesn't consume nanites //Can be used to avoid consuming nanites for nothing /datum/nanite_program/proc/check_conditions() + for(var/R in rules) + var/datum/nanite_rule/rule = R + if(!rule.check_rule()) + return FALSE return TRUE //Constantly procs as long as the program is active @@ -174,15 +208,25 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/disable_passive_effect() passive_enabled = FALSE -/datum/nanite_program/proc/trigger() +//Checks conditions then fires the nanite trigger effect +/datum/nanite_program/proc/trigger(delayed = FALSE, comm_message) + if(!can_trigger) + return if(!activated) - return FALSE + return + if(timer_trigger_delay && !delayed) + timer_trigger_delay_next = world.time + timer_trigger_delay + return if(world.time < next_trigger) - return FALSE + return if(!consume_nanites(trigger_cost)) - return FALSE + return next_trigger = world.time + trigger_cooldown - return TRUE + on_trigger(comm_message) + +//Nanite trigger effect, requires can_trigger to be used +/datum/nanite_program/proc/on_trigger(comm_message) + return /datum/nanite_program/proc/consume_nanites(amount, force = FALSE) return nanites.consume_nanites(amount, force) @@ -234,24 +278,36 @@ datum/nanite_program/proc/on_mob_remove() /datum/nanite_program/proc/receive_signal(code, source) if(activation_code && code == activation_code && !activated) activate() - host_mob.investigate_log("[host_mob]'s [name] nanite program was activated by [source] with code [code].", INVESTIGATE_NANITES) + host_mob.investigate_log("'s [name] nanite program was activated by [source] with code [code].", INVESTIGATE_NANITES) else if(deactivation_code && code == deactivation_code && activated) deactivate() - host_mob.investigate_log("[host_mob]'s [name] nanite program was deactivated by [source] with code [code].", INVESTIGATE_NANITES) - if(kill_code && code == kill_code) - host_mob.investigate_log("[host_mob]'s [name] nanite program was deleted by [source] with code [code].", INVESTIGATE_NANITES) - qdel(src) - else if(can_trigger && trigger_code && code == trigger_code) + host_mob.investigate_log("'s [name] nanite program was deactivated by [source] with code [code].", INVESTIGATE_NANITES) + if(can_trigger && trigger_code && code == trigger_code) trigger() - host_mob.investigate_log("[host_mob]'s [name] nanite program was triggered by [source] with code [code].", INVESTIGATE_NANITES) + host_mob.investigate_log("'s [name] nanite program was triggered by [source] with code [code].", INVESTIGATE_NANITES) + if(kill_code && code == kill_code) + host_mob.investigate_log("'s [name] nanite program was deleted by [source] with code [code].", INVESTIGATE_NANITES) + qdel(src) + +///A nanite program containing a behaviour protocol. Only one protocol of each class can be active at once. +//Currently unused due to us lacking the B.E.P.I.S +/datum/nanite_program/protocol + name = "Nanite Protocol" + var/protocol_class = NONE + +/datum/nanite_program/protocol/check_conditions() + . = ..() + for(var/protocol in nanites.protocols) + var/datum/nanite_program/protocol/P = protocol + if(P != src && P.activated && P.protocol_class == protocol_class) + return FALSE + +/datum/nanite_program/protocol/on_add(datum/component/nanites/_nanites) + ..() + nanites.protocols += src + +/datum/nanite_program/protocol/Destroy() + if(nanites) + nanites.protocols -= src + return ..() -/datum/nanite_program/proc/get_timer_type_text() - switch(timer_type) - if(NANITE_TIMER_DEACTIVATE) - return "Deactivate" - if(NANITE_TIMER_SELFDELETE) - return "Self-Delete" - if(NANITE_TIMER_TRIGGER) - return "Trigger" - if(NANITE_TIMER_RESET) - return "Reset Activation Timer" diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index dde61ec378..ed3f420091 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -18,24 +18,16 @@ var/mob/living/carbon/human/H = host_mob H.physiology.stun_mod *= 2 -/datum/nanite_program/triggered/adrenaline +/datum/nanite_program/adrenaline name = "Adrenaline Burst" desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed." + can_trigger = TRUE trigger_cost = 25 trigger_cooldown = 1200 rogue_types = list(/datum/nanite_program/toxic, /datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/adrenaline/trigger() - if(!..()) - return - to_chat(host_mob, "You feel a sudden surge of energy!") - host_mob.SetStun(0) - host_mob.SetKnockdown(0) - host_mob.SetUnconscious(0) - host_mob.adjustStaminaLoss(-10) //stimulants give stamina heal now - host_mob.lying = 0 - host_mob.update_canmove() - host_mob.reagents.add_reagent(/datum/reagent/medicine/stimulants, 1.5) +/datum/nanite_program/adrenaline/on_trigger() + host_mob.do_adrenaline(-10, TRUE, TRUE, FALSE, TRUE, /datum/reagent/medicine/stimulants = 1.5, "You feel a sudden surge of energy!", FALSE, FALSE, FALSE) /datum/nanite_program/hardening name = "Dermal Hardening" @@ -120,7 +112,7 @@ /datum/nanite_program/mindshield/enable_passive_effect() . = ..() - if(!host_mob.mind.has_antag_datum(/datum/antagonist/rev)) //won't work if on a rev, to avoid having implanted revs + if(!host_mob.mind.has_antag_datum(/datum/antagonist/rev, TRUE)) //won't work if on a rev, to avoid having implanted revs. ADD_TRAIT(host_mob, TRAIT_MINDSHIELD, "nanites") host_mob.sec_hud_set_implants() diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index df439e4496..5114e156d8 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -48,12 +48,12 @@ /datum/nanite_program/purging name = "Blood Purification" - desc = "The nanites purge toxins and chemicals from the host's bloodstream, however it is dangerous to slimepeople biology due to inaccuracy." + desc = "The nanites purge toxins and chemicals from the host's bloodstream, however it is dangerous to slime biology due to inaccuracy." use_rate = 1 rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) /datum/nanite_program/purging/check_conditions() - var/foreign_reagent = LAZYLEN(host_mob.reagents.reagent_list) + var/foreign_reagent = length(host_mob.reagents?.reagent_list) if(!host_mob.getToxLoss() && !foreign_reagent) return FALSE return ..() @@ -73,18 +73,17 @@ rogue_types = list(/datum/nanite_program/brain_decay) /datum/nanite_program/brain_heal/check_conditions() + var/problems = FALSE if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - for(var/X in C.get_traumas()) - var/datum/brain_trauma/BT = X - if(BT.resilience <= TRAUMA_RESILIENCE_BASIC) - return ..() - if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN)) - return ..() - return FALSE + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN) > 0) + problems = TRUE + return problems ? ..() : FALSE /datum/nanite_program/brain_heal/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1, TRUE) + host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1) if(iscarbon(host_mob) && prob(10)) var/mob/living/carbon/C = host_mob C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) @@ -125,7 +124,7 @@ if(!parts.len) return FALSE else - if(!(MOB_ROBOTIC in host_mob.mob_biotypes)) + if(!(host_mob.mob_biotypes & MOB_ROBOTIC)) return FALSE return ..() @@ -148,7 +147,7 @@ /datum/nanite_program/purging_advanced name = "Selective Blood Purification" desc = "The nanites purge toxins and dangerous chemicals from the host's bloodstream, while ignoring beneficial chemicals. \ - The added processing power required to analyze the chemicals severely increases the nanite consumption rate. Due to added complexity, it is safe with slimepeople biology." + The added processing power required to analyze the chemicals severely increases the nanite consumption rate. This program is safe with slime biology due to the increased precision." use_rate = 2 rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic) @@ -181,7 +180,7 @@ return var/update = FALSE for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(3/parts.len, 3/parts.len)) + if(L.heal_damage(3/parts.len, 3/parts.len, null, BODYPART_ORGANIC)) update = TRUE if(update) host_mob.update_damage_overlays() @@ -196,70 +195,54 @@ rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) /datum/nanite_program/brain_heal_advanced/check_conditions() + var/problems = FALSE if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - for(var/X in C.get_traumas()) - var/datum/brain_trauma/BT = X - if(BT.resilience <= TRAUMA_RESILIENCE_LOBOTOMY) - return ..() - if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN)) - return ..() - return FALSE + if(length(C.get_traumas())) + problems = TRUE + if(host_mob.getOrganLoss(ORGAN_SLOT_BRAIN) > 0) + problems = TRUE + return problems ? ..() : FALSE /datum/nanite_program/brain_heal_advanced/active_effect() - host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2, TRUE) + host_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2) if(iscarbon(host_mob) && prob(10)) var/mob/living/carbon/C = host_mob C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_LOBOTOMY) -/datum/nanite_program/triggered/defib +/datum/nanite_program/defib name = "Defibrillation" desc = "The nanites shock the host's heart when triggered, bringing them back to life if the body can sustain it." + can_trigger = TRUE trigger_cost = 25 trigger_cooldown = 120 - rogue_types = list(/datum/nanite_program/triggered/shocking) - -/datum/nanite_program/triggered/defib/trigger() - if(!..()) - return + rogue_types = list(/datum/nanite_program/shocking) +/datum/nanite_program/defib/on_trigger(comm_message) host_mob.notify_ghost_cloning("Your heart is being defibrillated by nanites. Re-enter your corpse if you want to be revived!") addtimer(CALLBACK(src, .proc/zap), 50) -/datum/nanite_program/triggered/defib/proc/check_revivable() +/datum/nanite_program/defib/proc/check_revivable() if(!iscarbon(host_mob)) //nonstandard biology return FALSE var/mob/living/carbon/C = host_mob - if(C.suiciding || HAS_TRAIT(C, TRAIT_NOCLONE) || C.hellbound) //can't revive - return FALSE - if((world.time - C.timeofdeath) > 1800) //too late - return FALSE - if((C.getBruteLoss() > 180) || (C.getFireLoss() > 180) || !C.can_be_revived()) //too damaged - return FALSE - if(!C.getorgan(/obj/item/organ/heart)) //what are we even shocking - return FALSE - var/obj/item/organ/brain/BR = C.getorgan(/obj/item/organ/brain) - if(QDELETED(BR) || BR.brain_death || (BR.organ_flags & ORGAN_FAILING) || C.suiciding) - return FALSE if(C.get_ghost()) return FALSE - return TRUE + return C.can_defib() -/datum/nanite_program/triggered/defib/proc/zap() +/datum/nanite_program/defib/proc/zap() var/mob/living/carbon/C = host_mob - playsound(C, 'sound/machines/defib_charge.ogg', 50, 0) + playsound(C, 'sound/machines/defib_charge.ogg', 50, FALSE) sleep(30) - playsound(C, 'sound/machines/defib_zap.ogg', 50, 0) + playsound(C, 'sound/machines/defib_zap.ogg', 50, FALSE) if(check_revivable()) - playsound(C, 'sound/machines/defib_success.ogg', 50, 0) + playsound(C, 'sound/machines/defib_success.ogg', 50, FALSE) C.set_heartattack(FALSE) - C.revive() + C.revive(full_heal = FALSE, admin_revive = FALSE) C.emote("gasp") C.Jitter(100) SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK) - var/tplus = world.time - C.timeofdeath - if(tplus > 600) - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, max(0, ((1800 - tplus) / 1800 * 150)), 150) log_game("[C] has been successfully defibrillated by nanites.") else - playsound(C, 'sound/machines/defib_failed.ogg', 50, 0) + playsound(C, 'sound/machines/defib_failed.ogg', 50, FALSE) + diff --git a/code/modules/research/nanites/nanite_programs/protocols.dm b/code/modules/research/nanites/nanite_programs/protocols.dm new file mode 100644 index 0000000000..73976abe09 --- /dev/null +++ b/code/modules/research/nanites/nanite_programs/protocols.dm @@ -0,0 +1,107 @@ +//Replication Protocols +/datum/nanite_program/protocol/kickstart + name = "Kickstart Protocol" + desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost_duration = 1200 + +/datum/nanite_program/protocol/kickstart/check_conditions() + if(!(world.time < nanites.start_time + boost_duration)) + return FALSE + return ..() + +/datum/nanite_program/protocol/kickstart/active_effect() + nanites.adjust_nanites(null, 3.5) + +/datum/nanite_program/protocol/factory + name = "Factory Protocol" + desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. \ + The factory decays if the protocol is not active, or if the nanites are disrupted by shocks or EMPs." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/factory_efficiency = 0 + var/max_efficiency = 1000 //Goes up to 2 bonus regen per tick after 16 minutes and 40 seconds + +/datum/nanite_program/protocol/factory/on_process() + if(!activated || !check_conditions()) + factory_efficiency = max(0, factory_efficiency - 5) + ..() + +/datum/nanite_program/protocol/factory/on_emp(severity) + ..() + factory_efficiency = max(0, factory_efficiency - 300) + +/datum/nanite_program/protocol/factory/on_shock(shock_damage) + ..() + factory_efficiency = max(0, factory_efficiency - 200) + +/datum/nanite_program/protocol/factory/on_minor_shock() + ..() + factory_efficiency = max(0, factory_efficiency - 100) + +/datum/nanite_program/protocol/factory/active_effect() + factory_efficiency = min(factory_efficiency + 1, max_efficiency) + nanites.adjust_nanites(null, round(0.002 * factory_efficiency, 0.1)) + +/datum/nanite_program/protocol/tinker + name = "Tinker Protocol" + desc = "Replication Protocol: the nanites learn to use metallic material in the host's bloodstream to speed up the replication process." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost = 2 + var/list/valid_reagents = list( + /datum/reagent/iron, + /datum/reagent/copper, + /datum/reagent/gold, + /datum/reagent/silver, + /datum/reagent/mercury, + /datum/reagent/aluminium, + /datum/reagent/silicon) + +/datum/nanite_program/protocol/tinker/check_conditions() + if(!nanites.host_mob.reagents) + return FALSE + + var/found_reagent = FALSE + + var/datum/reagents/R = nanites.host_mob.reagents + for(var/VR in valid_reagents) + if(R.has_reagent(VR, 0.5)) + R.remove_reagent(VR, 0.5) + found_reagent = TRUE + break + if(!found_reagent) + return FALSE + return ..() + +/datum/nanite_program/protocol/tinker/active_effect() + nanites.adjust_nanites(null, boost) + +/datum/nanite_program/protocol/offline + name = "Offline Production Protocol" + desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly." + use_rate = 0 + rogue_types = list(/datum/nanite_program/necrotic) + protocol_class = NANITE_PROTOCOL_REPLICATION + var/boost = 3 + +/datum/nanite_program/protocol/offline/check_conditions() + var/is_offline = FALSE + if(nanites.host_mob.IsSleeping() || nanites.host_mob.IsUnconscious()) + is_offline = TRUE + if(nanites.host_mob.stat == DEAD || HAS_TRAIT(nanites.host_mob, TRAIT_DEATHCOMA)) + is_offline = TRUE + if(nanites.host_mob.InCritical() && !HAS_TRAIT(nanites.host_mob, TRAIT_NOSOFTCRIT)) + is_offline = TRUE + if(nanites.host_mob.InFullCritical() && !HAS_TRAIT(nanites.host_mob, TRAIT_NOHARDCRIT)) + is_offline = TRUE + if(!is_offline) + return FALSE + return ..() + +/datum/nanite_program/protocol/offline/active_effect() + nanites.adjust_nanites(null, boost) diff --git a/code/modules/research/nanites/nanite_programs/sensor.dm b/code/modules/research/nanites/nanite_programs/sensor.dm index 535b92c6e1..260811445b 100644 --- a/code/modules/research/nanites/nanite_programs/sensor.dm +++ b/code/modules/research/nanites/nanite_programs/sensor.dm @@ -2,71 +2,41 @@ name = "Sensor Nanites" desc = "These nanites send a signal code when a certain condition is met." unique = FALSE - extra_settings = list("Sent Code") + var/can_rule = FALSE - var/sent_code = 0 - -/datum/nanite_program/sensor/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - -/datum/nanite_program/sensor/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - -/datum/nanite_program/sensor/copy_extra_settings_to(datum/nanite_program/sensor/target) - target.sent_code = sent_code +/datum/nanite_program/sensor/register_extra_settings() + extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(0, 1, 9999) /datum/nanite_program/sensor/proc/check_event() return FALSE /datum/nanite_program/sensor/proc/send_code() if(activated) - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code, "a [name] program") + var/datum/nanite_extra_setting/ES = extra_settings[NES_SENT_CODE] + SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, ES.value, "a [name] program") /datum/nanite_program/sensor/active_effect() - if(sent_code && check_event()) + if(check_event()) send_code() +/datum/nanite_program/sensor/proc/make_rule(datum/nanite_program/target) + return + /datum/nanite_program/sensor/repeat name = "Signal Repeater" desc = "When triggered, sends another signal to the nanites, optionally with a delay." can_trigger = TRUE trigger_cost = 0 trigger_cooldown = 10 - extra_settings = list("Sent Code","Delay") var/spent = FALSE - var/delay = 0 -/datum/nanite_program/sensor/repeat/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Delay") - var/new_delay = input(user, "Set the delay in seconds:", name, null) as null|num - if(isnull(new_delay)) - return - delay = (CLAMP(round(new_delay, 1), 0, 3600)) * 10 //max 1 hour +/datum/nanite_program/sensor/repeat/register_extra_settings() + . = ..() + extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") -/datum/nanite_program/sensor/repeat/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Delay") - return "[delay/10] seconds" - -/datum/nanite_program/sensor/repeat/copy_extra_settings_to(datum/nanite_program/sensor/repeat/target) - target.sent_code = sent_code - target.delay = delay - -/datum/nanite_program/sensor/repeat/trigger() - if(!..()) - return - addtimer(CALLBACK(src, .proc/send_code), delay) +/datum/nanite_program/sensor/repeat/on_trigger(comm_message) + var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] + addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat name = "Relay Signal Repeater" @@ -74,98 +44,46 @@ can_trigger = TRUE trigger_cost = 0 trigger_cooldown = 10 - extra_settings = list("Sent Code","Relay Channel","Delay") var/spent = FALSE - var/delay = 0 - var/relay_channel = 0 -/datum/nanite_program/sensor/relay_repeat/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Relay Channel") - var/new_channel = input(user, "Set the relay channel (1-9999):", name, null) as null|num - if(isnull(new_channel)) - return - relay_channel = CLAMP(round(new_channel, 1), 1, 9999) - if(setting == "Delay") - var/new_delay = input(user, "Set the delay in seconds:", name, null) as null|num - if(isnull(new_delay)) - return - delay = (CLAMP(round(new_delay, 1), 0, 3600)) * 10 //max 1 hour +/datum/nanite_program/sensor/relay_repeat/register_extra_settings() + . = ..() + extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) + extra_settings[NES_DELAY] = new /datum/nanite_extra_setting/number(0, 0, 3600, "s") -/datum/nanite_program/sensor/relay_repeat/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Relay Channel") - return relay_channel - if(setting == "Delay") - return "[delay/10] seconds" - -/datum/nanite_program/sensor/relay_repeat/copy_extra_settings_to(datum/nanite_program/sensor/relay_repeat/target) - target.sent_code = sent_code - target.delay = delay - target.relay_channel = relay_channel - -/datum/nanite_program/sensor/relay_repeat/trigger() - if(!..()) - return - addtimer(CALLBACK(src, .proc/send_code), delay) +/datum/nanite_program/sensor/relay_repeat/on_trigger(comm_message) + var/datum/nanite_extra_setting/ES = extra_settings[NES_DELAY] + addtimer(CALLBACK(src, .proc/send_code), ES.get_value() * 10) /datum/nanite_program/sensor/relay_repeat/send_code() - if(activated && relay_channel) + var/datum/nanite_extra_setting/relay = extra_settings[NES_RELAY_CHANNEL] + if(activated && relay.get_value()) for(var/X in SSnanites.nanite_relays) var/datum/nanite_program/relay/N = X - N.relay_signal(sent_code, relay_channel, "a [name] program") + var/datum/nanite_extra_setting/code = extra_settings[NES_SENT_CODE] + N.relay_signal(code.get_value(), relay.get_value(), "a [name] program") /datum/nanite_program/sensor/health name = "Health Sensor" desc = "The nanites receive a signal when the host's health is above/below a target percentage." - extra_settings = list("Sent Code","Health Percent","Direction") + can_rule = TRUE var/spent = FALSE - var/percent = 50 - var/direction = "Above" -/datum/nanite_program/sensor/health/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Health Percent") - var/new_percent = input(user, "Set the health percentage:", name, null) as null|num - if(isnull(new_percent)) - return - percent = CLAMP(round(new_percent, 1), -99, 100) - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/health/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Health Percent") - return "[percent]%" - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/health/copy_extra_settings_to(datum/nanite_program/sensor/health/target) - target.sent_code = sent_code - target.percent = percent - target.direction = direction +/datum/nanite_program/sensor/health/register_extra_settings() + . = ..() + extra_settings[NES_HEALTH_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/health/check_event() var/health_percent = host_mob.health / host_mob.maxHealth * 100 + var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] var/detected = FALSE - if(direction == "Above") - if(health_percent >= percent) + if(direction.get_value()) + if(health_percent >= percent.get_value()) detected = TRUE else - if(health_percent < percent) + if(health_percent < percent.get_value()) detected = TRUE if(detected) @@ -177,9 +95,18 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/health/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/health/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/percent = extra_settings[NES_HEALTH_PERCENT] + rule.above = direction.get_value() + rule.threshold = percent.get_value() + return rule + /datum/nanite_program/sensor/crit name = "Critical Health Sensor" desc = "The nanites receive a signal when the host first reaches critical health." + can_rule = TRUE var/spent = FALSE /datum/nanite_program/sensor/crit/check_event() @@ -192,61 +119,44 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/crit/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/crit/rule = new(target) + return rule + /datum/nanite_program/sensor/death name = "Death Sensor" desc = "The nanites receive a signal when they detect the host is dead." + can_rule = TRUE var/spent = FALSE /datum/nanite_program/sensor/death/on_death() send_code() +/datum/nanite_program/sensor/death/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/death/rule = new(target) + return rule + /datum/nanite_program/sensor/nanite_volume name = "Nanite Volume Sensor" desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage." - extra_settings = list("Sent Code","Nanite Percent","Direction") + can_rule = TRUE var/spent = FALSE - var/percent = 50 - var/direction = "Above" -/datum/nanite_program/sensor/nanite_volume/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Nanite Percent") - var/new_percent = input(user, "Set the nanite percentage:", name, null) as null|num - if(isnull(new_percent)) - return - percent = CLAMP(round(new_percent, 1), 1, 100) - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/nanite_volume/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Nanite Percent") - return "[percent]%" - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/nanite_volume/copy_extra_settings_to(datum/nanite_program/sensor/nanite_volume/target) - target.sent_code = sent_code - target.percent = percent - target.direction = direction +/datum/nanite_program/sensor/nanite_volume/register_extra_settings() + . = ..() + extra_settings[NES_NANITE_PERCENT] = new /datum/nanite_extra_setting/number(50, -99, 100, "%") + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/nanite_volume/check_event() var/nanite_percent = (nanites.nanite_volume - nanites.safety_threshold)/(nanites.max_nanites - nanites.safety_threshold)*100 + var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] var/detected = FALSE - - if(direction == "Above") - if(nanite_percent >= percent) + if(direction.get_value()) + if(nanite_percent >= percent.get_value()) detected = TRUE else - if(nanite_percent < percent) + if(nanite_percent < percent.get_value()) detected = TRUE if(detected) @@ -258,75 +168,51 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/nanite_volume/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/nanites/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/percent = extra_settings[NES_NANITE_PERCENT] + rule.above = direction.get_value() + rule.threshold = percent.get_value() + return rule + /datum/nanite_program/sensor/damage name = "Damage Sensor" desc = "The nanites receive a signal when a host's specific damage type is above/below a target value." - extra_settings = list("Sent Code","Damage Type","Damage","Direction") + can_rule = TRUE var/spent = FALSE - var/damage_type = "Brute" - var/damage = 50 - var/direction = "Above" -/datum/nanite_program/sensor/damage/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Damage") - var/new_damage = input(user, "Set the damage threshold:", name, null) as null|num - if(isnull(new_damage)) - return - damage = CLAMP(round(new_damage, 1), 0, 500) - if(setting == "Damage Type") - var/list/damage_types = list("Brute","Burn","Toxin","Oxygen","Cellular") - var/new_damage_type = input("Choose the damage type", name) as null|anything in damage_types - if(!new_damage_type) - return - damage_type = new_damage_type - if(setting == "Direction") - if(direction == "Above") - direction = "Below" - else - direction = "Above" - -/datum/nanite_program/sensor/damage/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Damage") - return damage - if(setting == "Damage Type") - return damage_type - if(setting == "Direction") - return direction - -/datum/nanite_program/sensor/damage/copy_extra_settings_to(datum/nanite_program/sensor/damage/target) - target.sent_code = sent_code - target.damage = damage - target.damage_type = damage_type - target.direction = direction +/datum/nanite_program/sensor/damage/register_extra_settings() + . = ..() + extra_settings[NES_DAMAGE_TYPE] = new /datum/nanite_extra_setting/type(BRUTE, list(BRUTE, BURN, TOX, OXY, CLONE)) + extra_settings[NES_DAMAGE] = new /datum/nanite_extra_setting/number(50, 0, 500) + extra_settings[NES_DIRECTION] = new /datum/nanite_extra_setting/boolean(TRUE, "Above", "Below") /datum/nanite_program/sensor/damage/check_event() var/reached_threshold = FALSE - var/check_above = (direction == "Above") + var/datum/nanite_extra_setting/type = extra_settings[NES_DAMAGE_TYPE] + var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/check_above = direction.get_value() var/damage_amt = 0 - switch(damage_type) - if("Brute") + switch(type.get_value()) + if(BRUTE) damage_amt = host_mob.getBruteLoss() - if("Burn") + if(BURN) damage_amt = host_mob.getFireLoss() - if("Toxin") + if(TOX) damage_amt = host_mob.getToxLoss() - if("Oxygen") + if(OXY) damage_amt = host_mob.getOxyLoss() - if("Cellular") + if(CLONE) damage_amt = host_mob.getCloneLoss() - if(damage_amt >= damage) - if(check_above) + if(check_above) + if(damage_amt >= damage.get_value()) + reached_threshold = TRUE + else + if(damage_amt < damage.get_value()) reached_threshold = TRUE - else if(!check_above) - reached_threshold = TRUE if(reached_threshold) if(!spent) @@ -337,14 +223,25 @@ spent = FALSE return FALSE +/datum/nanite_program/sensor/damage/make_rule(datum/nanite_program/target) + var/datum/nanite_rule/damage/rule = new(target) + var/datum/nanite_extra_setting/direction = extra_settings[NES_DIRECTION] + var/datum/nanite_extra_setting/damage_type = extra_settings[NES_DAMAGE_TYPE] + var/datum/nanite_extra_setting/damage = extra_settings[NES_DAMAGE] + rule.above = direction.get_value() + rule.threshold = damage.get_value() + rule.damage_type = damage_type.get_value() + return rule + /datum/nanite_program/sensor/voice name = "Voice Sensor" desc = "Sends a signal when the nanites hear a determined word or sentence." - extra_settings = list("Sent Code","Sentence","Inclusive Mode") var/spent = FALSE - var/sentence = "" - var/inclusive = TRUE +/datum/nanite_program/sensor/voice/register_extra_settings() + . = ..() + extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") + extra_settings[NES_INCLUSIVE_MODE] = new /datum/nanite_extra_setting/boolean(TRUE, "Inclusive", "Exclusive") /datum/nanite_program/sensor/voice/on_mob_add() . = ..() @@ -353,45 +250,14 @@ /datum/nanite_program/sensor/voice/on_mob_remove() UnregisterSignal(host_mob, COMSIG_MOVABLE_HEAR, .proc/on_hear) -/datum/nanite_program/sensor/voice/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Sentence") - var/new_sentence = stripped_input(user, "Choose the sentence that triggers the sensor.", "Sentence", sentence, MAX_MESSAGE_LEN) - if(!new_sentence) - return - sentence = new_sentence - if(setting == "Inclusive Mode") - var/new_inclusive = input("Should the sensor detect the sentence if contained within another sentence?", name) as null|anything in list("Inclusive","Exclusive") - if(!new_inclusive) - return - inclusive = (new_inclusive == "Inclusive") - -/datum/nanite_program/sensor/voice/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Sentence") - return sentence - if(setting == "Inclusive Mode") - if(inclusive) - return "Inclusive" - else - return "Exclusive" - -/datum/nanite_program/sensor/voice/copy_extra_settings_to(datum/nanite_program/sensor/voice/target) - target.sent_code = sent_code - target.sentence = sentence - target.inclusive = inclusive - /datum/nanite_program/sensor/voice/proc/on_hear(datum/source, list/hearing_args) - if(!sentence) + var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] + var/datum/nanite_extra_setting/inclusive = extra_settings[NES_INCLUSIVE_MODE] + if(!sentence.get_value()) return - if(inclusive) + if(inclusive.get_value()) if(findtextEx(hearing_args[HEARING_RAW_MESSAGE], sentence)) send_code() else if(hearing_args[HEARING_RAW_MESSAGE] == sentence) - send_code() \ No newline at end of file + send_code() diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index e4b250ad61..56fd7fa044 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -1,15 +1,14 @@ //Programs that are generally useful for population control and non-harmful suppression. -/datum/nanite_program/triggered/sleepy +/datum/nanite_program/sleepy name = "Sleep Induction" desc = "The nanites cause rapid narcolepsy when triggered." + can_trigger = TRUE trigger_cost = 15 trigger_cooldown = 1200 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) -/datum/nanite_program/triggered/sleepy/trigger() - if(!..()) - return +/datum/nanite_program/sleepy/on_trigger(comm_message) to_chat(host_mob, "You start to feel very sleepy...") host_mob.drowsyness += 20 addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200)) @@ -31,30 +30,28 @@ . = ..() to_chat(host_mob, "Your muscles relax, and you can move again.") -/datum/nanite_program/triggered/shocking +/datum/nanite_program/shocking name = "Electric Shock" desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!" + can_trigger = TRUE trigger_cost = 10 trigger_cooldown = 300 program_flags = NANITE_SHOCK_IMMUNE rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/shocking/trigger() - if(!..()) - return +/datum/nanite_program/shocking/on_trigger(comm_message) host_mob.electrocute_act(rand(5,10), "shock nanites", TRUE, TRUE) -/datum/nanite_program/triggered/stun +/datum/nanite_program/stun name = "Neural Shock" desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period." + can_trigger = TRUE trigger_cost = 4 trigger_cooldown = 300 - rogue_types = list(/datum/nanite_program/triggered/shocking, /datum/nanite_program/nerve_decay) + rogue_types = list(/datum/nanite_program/shocking, /datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/stun/trigger() - if(!..()) - return - playsound(host_mob, "sparks", 75, 1, -1) +/datum/nanite_program/stun/on_trigger(comm_message) + playsound(host_mob, "sparks", 75, TRUE, -1) host_mob.Knockdown(80) /datum/nanite_program/pacifying @@ -115,64 +112,50 @@ host_mob.cure_fakedeath("nanites") //Can receive transmissions from a nanite communication remote for customized messages -/datum/nanite_program/triggered/comm +/datum/nanite_program/comm + can_trigger = TRUE var/comm_code = 0 var/comm_message = "" -/datum/nanite_program/triggered/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) +/datum/nanite_program/comm/register_extra_settings() + extra_settings[NES_COMM_CODE] = new /datum/nanite_extra_setting/number(0, 0, 9999) + +/datum/nanite_program/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) if(!activated || !comm_code) return if(signal_comm_code == comm_code) host_mob.investigate_log("'s [name] nanite program was messaged by [comm_source] with comm code [signal_comm_code] and message '[comm_message]'.", INVESTIGATE_NANITES) trigger(comm_message) -/datum/nanite_program/triggered/comm/speech +/datum/nanite_program/comm/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." unique = FALSE trigger_cost = 3 trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) + var/static/list/blacklist = list( + "*surrender", + "*collapse" + ) - extra_settings = list("Sentence","Comm Code") - var/sentence = "" +/datum/nanite_program/comm/speech/register_extra_settings() + . = ..() + extra_settings[NES_SENTENCE] = new /datum/nanite_extra_setting/text("") -/datum/nanite_program/triggered/comm/speech/set_extra_setting(user, setting) - if(setting == "Sentence") - var/new_sentence = stripped_input(user, "Choose the sentence that the host will be forced to say.", "Sentence", sentence, MAX_MESSAGE_LEN) - if(!new_sentence) - return - if(new_sentence[1] == "*") //emotes are abusable, like surrender - return - sentence = new_sentence - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/speech/get_extra_setting(setting) - if(setting == "Sentence") - return sentence - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/speech/copy_extra_settings_to(datum/nanite_program/triggered/comm/speech/target) - target.sentence = sentence - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/speech/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/speech/on_trigger(comm_message) var/sent_message = comm_message if(!comm_message) - sent_message = sentence + var/datum/nanite_extra_setting/sentence = extra_settings[NES_SENTENCE] + sent_message = sentence.get_value() + if(sent_message in blacklist) + return if(host_mob.stat == DEAD) return to_chat(host_mob, "You feel compelled to speak...") host_mob.say(sent_message, forced = "nanite speech") -/datum/nanite_program/triggered/comm/voice +/datum/nanite_program/comm/voice name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." unique = FALSE @@ -180,56 +163,50 @@ trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - extra_settings = list("Message","Comm Code") - var/message = "" +/datum/nanite_program/comm/voice/register_extra_settings() + . = ..() + extra_settings[NES_MESSAGE] = new /datum/nanite_extra_setting/text("") -/datum/nanite_program/triggered/comm/voice/set_extra_setting(user, setting) - if(setting == "Message") - var/new_message = stripped_input(user, "Choose the message sent to the host.", "Message", message, MAX_MESSAGE_LEN) - if(!new_message) - return - message = new_message - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/voice/get_extra_setting(setting) - if(setting == "Message") - return message - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/voice/copy_extra_settings_to(datum/nanite_program/triggered/comm/voice/target) - target.message = message - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/voice/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/voice/on_trigger(comm_message) var/sent_message = comm_message if(!comm_message) - sent_message = message + var/datum/nanite_extra_setting/message_setting = extra_settings[NES_MESSAGE] + sent_message = message_setting.get_value() if(host_mob.stat == DEAD) return to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[sent_message]\"") -/datum/nanite_program/triggered/comm/hallucination +/datum/nanite_program/comm/hallucination name = "Hallucination" desc = "The nanites make the host hallucinate something when triggered." trigger_cost = 4 trigger_cooldown = 80 unique = FALSE rogue_types = list(/datum/nanite_program/brain_misfire) - extra_settings = list("Hallucination Type", "Comm Code") - var/hal_type - var/hal_details -/datum/nanite_program/triggered/comm/hallucination/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/hallucination/register_extra_settings() + . = ..() + var/list/options = list( + "Message", + "Battle", + "Sound", + "Weird Sound", + "Station Message", + "Health", + "Alert", + "Fire", + "Shock", + "Plasma Flood", + "Random" + ) + extra_settings[NES_HALLUCINATION_TYPE] = new /datum/nanite_extra_setting/type("Message", options) + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") +/datum/nanite_program/comm/hallucination/on_trigger(comm_message) + var/datum/nanite_extra_setting/hal_setting = extra_settings[NES_HALLUCINATION_TYPE] + var/hal_type = hal_setting.get_value() + var/datum/nanite_extra_setting/hal_detail_setting = extra_settings[NES_HALLUCINATION_DETAIL] + var/hal_details = hal_detail_setting.get_value() if(comm_message && (hal_type != "Message")) //Triggered via comm remote, but not set to a message hallucination return var/sent_message = comm_message //Comm remotes can send custom hallucination messages for the chat hallucination @@ -239,7 +216,9 @@ if(!iscarbon(host_mob)) return var/mob/living/carbon/C = host_mob - if(!hal_type) + if(hal_details == "random") + hal_details = null + if(hal_type == "Random") C.hallucination += 15 else switch(hal_type) @@ -254,6 +233,13 @@ if("Station Message") new /datum/hallucination/stationmessage(C, TRUE, hal_details) if("Health") + switch(hal_details) + if("critical") + hal_details = SCREWYHUD_CRIT + if("dead") + hal_details = SCREWYHUD_DEAD + if("healthy") + hal_details = SCREWYHUD_HEALTHY new /datum/hallucination/hudscrew(C, TRUE, hal_details) if("Alert") new /datum/hallucination/fake_alert(C, TRUE, hal_details) @@ -264,127 +250,40 @@ if("Plasma Flood") new /datum/hallucination/fake_flood(C, TRUE) -/datum/nanite_program/triggered/comm/hallucination/set_extra_setting(user, setting) - if(setting == "Comm Code") - var/new_code = input(user, "(Only for Message) Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - - if(setting == "Hallucination Type") - var/list/possible_hallucinations = list("Random","Message","Battle","Sound","Weird Sound","Station Message","Health","Alert","Fire","Shock","Plasma Flood") - var/hal_type_choice = input("Choose the hallucination type", name) as null|anything in possible_hallucinations - if(!hal_type_choice) - return - switch(hal_type_choice) - if("Random") - hal_type = null - hal_details = null +/datum/nanite_program/comm/hallucination/set_extra_setting(setting, value) + . = ..() + if(setting == NES_HALLUCINATION_TYPE) + switch(value) if("Message") - hal_type = "Message" - var/hal_chat = stripped_input(user, "Choose the message the host will hear, or leave empty for random messages.", "Message", hal_details, MAX_MESSAGE_LEN) - if(hal_chat) - hal_details = hal_chat + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/text("") if("Battle") - hal_type = "Battle" - var/sound_list = list("random","laser","disabler","esword","gun","stunprod","harmbaton","bomb") - var/hal_choice = input("Choose the hallucination battle type", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","laser","disabler","esword","gun","stunprod","harmbaton","bomb")) if("Sound") - hal_type = "Sound" - var/sound_list = list("random","airlock","airlock pry","console","explosion","far explosion","mech","glass","alarm","beepsky","mech","wall decon","door hack") - var/hal_choice = input("Choose the hallucination sound", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","airlock","airlock pry","console","explosion","far explosion","mech","glass","alarm","beepsky","mech","wall decon","door hack")) if("Weird Sound") - hal_type = "Weird Sound" - var/sound_list = list("random","phone","hallelujah","highlander","laughter","hyperspace","game over","creepy","tesla") - var/hal_choice = input("Choose the hallucination sound", name) as null|anything in sound_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","phone","hallelujah","highlander","laughter","hyperspace","game over","creepy","tesla")) if("Station Message") - hal_type = "Station Message" - var/msg_list = list("random","ratvar","shuttle dock","blob alert","malf ai","meteors","supermatter") - var/hal_choice = input("Choose the hallucination station message", name) as null|anything in msg_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","ratvar","shuttle dock","blob alert","malf ai","meteors","supermatter")) if("Health") - hal_type = "Health" - var/health_list = list("random","critical","dead","healthy") - var/hal_choice = input("Choose the health status", name) as null|anything in health_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - switch(hal_choice) - if("critical") - hal_details = SCREWYHUD_CRIT - if("dead") - hal_details = SCREWYHUD_DEAD - if("healthy") - hal_details = SCREWYHUD_HEALTHY + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","critical","dead","healthy")) if("Alert") - hal_type = "Alert" - var/alert_list = list("random","not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","gravity","fire","locked","hacked","temphot","tempcold","pressure") - var/hal_choice = input("Choose the alert", name) as null|anything in alert_list - if(!hal_choice || hal_choice == "random") - hal_details = null - else - hal_details = hal_choice - if("Fire") - hal_type = "Fire" - if("Shock") - hal_type = "Shock" - if("Plasma Flood") - hal_type = "Plasma Flood" - -/datum/nanite_program/triggered/comm/hallucination/get_extra_setting(setting) - if(setting == "Hallucination Type") - if(!hal_type) - return "Random" - else - return hal_type - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/hallucination/copy_extra_settings_to(datum/nanite_program/triggered/comm/hallucination/target) - target.hal_type = hal_type - target.hal_details = hal_details - target.comm_code = comm_code + extra_settings[NES_HALLUCINATION_DETAIL] = new /datum/nanite_extra_setting/type("random", list("random","not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","gravity","fire","locked","hacked","temphot","tempcold","pressure")) + else + extra_settings.Remove(NES_HALLUCINATION_DETAIL) /datum/nanite_program/good_mood name = "Happiness Enhancer" desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list("Mood Message") - var/message = "HAPPINESS ENHANCEMENT" -/datum/nanite_program/good_mood/set_extra_setting(user, setting) - if(setting == "Mood Message") - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/good_mood/get_extra_setting(setting) - if(setting == "Mood Message") - return message - -/datum/nanite_program/good_mood/copy_extra_settings_to(datum/nanite_program/good_mood/target) - target.message = message +/datum/nanite_program/good_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS ENHANCEMENT") /datum/nanite_program/good_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/good_mood/disable_passive_effect() . = ..() @@ -395,26 +294,14 @@ desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." use_rate = 0.1 rogue_types = list(/datum/nanite_program/brain_decay) - extra_settings = list("Mood Message") - var/message = "HAPPINESS SUPPRESSION" -/datum/nanite_program/bad_mood/set_extra_setting(user, setting) - if(setting == "Mood Message") - var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) - if(!new_message) - return - message = new_message - -/datum/nanite_program/bad_mood/get_extra_setting(setting) - if(setting == "Mood Message") - return message - -/datum/nanite_program/bad_mood/copy_extra_settings_to(datum/nanite_program/bad_mood/target) - target.message = message +/datum/nanite_program/bad_mood/register_extra_settings() + . = ..() + extra_settings[NES_MOOD_MESSAGE] = new /datum/nanite_extra_setting/text("HAPPINESS SUPPRESSION") /datum/nanite_program/bad_mood/enable_passive_effect() . = ..() - SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, message) + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, get_extra_setting_value(NES_MOOD_MESSAGE)) /datum/nanite_program/bad_mood/disable_passive_effect() . = ..() diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index deafbcd02c..6352f50b8b 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -1,82 +1,29 @@ //Programs that interact with other programs or nanites directly, or have other special purposes. /datum/nanite_program/viral name = "Viral Replica" - desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters." + desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters, also overriding or disabling their cloud sync." use_rate = 0.5 rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Program Overwrite","Cloud Overwrite") - var/pulse_cooldown = 0 - var/sync_programs = TRUE - var/sync_overwrite = FALSE - var/overwrite_cloud = FALSE - var/set_cloud = 0 -/datum/nanite_program/viral/set_extra_setting(user, setting) - if(setting == "Program Overwrite") - var/overwrite_type = input("Choose what to do with the target's programs", name) as null|anything in list("Overwrite","Add To","Ignore") - if(!overwrite_type) - return - switch(overwrite_type) - if("Ignore") //Do not affect programs (if you only want to set the cloud ID) - sync_programs = FALSE - sync_overwrite = FALSE - if("Add To") //Add to existing programs (so the target does not notice theirs are missing) - sync_programs = TRUE - sync_overwrite = FALSE - if("Overwrite") //Replace target's programs with the source - sync_programs = TRUE - sync_overwrite = TRUE - if(setting == "Cloud Overwrite") - var/overwrite_type = input("Choose what to do with the target's Cloud ID", name) as null|anything in list("Overwrite","Disable","Keep") - if(!overwrite_type) - return - switch(overwrite_type) - if("Keep") //Don't change the cloud ID - overwrite_cloud = FALSE - set_cloud = 0 - if("Disable") //Set the cloud ID to disabled - overwrite_cloud = TRUE - set_cloud = 0 - if("Overwrite") //Set the cloud ID to what we choose - var/new_cloud = input(user, "Choose the Cloud ID to set on infected nanites (1-100)", name, null) as null|num - if(isnull(new_cloud)) - return - overwrite_cloud = TRUE - set_cloud = CLAMP(round(new_cloud, 1), 1, 100) - -/datum/nanite_program/viral/get_extra_setting(setting) - if(setting == "Program Overwrite") - if(!sync_programs) - return "Ignore" - else if(sync_overwrite) - return "Overwrite" - else - return "Add To" - if(setting == "Cloud Overwrite") - if(!overwrite_cloud) - return "None" - else if(set_cloud == 0) - return "Disable" - else - return set_cloud - -/datum/nanite_program/viral/copy_extra_settings_to(datum/nanite_program/viral/target) - target.overwrite_cloud = overwrite_cloud - target.set_cloud = set_cloud - target.sync_programs = sync_programs - target.sync_overwrite = sync_overwrite +/datum/nanite_program/viral/register_extra_settings() + extra_settings[NES_PROGRAM_OVERWRITE] = new /datum/nanite_extra_setting/type("Add To", list("Overwrite", "Add To", "Ignore")) + extra_settings[NES_CLOUD_OVERWRITE] = new /datum/nanite_extra_setting/number(0, 0, 100) /datum/nanite_program/viral/active_effect() if(world.time < pulse_cooldown) return + var/datum/nanite_extra_setting/program = extra_settings[NES_PROGRAM_OVERWRITE] + var/datum/nanite_extra_setting/cloud = extra_settings[NES_CLOUD_OVERWRITE] for(var/mob/M in orange(host_mob, 5)) if(SEND_SIGNAL(M, COMSIG_NANITE_IS_STEALTHY)) continue - if(sync_programs) - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, sync_overwrite) - if(overwrite_cloud) - SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, set_cloud) + switch(program.get_value()) + if("Overwrite") + SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, TRUE) + if("Add To") + SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, FALSE) + SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, cloud.get_value()) pulse_cooldown = world.time + 75 /datum/nanite_program/monitoring @@ -94,38 +41,23 @@ SSnanites.nanite_monitored_mobs -= host_mob host_mob.hud_set_nanite_indicator() -/datum/nanite_program/triggered/self_scan +/datum/nanite_program/self_scan name = "Host Scan" desc = "The nanites display a detailed readout of a body scan to the host." unique = FALSE + can_trigger = TRUE trigger_cost = 3 trigger_cooldown = 50 rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Scan Type") - var/scan_type = "Medical" +/datum/nanite_program/self_scan/register_extra_settings() + extra_settings[NES_SCAN_TYPE] = new /datum/nanite_extra_setting/type("Medical", list("Medical", "Chemical", "Nanite")) -/datum/nanite_program/triggered/self_scan/set_extra_setting(user, setting) - if(setting == "Scan Type") - var/list/scan_types = list("Medical","Chemical","Nanite") - var/new_scan_type = input("Choose the scan type", name) as null|anything in scan_types - if(!new_scan_type) - return - scan_type = new_scan_type - -/datum/nanite_program/triggered/self_scan/get_extra_setting(setting) - if(setting == "Scan Type") - return scan_type - -/datum/nanite_program/triggered/self_scan/copy_extra_settings_to(datum/nanite_program/triggered/self_scan/target) - target.scan_type = scan_type - -/datum/nanite_program/triggered/self_scan/trigger() - if(!..()) - return +/datum/nanite_program/self_scan/on_trigger(comm_message) if(host_mob.stat == DEAD) return - switch(scan_type) + var/datum/nanite_extra_setting/NS = extra_settings[NES_SCAN_TYPE] + switch(NS.get_value()) if("Medical") healthscan(host_mob, host_mob) if("Chemical") @@ -162,28 +94,13 @@ . = ..() nanites.diagnostics = TRUE - /datum/nanite_program/relay name = "Relay" desc = "The nanites receive and relay long-range nanite signals." rogue_types = list(/datum/nanite_program/toxic) - extra_settings = list("Relay Channel") - var/relay_channel = 1 - -/datum/nanite_program/relay/set_extra_setting(user, setting) - if(setting == "Relay Channel") - var/new_channel = input(user, "Set the relay channel (1-9999):", name, null) as null|num - if(isnull(new_channel)) - return - relay_channel = CLAMP(round(new_channel, 1), 1, 9999) - -/datum/nanite_program/relay/get_extra_setting(setting) - if(setting == "Relay Channel") - return relay_channel - -/datum/nanite_program/relay/copy_extra_settings_to(datum/nanite_program/relay/target) - target.relay_channel = relay_channel +/datum/nanite_program/relay/register_extra_settings() + extra_settings[NES_RELAY_CHANNEL] = new /datum/nanite_extra_setting/number(1, 1, 9999) /datum/nanite_program/relay/enable_passive_effect() . = ..() @@ -198,7 +115,8 @@ return if(!host_mob) return - if(relay_code != relay_channel) + var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] + if(relay_code != NS.get_value()) return SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, code, source) @@ -207,7 +125,8 @@ return if(!host_mob) return - if(relay_code != relay_channel) + var/datum/nanite_extra_setting/NS = extra_settings[NES_RELAY_CHANNEL] + if(relay_code != NS.get_value()) return SEND_SIGNAL(host_mob, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) @@ -228,14 +147,64 @@ host_mob.nutrition -= 0.5 nanites.adjust_nanites(src, 0.5) -/datum/nanite_program/triggered/access +/datum/nanite_program/research + name = "Distributed Computing" + desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." + use_rate = 0.2 + rogue_types = list(/datum/nanite_program/toxic) + +/datum/nanite_program/research/active_effect() + if(!iscarbon(host_mob)) + return + var/points = 1 + if(!host_mob.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + +/datum/nanite_program/researchplus + name = "Neural Network" + desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." + use_rate = 0.3 + rogue_types = list(/datum/nanite_program/brain_decay) + +/datum/nanite_program/researchplus/enable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count++ + else + SSnanites.neural_network_count += 0.25 + +/datum/nanite_program/researchplus/disable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count-- + else + SSnanites.neural_network_count -= 0.25 + +/datum/nanite_program/researchplus/active_effect() + if(!iscarbon(host_mob)) + return + var/mob/living/carbon/C = host_mob + var/points = round(SSnanites.neural_network_count / 12, 0.1) + if(!C.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + +/datum/nanite_program/access name = "Subdermal ID" desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." + can_trigger = TRUE + trigger_cost = 3 + trigger_cooldown = 30 rogue_types = list(/datum/nanite_program/skin_decay) var/access = list() //Syncs the nanites with the cumulative current mob's access level. Can potentially wipe existing access. -/datum/nanite_program/triggered/access/trigger() +/datum/nanite_program/access/on_trigger(comm_message) var/list/new_access = list() var/obj/item/current_item current_item = host_mob.get_active_held_item() @@ -284,19 +253,42 @@ SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) infectee.investigate_log("was infected by spreading nanites by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) +/datum/nanite_program/nanite_sting + name = "Nanite Sting" + desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster." + can_trigger = TRUE + trigger_cost = 5 + trigger_cooldown = 100 + rogue_types = list(/datum/nanite_program/glitch, /datum/nanite_program/toxic) + +/datum/nanite_program/nanite_sting/on_trigger(comm_message) + var/list/mob/living/target_hosts = list() + for(var/mob/living/L in oview(1, host_mob)) + if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD)) || SEND_SIGNAL(L, COMSIG_HAS_NANITES) || !L.Adjacent(host_mob)) + continue + target_hosts += L + if(!target_hosts.len) + consume_nanites(-5) + return + var/mob/living/infectee = pick(target_hosts) + if(prob(100 - (infectee.get_permeability_protection() * 100))) + //unlike with Infective Exo-Locomotion, this can't take over existing nanites, because Nanite Sting only targets non-hosts. + infectee.AddComponent(/datum/component/nanites, 5) + SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) + infectee.investigate_log("was infected by a nanite cluster by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) + to_chat(infectee, "You feel a tiny prick.") + /datum/nanite_program/mitosis name = "Mitosis" - desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\ - but it causes occasional software errors due to faulty copies. Not compatible with cloud sync." + desc = "The nanites gain the ability to self-replicate, using bluespace to power the process. Becomes more effective the more nanites are already in the host.\ + The replication has also a chance to corrupt the nanite programming due to copy faults - cloud sync is highly recommended." use_rate = 0 rogue_types = list(/datum/nanite_program/toxic) /datum/nanite_program/mitosis/active_effect() - if(nanites.cloud_id) - return var/rep_rate = round(nanites.nanite_volume / 50, 1) //0.5 per 50 nanite volume rep_rate *= 0.5 - nanites.adjust_nanites(rep_rate) + nanites.adjust_nanites(null, rep_rate) if(prob(rep_rate)) var/datum/nanite_program/fault = pick(nanites.programs) if(fault == src) @@ -306,56 +298,22 @@ /datum/nanite_program/dermal_button name = "Dermal Button" desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." - extra_settings = list("Sent Code","Button Name","Icon","Color") unique = FALSE var/datum/action/innate/nanite_button/button - var/button_name = "Button" - var/icon = "power" - var/color = "green" - var/sent_code = 0 -/datum/nanite_program/dermal_button/set_extra_setting(user, setting) - if(setting == "Sent Code") - var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num - if(isnull(new_code)) - return - sent_code = CLAMP(round(new_code, 1), 1, 9999) - if(setting == "Button Name") - var/new_button_name = stripped_input(user, "Choose the name for the button.", "Button Name", button_name, MAX_NAME_LEN) - if(!new_button_name) - return - button_name = new_button_name - if(setting == "Icon") - var/new_icon = input("Select the icon to display on the button:", name) as null|anything in list("one","two","three","four","five","plus","minus","power") - if(!new_icon) - return - icon = new_icon - if(setting == "Color") - var/new_color = input("Select the color of the button's icon:", name) as null|anything in list("green","red","yellow","blue") - if(!new_color) - return - color = new_color - -/datum/nanite_program/dermal_button/get_extra_setting(setting) - if(setting == "Sent Code") - return sent_code - if(setting == "Button Name") - return button_name - if(setting == "Icon") - return capitalize(icon) - if(setting == "Color") - return capitalize(color) - -/datum/nanite_program/dermal_button/copy_extra_settings_to(datum/nanite_program/dermal_button/target) - target.sent_code = sent_code - target.button_name = button_name - target.icon = icon - target.color = color +/datum/nanite_program/dermal_button/register_extra_settings() + extra_settings[NES_SENT_CODE] = new /datum/nanite_extra_setting/number(1, 1, 9999) + extra_settings[NES_BUTTON_NAME] = new /datum/nanite_extra_setting/text("Button") + extra_settings[NES_ICON] = new /datum/nanite_extra_setting/type("power", list("one","two","three","four","five","plus","minus","power")) + extra_settings[NES_COLOR] = new /datum/nanite_extra_setting/type("green", list("green","red","yellow","blue")) /datum/nanite_program/dermal_button/enable_passive_effect() . = ..() + var/datum/nanite_extra_setting/bn_name = extra_settings[NES_BUTTON_NAME] + var/datum/nanite_extra_setting/bn_icon = extra_settings[NES_ICON] + var/datum/nanite_extra_setting/bn_color = extra_settings[NES_COLOR] if(!button) - button = new(src, button_name, icon, color) + button = new(src, bn_name.get_value(), bn_icon.get_value(), bn_color.get_value()) button.target = host_mob button.Grant(host_mob) @@ -372,7 +330,8 @@ if(activated) host_mob.visible_message("[host_mob] presses a button on [host_mob.p_their()] forearm.", "You press the nanite button on your forearm.", null, 2) - SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code, "a [name] program") + var/datum/nanite_extra_setting/sent_code = extra_settings[NES_SENT_CODE] + SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code.get_value(), "a [name] program") /datum/action/innate/nanite_button name = "Button" @@ -389,51 +348,3 @@ /datum/action/innate/nanite_button/Activate() program.press() - -/datum/nanite_program/research - name = "Distributed Computing" - desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." - use_rate = 0.2 - rogue_types = list(/datum/nanite_program/toxic) - -/datum/nanite_program/research/active_effect() - if(!iscarbon(host_mob)) - return - var/points = 1 - if(!host_mob.client) //less brainpower - points *= 0.25 - SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) - -/datum/nanite_program/researchplus - name = "Neural Network" - desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." - use_rate = 0.3 - rogue_types = list(/datum/nanite_program/brain_decay) - -/datum/nanite_program/researchplus/enable_passive_effect() - . = ..() - if(!iscarbon(host_mob)) - return - if(host_mob.client) - SSnanites.neural_network_count++ - else - SSnanites.neural_network_count += 0.25 - -/datum/nanite_program/researchplus/disable_passive_effect() - . = ..() - if(!iscarbon(host_mob)) - return - if(host_mob.client) - SSnanites.neural_network_count-- - else - SSnanites.neural_network_count -= 0.25 - -/datum/nanite_program/researchplus/active_effect() - if(!iscarbon(host_mob)) - return - var/mob/living/carbon/C = host_mob - var/points = round(SSnanites.neural_network_count / 12, 0.1) - if(!C.client) //less brainpower - points *= 0.25 - SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) - diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index f634b2088c..bd2b9618de 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -73,21 +73,20 @@ . = ..() to_chat(host_mob, "Your blood cools down, and the pain gradually fades.") -/datum/nanite_program/triggered/explosive +/datum/nanite_program/explosive name = "Chain Detonation" desc = "Detonates all the nanites inside the host in a chain reaction when triggered." + can_trigger = TRUE trigger_cost = 25 //plus every idle nanite left afterwards trigger_cooldown = 100 //Just to avoid double-triggering rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/explosive/trigger() - if(!..()) - return +/datum/nanite_program/explosive/on_trigger(comm_message) host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\ "You start emitting a high-pitched buzzing, and your skin begins to glow...") addtimer(CALLBACK(src, .proc/boom), CLAMP((nanites.nanite_volume * 0.35), 25, 150)) -/datum/nanite_program/triggered/explosive/proc/boom() +/datum/nanite_program/explosive/proc/boom() var/nanite_amount = nanites.nanite_volume var/heavy_range = FLOOR(nanite_amount/100, 1) - 1 var/light_range = FLOOR(nanite_amount/50, 1) - 1 @@ -96,16 +95,15 @@ //TODO make it defuse if triggered again -/datum/nanite_program/triggered/heart_stop +/datum/nanite_program/heart_stop name = "Heart-Stopper" desc = "Stops the host's heart when triggered; restarts it if triggered again." + can_trigger = TRUE trigger_cost = 12 trigger_cooldown = 10 rogue_types = list(/datum/nanite_program/nerve_decay) -/datum/nanite_program/triggered/heart_stop/trigger() - if(!..()) - return +/datum/nanite_program/heart_stop/on_trigger(comm_message) if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob var/obj/item/organ/heart/heart = C.getorganslot(ORGAN_SLOT_HEART) @@ -115,16 +113,16 @@ else heart.Restart() -/datum/nanite_program/triggered/emp +/datum/nanite_program/emp name = "Electromagnetic Resonance" - desc = "The nanites cause an elctromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!" + can_trigger = TRUE trigger_cost = 10 + trigger_cooldown = 50 program_flags = NANITE_EMP_IMMUNE rogue_types = list(/datum/nanite_program/toxic) -/datum/nanite_program/triggered/emp/trigger() - if(!..()) - return +/datum/nanite_program/emp/on_trigger(comm_message) empulse(host_mob, 1, 2) /datum/nanite_program/pyro/active_effect() @@ -148,7 +146,7 @@ /datum/nanite_program/cryo name = "Cryogenic Treatment" - desc = "The nanites rapidly skin heat through the host's skin, lowering their temperature." + desc = "The nanites rapidly sink heat through the host's skin, lowering their temperature." use_rate = 1 rogue_types = list(/datum/nanite_program/skin_decay, /datum/nanite_program/pyro) @@ -160,55 +158,33 @@ /datum/nanite_program/cryo/active_effect() host_mob.adjust_bodytemperature(-rand(15,25), 50) -/datum/nanite_program/triggered/comm/mind_control +/datum/nanite_program/comm/mind_control name = "Mind Control" desc = "The nanites imprint an absolute directive onto the host's brain for one minute when triggered." trigger_cost = 30 trigger_cooldown = 1800 rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - extra_settings = list("Directive","Comm Code") - var/directive = "..." +/datum/nanite_program/comm/mind_control/register_extra_settings() + . = ..() + extra_settings[NES_DIRECTIVE] = new /datum/nanite_extra_setting/text("...") -/datum/nanite_program/triggered/comm/mind_control/set_extra_setting(user, setting) - if(setting == "Directive") - var/new_directive = stripped_input(user, "Choose the directive to imprint with mind control.", "Directive", directive, MAX_MESSAGE_LEN) - if(!new_directive) - return - directive = new_directive - if(setting == "Comm Code") - var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num - if(isnull(new_code)) - return - comm_code = CLAMP(round(new_code, 1), 0, 9999) - -/datum/nanite_program/triggered/comm/mind_control/get_extra_setting(setting) - if(setting == "Directive") - return directive - if(setting == "Comm Code") - return comm_code - -/datum/nanite_program/triggered/comm/mind_control/copy_extra_settings_to(datum/nanite_program/triggered/comm/mind_control/target) - target.directive = directive - target.comm_code = comm_code - -/datum/nanite_program/triggered/comm/mind_control/trigger(comm_message) - if(!..()) - return +/datum/nanite_program/comm/mind_control/on_trigger(comm_message) if(host_mob.stat == DEAD) return var/sent_directive = comm_message if(!comm_message) - sent_directive = directive + var/datum/nanite_extra_setting/ES = extra_settings[NES_DIRECTIVE] + sent_directive = ES.get_value() brainwash(host_mob, sent_directive) - log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[directive]'.") + log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[sent_directive]'.") addtimer(CALLBACK(src, .proc/end_brainwashing), 600) -/datum/nanite_program/triggered/comm/mind_control/proc/end_brainwashing() +/datum/nanite_program/comm/mind_control/proc/end_brainwashing() if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) host_mob.mind.remove_antag_datum(/datum/antagonist/brainwashed) log_game("[key_name(host_mob)] is no longer brainwashed by nanites.") - -/datum/nanite_program/triggered/comm/mind_control/disable_passive_effect() + +/datum/nanite_program/comm/mind_control/disable_passive_effect() . = ..() end_brainwashing() diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index e10d8f8c4b..71aecc8f2c 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -18,6 +18,7 @@ var/last_id = 0 var/code = 0 var/relay_code = 0 + var/current_program_name = "Program" /obj/item/nanite_remote/examine(mob/user) . = ..() @@ -35,10 +36,8 @@ update_icon() else to_chat(user, "Access denied.") - return TRUE /obj/item/nanite_remote/emag_act(mob/user) - . = ..() if(obj_flags & EMAGGED) return to_chat(user, "You override [src]'s ID lock.") @@ -46,33 +45,31 @@ if(locked) locked = FALSE update_icon() - return TRUE -/obj/item/nanite_remote/update_icon() +/obj/item/nanite_remote/update_overlays() . = ..() - cut_overlays() if(obj_flags & EMAGGED) - add_overlay("nanite_remote_emagged") + . += "nanite_remote_emagged" if(locked) - add_overlay("nanite_remote_locked") + . += "nanite_remote_locked" /obj/item/nanite_remote/afterattack(atom/target, mob/user, etc) switch(mode) if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") signal_mob(user, code, key_name(user)) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, "You activate [src], signaling the nanites inside [target].") signal_mob(target, code, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, "You activate [src], signaling the nanites inside every host around you.") for(var/mob/living/L in view(user, 7)) signal_mob(L, code, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, "You activate [src], signaling all connected relay nanites.") signal_relay(code, relay_code, key_name(user)) /obj/item/nanite_remote/proc/signal_mob(mob/living/M, code, source) @@ -84,9 +81,9 @@ N.relay_signal(code, relay_code, source) /obj/item/nanite_remote/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "nanite_remote", name, 420, 800, master_ui, state) + ui = new(user, src, ui_key, "nanite_remote", name, 420, 500, master_ui, state) ui.open() /obj/item/nanite_remote/ui_data() @@ -96,6 +93,7 @@ data["mode"] = mode data["locked"] = locked data["saved_settings"] = saved_settings + data["program_name"] = current_program_name return data @@ -106,7 +104,7 @@ if("set_code") if(locked) return - var/new_code = input("Set code (0000-9999):", name, code) as null|num + var/new_code = text2num(params["code"]) if(!isnull(new_code)) new_code = CLAMP(round(new_code, 1),0,9999) code = new_code @@ -114,21 +112,21 @@ if("set_relay_code") if(locked) return - var/new_code = input("Set relay code (0000-9999):", name, code) as null|num + var/new_code = text2num(params["code"]) if(!isnull(new_code)) new_code = CLAMP(round(new_code, 1),0,9999) relay_code = new_code . = TRUE + if("update_name") + current_program_name = params["name"] + . = TRUE if("save") if(locked) return - var/code_name = stripped_input(usr, "Set the setting name", "Set Name", null , 15) - if(!code_name) - return var/new_save = list() new_save["id"] = last_id + 1 last_id++ - new_save["name"] = code_name + new_save["name"] = current_program_name new_save["code"] = code new_save["mode"] = mode new_save["relay_code"] = relay_code @@ -172,7 +170,6 @@ name = "nanite communication remote" desc = "A device that can send text messages to specific programs." icon_state = "nanite_comm_remote" - var/comm_code = 0 var/comm_message = "" /obj/item/nanite_remote/comm/afterattack(atom/target, mob/user, etc) @@ -180,42 +177,38 @@ if(REMOTE_MODE_OFF) return if(REMOTE_MODE_SELF) - to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") - signal_mob(user, comm_code, comm_message) + to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + signal_mob(user, code, comm_message) if(REMOTE_MODE_TARGET) if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) - to_chat(user, "You activate [src], signaling the nanites inside [target].") + to_chat(user, "You activate [src], signaling the nanites inside [target].") signal_mob(target, code, comm_message, key_name(user)) if(REMOTE_MODE_AOE) - to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + to_chat(user, "You activate [src], signaling the nanites inside every host around you.") for(var/mob/living/L in view(user, 7)) signal_mob(L, code, comm_message, key_name(user)) if(REMOTE_MODE_RELAY) - to_chat(user, "You activate [src], signaling all connected relay nanites.") + to_chat(user, "You activate [src], signaling all connected relay nanites.") signal_relay(code, relay_code, comm_message, key_name(user)) /obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source) - SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) + SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, code, comm_message) /obj/item/nanite_remote/comm/signal_relay(code, relay_code, source) for(var/X in SSnanites.nanite_relays) var/datum/nanite_program/relay/N = X - N.relay_comm_signal(comm_code, relay_code, comm_message) - -/obj/item/nanite_remote/comm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "nanite_comm_remote", name, 420, 800, master_ui, state) - ui.open() + N.relay_comm_signal(code, relay_code, comm_message) /obj/item/nanite_remote/comm/ui_data() var/list/data = list() - data["comm_code"] = comm_code + data["comms"] = TRUE + data["code"] = code data["relay_code"] = relay_code - data["comm_message"] = comm_message + data["message"] = comm_message data["mode"] = mode data["locked"] = locked data["saved_settings"] = saved_settings + data["program_name"] = current_program_name return data @@ -223,56 +216,17 @@ if(..()) return switch(action) - if("set_comm_code") - if(locked) - return - var/new_code = input("Set comm code (0000-9999):", name, code) as null|num - if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) - comm_code = new_code - . = TRUE if("set_message") if(locked) return - var/new_message = stripped_input(usr, "Set the message (Max 300 characters):", "Set Message", null , 300) + var/new_message = html_encode(params["value"]) if(!new_message) return comm_message = new_message . = TRUE - if("comm_save") - if(locked) - return - var/code_name = stripped_input(usr, "Set the setting name", "Set Name", null , 15) - if(!code_name) - return - var/new_save = list() - new_save["id"] = last_id + 1 - last_id++ - new_save["name"] = code_name - new_save["code"] = comm_code - new_save["mode"] = mode - new_save["relay_code"] = relay_code - new_save["message"] = comm_message - - saved_settings += list(new_save) - . = TRUE - if("comm_load") - var/code_id = params["save_id"] - var/list/setting - for(var/list/X in saved_settings) - if(X["id"] == text2num(code_id)) - setting = X - break - if(setting) - comm_code = setting["code"] - mode = setting["mode"] - relay_code = setting["relay_code"] - comm_message = setting["message"] - . = TRUE - #undef REMOTE_MODE_OFF #undef REMOTE_MODE_SELF #undef REMOTE_MODE_TARGET #undef REMOTE_MODE_AOE -#undef REMOTE_MODE_RELAY \ No newline at end of file +#undef REMOTE_MODE_RELAY diff --git a/code/modules/research/nanites/program_disks.dm b/code/modules/research/nanites/program_disks.dm index 6444ebc025..667618173c 100644 --- a/code/modules/research/nanites/program_disks.dm +++ b/code/modules/research/nanites/program_disks.dm @@ -31,7 +31,7 @@ program_type = /datum/nanite_program/relay /obj/item/disk/nanite_program/emp - program_type = /datum/nanite_program/triggered/emp + program_type = /datum/nanite_program/emp /obj/item/disk/nanite_program/spreading program_type = /datum/nanite_program/spreading @@ -91,16 +91,16 @@ program_type = /datum/nanite_program/suffocating /obj/item/disk/nanite_program/heart_stop - program_type = /datum/nanite_program/triggered/heart_stop + program_type = /datum/nanite_program/heart_stop /obj/item/disk/nanite_program/explosive - program_type = /datum/nanite_program/triggered/explosive + program_type = /datum/nanite_program/explosive /obj/item/disk/nanite_program/shock - program_type = /datum/nanite_program/triggered/shocking + program_type = /datum/nanite_program/shocking /obj/item/disk/nanite_program/sleepy - program_type = /datum/nanite_program/triggered/sleepy + program_type = /datum/nanite_program/sleepy /obj/item/disk/nanite_program/paralyzing program_type = /datum/nanite_program/paralyzing @@ -130,7 +130,7 @@ program_type = /datum/nanite_program/pacifying /obj/item/disk/nanite_program/stun - program_type = /datum/nanite_program/triggered/stun + program_type = /datum/nanite_program/stun /obj/item/disk/nanite_program/dermal_button program_type = /datum/nanite_program/dermal_button @@ -149,3 +149,4 @@ /obj/item/disk/nanite_program/bad_mood program_type = /datum/nanite_program/bad_mood + diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index c0d19e0375..76392c66e9 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -32,7 +32,7 @@ busy_icon_state = working_icon update_icon() -/obj/machinery/public_nanite_chamber/proc/inject_nanites() +/obj/machinery/public_nanite_chamber/proc/inject_nanites(mob/living/attacker) if(stat & (NOPOWER|BROKEN)) return if((stat & MAINT) || panel_open) @@ -47,46 +47,67 @@ set_busy(TRUE, "[initial(icon_state)]_raising") addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),60) - addtimer(CALLBACK(src, .proc/complete_injection, locked_state),80) + addtimer(CALLBACK(src, .proc/complete_injection, locked_state, attacker),80) -/obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state) +/obj/machinery/public_nanite_chamber/proc/complete_injection(locked_state, mob/living/attacker) //TODO MACHINE DING locked = locked_state set_busy(FALSE) if(!occupant) return + if(attacker) + occupant.investigate_log("was injected with nanites by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + log_combat(attacker, occupant, "injected", null, "with nanites via [src]") occupant.AddComponent(/datum/component/nanites, 75, cloud_id) -/obj/machinery/public_nanite_chamber/update_icon() - cut_overlays() - +/obj/machinery/public_nanite_chamber/proc/change_cloud(mob/living/attacker) + if(stat & (NOPOWER|BROKEN)) + return if((stat & MAINT) || panel_open) - add_overlay("maint") + return + if(!occupant || busy) + return - else if(!(stat & (NOPOWER|BROKEN))) - if(busy || locked) - add_overlay("red") - if(locked) - add_overlay("bolted") - else - add_overlay("green") + var/locked_state = locked + locked = TRUE + set_busy(TRUE, "[initial(icon_state)]_raising") + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_active"),20) + addtimer(CALLBACK(src, .proc/set_busy, TRUE, "[initial(icon_state)]_falling"),40) + addtimer(CALLBACK(src, .proc/complete_cloud_change, locked_state, attacker),60) +/obj/machinery/public_nanite_chamber/proc/complete_cloud_change(locked_state, mob/living/attacker) + locked = locked_state + set_busy(FALSE) + if(!occupant) + return + if(attacker) + occupant.investigate_log("had their nanite cloud ID changed into [cloud_id] by [key_name(attacker)] using [src] at [AREACOORD(src)].", INVESTIGATE_NANITES) + SEND_SIGNAL(occupant, COMSIG_NANITE_SET_CLOUD, cloud_id) +/obj/machinery/public_nanite_chamber/update_icon_state() //running and someone in there if(occupant) if(busy) icon_state = busy_icon_state else icon_state = initial(icon_state)+ "_occupied" - return + else + //running + icon_state = initial(icon_state)+ (state_open ? "_open" : "") - //running - icon_state = initial(icon_state)+ (state_open ? "_open" : "") - -/obj/machinery/public_nanite_chamber/power_change() +/obj/machinery/public_nanite_chamber/update_overlays() . = ..() - update_icon() + if((stat & MAINT) || panel_open) + . += "maint" + + else if(!(stat & (NOPOWER|BROKEN))) + if(busy || locked) + . += "red" + if(locked) + . += "bolted" + else + . += "green" /obj/machinery/public_nanite_chamber/proc/toggle_open(mob/user) if(panel_open) @@ -94,7 +115,7 @@ return if(state_open) - close_machine() + close_machine(null, user) return else if(locked) @@ -113,7 +134,7 @@ user.last_special = world.time + CLICK_CD_BREAKOUT user.visible_message("You see [user] kicking against the door of [src]!", \ "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a metallic creaking from [src].") + "You hear a metallic creaking from [src].") if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy) return @@ -122,7 +143,7 @@ "You successfully break out of [src]!") open_machine() -/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user) +/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user, mob/living/attacker) if(!state_open) return FALSE @@ -130,15 +151,18 @@ . = TRUE - addtimer(CALLBACK(src, .proc/try_inject_nanites), 30) //If someone is shoved in give them a chance to get out before the injection starts + addtimer(CALLBACK(src, .proc/try_inject_nanites, attacker), 30) //If someone is shoved in give them a chance to get out before the injection starts -/obj/machinery/public_nanite_chamber/proc/try_inject_nanites() +/obj/machinery/public_nanite_chamber/proc/try_inject_nanites(mob/living/attacker) if(occupant) var/mob/living/L = occupant if(SEND_SIGNAL(L, COMSIG_HAS_NANITES)) + var/datum/component/nanites/nanites = L.GetComponent(/datum/component/nanites) + if(nanites && nanites.cloud_id != cloud_id) + change_cloud(attacker) return - if((MOB_ORGANIC in L.mob_biotypes) || (MOB_UNDEAD in L.mob_biotypes)) - inject_nanites() + if(L.mob_biotypes & (MOB_ORGANIC | MOB_UNDEAD)) + inject_nanites(attacker) /obj/machinery/public_nanite_chamber/open_machine() if(state_open) @@ -173,6 +197,8 @@ toggle_open(user) /obj/machinery/public_nanite_chamber/MouseDrop_T(mob/target, mob/user) - if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) || !Adjacent(target) || !user.Adjacent(target) || !iscarbon(target)) return - close_machine(target) + if(close_machine(target, user)) + log_combat(user, target, "inserted", null, "into [src].") + add_fingerprint(user) diff --git a/code/modules/research/nanites/rules.dm b/code/modules/research/nanites/rules.dm new file mode 100644 index 0000000000..f496abe6e1 --- /dev/null +++ b/code/modules/research/nanites/rules.dm @@ -0,0 +1,151 @@ +/datum/nanite_rule + var/name = "Generic Condition" + var/desc = "When triggered, the program is active" + var/datum/nanite_program/program + +/datum/nanite_rule/New(datum/nanite_program/new_program) + program = new_program + if(LAZYLEN(new_program.rules) <= 5) //Avoid infinite stacking rules + new_program.rules += src + else + qdel(src) + +/datum/nanite_rule/proc/remove() + program.rules -= src + program = null + qdel(src) + +/datum/nanite_rule/proc/check_rule() + return TRUE + +/datum/nanite_rule/proc/display() + return name + +/datum/nanite_rule/proc/copy_to(datum/nanite_program/new_program) + new type(new_program) + +/datum/nanite_rule/health + name = "Health" + desc = "Checks the host's health status." + + var/threshold = 50 + var/above = TRUE + +/datum/nanite_rule/health/check_rule() + var/health_percent = program.host_mob.health / program.host_mob.maxHealth * 100 + if(above) + if(health_percent >= threshold) + return TRUE + else + if(health_percent < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/health/display() + return "[name] [above ? ">" : "<"] [threshold]%" + +/datum/nanite_rule/health/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/health/rule = new(new_program) + rule.above = above + rule.threshold = threshold + +//TODO allow inversion +/datum/nanite_rule/crit + name = "Crit" + desc = "Checks if the host is in critical condition." + +/datum/nanite_rule/crit/check_rule() + if(program.host_mob.InCritical()) + return TRUE + return FALSE + +/datum/nanite_rule/death + name = "Death" + desc = "Checks if the host is dead." + +/datum/nanite_rule/death/check_rule() + if(program.host_mob.stat == DEAD || HAS_TRAIT(program.host_mob, TRAIT_FAKEDEATH)) + return TRUE + return FALSE + +/datum/nanite_rule/cloud_sync + name = "Cloud Sync" + desc = "Checks if the nanites have cloud sync enabled or disabled." + var/check_type = "Enabled" + +/datum/nanite_rule/cloud_sync/check_rule() + if(check_type == "Enabled") + return program.nanites.cloud_active + else + return !program.nanites.cloud_active + +/datum/nanite_rule/cloud_sync/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/cloud_sync/rule = new(new_program) + rule.check_type = check_type + +/datum/nanite_rule/cloud_sync/display() + return "[name]:[check_type]" + +/datum/nanite_rule/nanites + name = "Nanite Volume" + desc = "Checks the host's nanite volume." + + var/threshold = 50 + var/above = TRUE + +/datum/nanite_rule/nanites/check_rule() + var/nanite_percent = (program.nanites.nanite_volume - program.nanites.safety_threshold)/(program.nanites.max_nanites - program.nanites.safety_threshold)*100 + if(above) + if(nanite_percent >= threshold) + return TRUE + else + if(nanite_percent < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/nanites/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/nanites/rule = new(new_program) + rule.above = above + rule.threshold = threshold + +/datum/nanite_rule/nanites/display() + return "[name] [above ? ">" : "<"] [threshold]%" + +/datum/nanite_rule/damage + name = "Damage" + desc = "Checks the host's damage." + + var/threshold = 50 + var/above = TRUE + var/damage_type = BRUTE + +/datum/nanite_rule/damage/check_rule() + var/damage_amt = 0 + switch(damage_type) + if(BRUTE) + damage_amt = program.host_mob.getBruteLoss() + if(BURN) + damage_amt = program.host_mob.getFireLoss() + if(TOX) + damage_amt = program.host_mob.getToxLoss() + if(OXY) + damage_amt = program.host_mob.getOxyLoss() + if(CLONE) + damage_amt = program.host_mob.getCloneLoss() + + if(above) + if(damage_amt >= threshold) + return TRUE + else + if(damage_amt < threshold) + return TRUE + return FALSE + +/datum/nanite_rule/damage/copy_to(datum/nanite_program/new_program) + var/datum/nanite_rule/damage/rule = new(new_program) + rule.above = above + rule.threshold = threshold + rule.damage_type = damage_type + +/datum/nanite_rule/damage/display() + return "[damage_type] [above ? ">" : "<"] [threshold]" diff --git a/tgstation.dme b/tgstation.dme index a747c823db..4aaa8f477d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2809,6 +2809,12 @@ #include "code\modules\research\nanites\nanite_remote.dm" #include "code\modules\research\nanites\program_disks.dm" #include "code\modules\research\nanites\public_chamber.dm" +#include "code\modules\research\nanites\rules.dm" +#include "code\modules\research\nanites\extra_settings\_extra_setting.dm" +#include "code\modules\research\nanites\extra_settings\boolean.dm" +#include "code\modules\research\nanites\extra_settings\number.dm" +#include "code\modules\research\nanites\extra_settings\text.dm" +#include "code\modules\research\nanites\extra_settings\type.dm" #include "code\modules\research\nanites\nanite_programs\buffing.dm" #include "code\modules\research\nanites\nanite_programs\healing.dm" #include "code\modules\research\nanites\nanite_programs\rogue.dm" diff --git a/tgui-next/packages/tgui/public/tgui.bundle.js b/tgui-next/packages/tgui/public/tgui.bundle.js index 7089db7a98..692f038458 100644 --- a/tgui-next/packages/tgui/public/tgui.bundle.js +++ b/tgui-next/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(24),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,s,d,p,f,m=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[m]||c(m,{}):(o[m]||{}).prototype)for(s in t){if(p=t[s],d=e.noTargetGet?(f=r(n,s))&&f.value:n[s],!u(h?s:m+(C?".":"#")+s,e.forced)&&d!==undefined){if(typeof p==typeof d)continue;l(p,d)}(e.sham||d&&d.sham)&&a(p,"sham",!0),i(n,s,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var s=n(396);t.Dropdown=s.Dropdown;var d=n(397);t.Flex=d.Flex;var p=n(161);t.Grid=p.Grid;var f=n(87);t.Icon=f.Icon;var m=n(160);t.Input=m.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(24),s=n(22),d=n(13).f,p=n(36),f=n(53),m=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,w=m("toStringTag"),L=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!f&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&f(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&f(a[o].prototype,_);if(S&&p(V)!==_&&f(V,_),r&&!c(_,w))for(o in I=!0,d(_,w,{get:function(){return i(this)?this[L]:undefined}}),T)a[o]&&u(a[o],L,o);B&&f&&p(g)!==x&&f(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&L,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(f){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||s(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(f){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return s(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||s(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(29),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),s=o.Symbol,d=l?s:i;e.exports=function(e){return a(u,e)||(c&&a(s,e)?u[e]=s[e]:u[e]=d("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(s)return!1;return d?-1:u||s?s:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},f=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,s=e.children,d=c(e,["as","className","content","children"]),p=e.textColor||e.color,f=e.backgroundColor;if("function"==typeof s)return s(C(e));var m=C(d);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(f)&&"color-bg-"+f]),l||s,a.ChildFlags.UnknownChildren,m)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(23),c=n(33),l=n(15),u=n(119),s=Object.getOwnPropertyDescriptor;t.f=o?s:function(e,t){if(e=i(e),t=c(t,!0),u)try{return s(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(31),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(24),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,s=l.enforce,d=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),s(n).source=d.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";var o=n(57),r=n(21);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(46);e.exports=o?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var o=n(123),r=n(15),a=n(129),i=n(13).f;e.exports=function(e){var t=o.Symbol||(o.Symbol={});r(t,e)||i(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";var o=n(21),r=/"/g;e.exports=function(e,t,n,a){var i=String(o(e)),c="<"+t;return""!==n&&(c+=" "+n+'="'+String(a).replace(r,""")+'"'),c+">"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(24),s=n(15),d=n(72),p=n(59),f=c.WeakMap;if(i){var m=new f,h=m.get,C=m.has,g=m.set;o=function(e,t){return g.call(m,e,t),t},r=function(e){return h.call(m,e)||{}},a=function(e){return C.call(m,e)}}else{var b=d("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return s(e,b)?e[b]:{}},a=function(e){return s(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),s=n(46),d=n(24),p=n(10),f=n(137),m=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),w=n(18),L=n(34),B=n(79),S=L.get,I=L.set,T=k.f,A=w.f,E=Math.round,P=r.RangeError,O=l.ArrayBuffer,M=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof O||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?s(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(w.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,s="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},w=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},L=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[s](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return w(this,t)},set:function(e){return L(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,m(n,a),o):n!==undefined?new h(t,m(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(f(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||d(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,s=0,d=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,d=m(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-d)<0)throw P("Wrong length")}else if((i=p(o)*a)+d>h)throw P("Wrong length");l=i/a}else l=f(t),r=new O(i=l*a);for(I(e,{buffer:r,byteOffset:d,byteLength:i,length:l,view:new M(r)});sdocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[s][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(d[s]=o(e),n=new d,d[s]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(24),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(30),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(30);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),s=0,d=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++s,weakData:{}}})},f=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!d(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!d(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&f.REQUIRED&&d(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;os;)if((c=l[s++])!=c)return!0}else for(;u>s;s++)if((e||s in l)&&l[s]===n)return e||s||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,s,d){var p,f,m,h,C,g,b,v=i(t,n,s?2:1);if(d)p=e;else{if("function"!=typeof(f=c(e)))throw TypeError("Target is not iterable");if(r(f)){for(m=0,h=a(e.length);h>m;m++)if((C=s?v(o(b=e[m])[0],b[1]):v(e[m]))&&C instanceof u)return C;return new u(!1)}p=f.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,s))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;s=c[u++]}else{if((u=c.next()).done)break;s=u.value}var d=s;Array.isArray(d)?n=o.apply(void 0,d).apply(void 0,[n].concat(a)):d&&(n=d.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:d>p;p+=f)p in s&&(l=n(l,s[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(24),c=n(66),l=n(4),u=n(55),s=n(29),d=n(10),p=n(137),f=n(217),m=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,w=o[y],L=o.RangeError,B=f.pack,S=f.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},O=function(e){return B(e,52,8)},M=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw L("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw L("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,s=o(+r),d=0;dH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new w(new k(2)),U=w.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(w.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},w=function(e,t,n){u(this,w,y),u(e,k,y);var o=v(e).byteLength,a=s(t);if(a<0||a>o)throw L("Wrong offset");if(a+(n=n===undefined?o-a:d(n))>o)throw L(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(M(k,"byteLength"),M(w,"buffer"),M(w,"byteLength"),M(w,"byteOffset")),c(w.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,O,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(w,y),e.exports={ArrayBuffer:k,DataView:w}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),s=n(6),d=n(4),p=n(75),f=n(43),m=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!s(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!s(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!s(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!d((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=d((function(){_.has(1)})),w=p((function(e){new b(e)})),L=!C&&d((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));w||((N=t((function(t,n){u(t,N,e);var o=m(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||L)&&(y("delete"),y("has"),h&&y("get")),(L||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),f(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),s=/()??/.exec("")[1]!==undefined;(u||s)&&(l=function(e){var t,n,o,r,l=this;return s&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),s&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),s=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,d){var p=i(e),f=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),m=f&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!f||!m||"replace"===e&&!u||"split"===e&&!s){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?f&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),d&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,s=void 0===u?{}:u,d=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(s["font-size"]=100*n+"%"),"number"==typeof d&&(s.transform="rotate("+d+"deg)");var f=i.test(t),m=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,f?"far":"fas","fa-"+m,c&&"fa-spin"]),style:s},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(24);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(24),u=n(22),s=n(11),d=n(38),p=n(65),f=n(134),m=f.IteratorPrototype,h=f.BUGGY_SAFARI_ITERATORS,C=s("iterator"),g=function(){return this};e.exports=function(e,t,n,s,f,b,v){r(n,t,s);var N,V,y,_=function(e){if(e===f&&B)return B;if(!h&&e in w)return w[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,w=e.prototype,L=w[C]||w["@@iterator"]||f&&w[f],B=!h&&L||_(f),S="Array"==t&&w.entries||L;if(S&&(N=a(S.call(new e)),m!==Object.prototype&&N.next&&(d||a(N)===m||(i?i(N,m):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),d&&(p[x]=g))),"values"==f&&L&&"values"!==L.name&&(k=!0,B=function(){return L.call(this)}),d&&!v||w[C]===B||l(w,C,B),p[t]=B,f)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in w||u(w,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,s=String(a(t)),d=s.length,p=c===undefined?" ":String(c),f=o(n);return f<=d||""==p?s:(l=f-d,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?s+u:u+s)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(29),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),s=n(127),d=n(88),p=n(146),f=i.location,m=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",f.protocol+"//"+f.host)};m&&h||(m=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in d("script")?function(e){s.appendChild(d("script")).onreadystatechange=function(){s.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:m,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(29),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),s=n(87),d=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function f(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var m=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,w=f(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),L=!(!N&&!_);return x&&m.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",L&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},w,{children:[c&&(0,o.createComponentVNode)(2,s.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,d.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=f(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,s=f(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},s)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,s=(t.placeholder,t.maxLength,f(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},s,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},s=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},d=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=s(e),i=o.keyCode,u=o.ctrlKey,d=o.shiftKey;u||d||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=s(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,d=o.keyString;u&&!i.includes(l)&&(a.log(d),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){d()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(23),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),s=arguments.length>2?arguments[2]:undefined,d=i((s===undefined?c:r(s,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,s,d){for(var p,f=l,m=0,h=!!s&&a(s,d,3);m0&&o(p))f=i(e,t,p,r(p.length),f,u-1)-1;else{if(f>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[f]=p}f++}m++}return f}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(23),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(24),l=n(15),u=n(11),s=n(38),d=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),s||l(o,d)||c(o,d,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(23),r=n(29),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,s=i("lastIndexOf");e.exports=u||s?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(29),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(30),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(s.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),d&&o(s.prototype,"size",{get:function(){return f(this).size}}),s},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){m(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),s(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(23),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,s=0,d=[];u>s;)n=l[s++],o&&!i.call(c,n)||d.push(e?[n,c[n]]:c[n]);return d}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,s,d=n(5),p=n(18).f,f=n(32),m=n(106).set,h=n(146),C=d.MutationObserver||d.WebKitMutationObserver,g=d.process,b=d.Promise,v="process"==f(g),N=p(d,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),s=u.then,i=function(){s.call(u,o)}):i=function(){m.call(d,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(30),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,s,d,p,f=o(e),m=arguments.length,h=m>1?arguments[1]:undefined,C=h!==undefined,g=a(f);if(g!=undefined&&!i(g))for(p=(d=g.call(f)).next,f=[];!(s=p.call(d)).done;)f.push(s.value);for(C&&m>2&&(h=c(h,arguments[2],2)),n=r(f.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(f[t],t):f[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),s=n(15),d=n(34),p=d.set,f=d.getterFor,m=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return m(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var d=e((function(e,o){c(e,d,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),m=f(t),h=function(e,t,n){var o=m(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(d.prototype,{"delete":function(e){var t=m(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&s(n,t.id)&&delete n[t.id]},has:function(e){var t=m(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&s(n,t.id)}}),o(d.prototype,n?{get:function(e){var t=m(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),d}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),s=(0,n(51).createLogger)("drag"),d=!1,p=!1,f=[0,0],m=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return s.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(m(o));case 4:t=i.sent,f=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),s.debug("current state",{ref:o,screenOffset:f});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){s.log("drag start"),d=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){s.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),d=!1},v=function(e){d&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],f,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],s.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){s.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(28);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,s=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},s,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,s=e.content,d=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[s,d]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),s=n(496),d=(0,l.createLogger)(),p=(0,s.createStore)(),f=document.getElementById("react-root"),m=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(m){if(d.log("initial render",e),!(0,u.getRoute)(e)){if(d.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(498).Layout,s=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(s,f)}catch(C){d.error("rendering error",C)}m&&(m=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){d.log(o),d.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),s=n(4),d=n(15),p=n(52),f=n(6),m=n(8),h=n(14),C=n(23),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),w=n(71),L=n(24),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),O=n(25),M=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=w.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&s((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],q(e,t,n),o&&e!==G&&q(G,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),m(e);var o=g(t,!0);return m(n),d(Q,o)?(n.enumerable?(d(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(d(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){m(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&d(Q,t)&&!d(X,t))&&(!(n||!d(this,t)||!d(Q,t)||d(this,D)&&this[D][t])||n)},se=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!d(Q,o)||d(X,o)){var r=Y(n,o);return!r||!d(Q,o)||d(n,D)&&n[D][o]||(r.enumerable=!0),r}},de=function(e){var t=W(C(e)),n=[];return F(t,(function(e){d(Q,e)||d(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=W(t?X:C(e)),o=[];return F(n,(function(e){!d(Q,e)||t&&!d(G,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),d(this,D)&&d(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),w.f=ue,k.f=ie,x.f=se,V.f=y.f=de,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||B(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){O(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(d(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(d(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:se}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:s((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||s((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(f(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||L(U.prototype,j,U.prototype.valueOf),M(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),s=a.Symbol;if(r&&"function"==typeof s&&(!("description"in s.prototype)||s().description!==undefined)){var d={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new s(e):e===undefined?s():s(e);return""===e&&(d[t]=!0),t};u(p,s);var f=p.prototype=s.prototype;f.constructor=p;var m=f.toString,h="Symbol(test)"==String(s("test")),C=/^Symbol\((.*)\)[^)]+$/;l(f,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=m.call(e);if(i(d,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(25)("asyncIterator")},function(e,t,n){"use strict";n(25)("hasInstance")},function(e,t,n){"use strict";n(25)("isConcatSpreadable")},function(e,t,n){"use strict";n(25)("iterator")},function(e,t,n){"use strict";n(25)("match")},function(e,t,n){"use strict";n(25)("replace")},function(e,t,n){"use strict";n(25)("search")},function(e,t,n){"use strict";n(25)("species")},function(e,t,n){"use strict";n(25)("split")},function(e,t,n){"use strict";n(25)("toPrimitive")},function(e,t,n){"use strict";n(25)("toStringTag")},function(e,t,n){"use strict";n(25)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),s=n(63),d=n(64),p=n(11),f=n(96),m=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=f>=51||!r((function(){var e=[];return e[m]=!1,e.concat()[0]!==e})),b=d("concat"),v=function(e){if(!i(e))return!1;var t=e[m];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),d=s(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(d,p++,a)}return d.length=p,d}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(29),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,s,d,p,f=r(e),m="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(f);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||m==Array&&i(v))for(n=new m(t=c(f.length));t>b;b++)l(n,b,g?C(f[b],b):f[b]);else for(p=(d=v.call(f)).next,n=new m;!(s=p.call(d)).done;b++)l(n,b,g?a(d,C,[s.value,b],!0):s.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(23),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(23),u=n(49),s=n(64),d=n(11)("species"),p=[].slice,f=Math.max;o({target:"Array",proto:!0,forced:!s("slice")},{slice:function(e,t){var n,o,s,m=l(this),h=c(m.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(m)&&("function"!=typeof(n=m.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[d])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(m,C,g);for(o=new(n===undefined?Array:n)(f(g-C,0)),s=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,s=i((function(){l.sort(undefined)})),d=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:s||!d||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(29),i=n(10),c=n(14),l=n(63),u=n(49),s=n(64),d=Math.max,p=Math.min,f=9007199254740991,m="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!s("splice")},{splice:function(e,t){var n,o,s,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(d(a(t),0),v-N)),v+n-o>f)throw TypeError(m);for(s=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=f):(l=a(i(e)/c),e*(s=r(2,-l))<1&&(l--,s*=2),(e+=l+m>=1?h/s:h*r(2,1-m))*s>=2&&(l++,s/=2),l+m>=f?(u=0,l=f):l+m>=1?(u=(e*s-1)*r(2,t),l+=m):(u=e*r(2,m-1)*r(2,t),l=0));t>=8;d[g++]=255&u,u/=256,t-=8);for(l=l<0;d[g++]=255&l,l/=256,p-=8);return d[--g]|=128*C,d},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,s=e[u--],d=127&s;for(s>>=7;l>0;d=256*d+e[u],u--,l-=8);for(n=d&(1<<-l)-1,d>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===d)d=1-c;else{if(d===i)return n?NaN:s?-1/0:1/0;n+=r(2,t),d-=c}return(s?-1:1)*n*r(2,d-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),s=a.ArrayBuffer,d=a.DataView,p=s.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new s(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,s))(l(r-o)),f=new d(this),m=new d(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(24),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),s=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),d=o(e);return al||n!=n?d*Infinity:d*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),s=n(33),d=n(4),p=n(42),f=n(47).f,m=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=s(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?d((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?f(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,m(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(29),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,s=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},d=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),f=[0,0,0,0,0,0],m="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*f[n],f[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=f[t],f[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==f[e]){var n=String(f[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(m="-",l=-l),l>1e-21)if(n=(t=d(l*s(2,69,1))-69)<0?l*s(2,-t,1):l/s(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(s(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?m+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):m+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),s=Object.assign,d=Object.defineProperty;e.exports=!s||r((function(){if(o&&1!==s({b:1},s(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=s({},e)[n]||"abcdefghijklmnopqrst"!=a(s({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,s=1,d=i.f,p=c.f;r>s;)for(var f,m=u(arguments[s++]),h=d?a(m).concat(d(m)):a(m),C=h.length,g=0;C>g;)f=h[g++],o&&!p.call(m,f)||(n[f]=m[f]);return n}:s},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(23),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(23),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),s={},d=0;u.length>d;)(n=r(o,t=u[d++]))!==undefined&&l(s,t,n);return s}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),s=n(35),d=n(145),p=n(22),f=n(66),m=n(43),h=n(54),C=n(6),g=n(30),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),w=n(148),L=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),O="Promise",M=I.get,R=I.set,F=I.getterFor(O),D=d,j=u.TypeError,z=u.document,H=u.process,G=s("fetch"),U=B.f,K=U,Y="process"==v(H),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(O,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,s=o[i++],d=a?s.ok:s.fail,p=s.resolve,f=s.reject,m=s.domain;try{d?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===d?c=r:(m&&m.enter(),c=d(r),m&&(m.exit(),u=!0)),c===s.promise?f(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,f):p(c)):f(r)}catch(h){m&&!u&&m.exit(),f(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&L("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,O),g(e),o.call(this);var t=M(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:O,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=f(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=M(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof d||(i=d.prototype.then,p(d.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return w(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),m(D,O,!1,!0),h(O),a=s(O),c({target:O,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:O,stat:!0,forced:l||$},{resolve:function(e){return w(l&&this===a?D:this,e)}}),c({target:O,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),s=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||s(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(6),l=n(42),u=n(138),s=n(4),d=r("Reflect","construct"),p=s((function(){function e(){}return!(d((function(){}),[],e)instanceof e)})),f=!s((function(){d((function(){}))})),m=p||f;o({target:"Reflect",stat:!0,forced:m,sham:m},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(f&&!p)return d(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,s=l(c(r)?r:Object.prototype),m=Function.apply.call(e,s,t);return c(m)?m:s}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,s=arguments.length<3?e:arguments[2];return a(e)===s?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(s):r(o=l(e))?u(o,t,s):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),s=n(36),d=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(s(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,f=arguments.length<4?e:arguments[3],m=u.f(r(e),t);if(!m){if(a(c=s(e)))return p(c,t,n,f);m=d(0)}if(i(m,"value")){if(!1===m.writable||!a(f))return!1;if(o=u.f(f,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(f,t,o)}else l.f(f,t,d(0,n));return!0}return m.set!==undefined&&(m.set.call(f,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),s=n(83),d=n(22),p=n(4),f=n(54),m=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[m]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?s.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,d(r,"RegExp",N)}f("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(u||s)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),s=n(38),d="".endsWith,p=Math.min,f=u("endsWith");r({target:"String",proto:!0,forced:!!(s||f||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!f},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return d?d.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var s=i.unicode;i.lastIndex=0;for(var d,p=[],f=0;null!==(d=l(i,u));){var m=String(d[0]);p[f]=m,""===m&&(i.lastIndex=c(u,a(i.lastIndex),s)),f++}return 0===f?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(23),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var f=r(e),m=String(this),h="function"==typeof a;h||(a=String(a));var C=f.global;if(C){var g=f.unicode;f.lastIndex=0}for(var b=[];;){var v=s(f,m);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(f.lastIndex=u(m,i(f.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=m.slice(y,k)+I,y=k+x.length)}return V+m.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,s=h;return i!==undefined&&(i=a(i),s=m),t.call(c,s,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var s=+a;if(0===s)return t;if(s>u){var d=f(s/10);return 0===d?t:d<=u?r[d-1]===undefined?a.charAt(1):r[d-1]+a.charAt(1):t}c=r[s-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var s=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===s?-1:s.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),s=n(86),d=n(84),p=n(4),f=[].push,m=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,s=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),m=0,h=new RegExp(e.source,p+"g");(c=d.call(h,o))&&!((l=h.lastIndex)>m&&(s.push(o.slice(m,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return m===o.length?!u&&h.test("")||s.push(""):s.push(o.slice(m)),s.length>a?s.slice(0,a):s}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var d=a(e),p=String(this),f=c(d,RegExp),C=d.unicode,g=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(h?"y":"g"),b=new f(h?d:"^(?:"+d.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===s(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return d?d.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(26);o({target:"String",proto:!0,forced:n(27)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(29);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,s=a.entries,d=r.aTypedArray,p=r.exportTypedArrayMethod,f=c&&c.prototype[i],m=!!f&&("values"==f.name||f.name==undefined),h=function(){return l.call(d(this))};p("entries",(function(){return s.call(d(this))})),p("keys",(function(){return u.call(d(this))})),p("values",h,!m),p(i,h,!m)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)s[a]=n[a++];return s}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,s=[].slice,d=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(d?s.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),s=n(34).enforce,d=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,f=Object.isExtensible,m=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",m,l);if(d&&p){o=l.getConstructor(m,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!f(e)){var t=s(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!f(e)){var n=s(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Oe,t._ME=Ee,t._MFCC=Me,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return s(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=O,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case f:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?s(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function s(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function d(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var f="$F";function m(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,m=u(p),h=l(p)&&p[0]===I;f||m||h?(n=n||t.slice(0,s),(f||h)&&(d=O(d)),(m||h)&&(d.key=I+s),n.push(d)):n&&n.push(d),d.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=O(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?O(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(m(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(m(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var de,pe,fe=te("onInput",he),me=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?se(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",fe),t.onChange&&ne(e,"change",me)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),s=0,d=l.length;s0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)Le(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=s(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var s=i.$PS;if(!u(s)){var d=i.state;if(u(d))i.state=s;else for(var f in s)d[f]=s[f];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Oe(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Me(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=M());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=M();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,s=e.className,d=e.children,p=e.childFlags,f=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(s)||""===s||(o?f.setAttribute("class",s):f.className=s),16===p)w(f,d);else if(1!==p){var m=o&&"foreignObject"!==e.type;2===p?(16384&d.flags&&(e.children=d=O(d)),Te(d,f,n,m,null,i)):8!==p&&4!==p||Pe(d,f,n,m,null,i)}u(t)||C(t,f,r),u(l)||Be(e,c,l,f,o),Ne(e.ref,f,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==s){var m=u||p;if((c=s||p)!==p)for(var h in(d=(448&r)>0)&&(f=be(c)),c){var C=m[h],g=c[h];C!==g&&Le(h,C,g,l,o,f,e)}if(m!==p)for(var b in m)a(c[b])&&!a(m[b])&&Le(b,m[b],null,l,o,f,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);d&&Ce(r,t,l,c,!1,f);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,f,d):4&f?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var d=t.props||p,f=t.ref,m=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(d,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=s(h,l.$PS),l.$PS=null)}De(l,h,d,n,o,r,!1,a,i),m!==f&&(ve(m),Ne(f,l,i))}(e,t,n,o,r,l,d):8&f?function(e,t,n,o,r,i,l){var u=!0,s=t.props||p,d=t.ref,f=e.props,m=!a(d),h=e.children;m&&c(d.onComponentShouldUpdate)&&(u=d.onComponentShouldUpdate(f,s));if(!1!==u){m&&c(d.onComponentWillUpdate)&&d.onComponentWillUpdate(f,s);var C=t.type,g=D(32768&t.flags?C.render(s,d,o):C(s,o));Re(h,g,n,o,r,i,l),t.children=g,m&&c(d.onComponentDidUpdate)&&d.onComponentDidUpdate(f,s)}else t.children=h}(e,t,n,o,r,l,d):16&f?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&f?t.dom=e.dom:8192&f?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,s=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=M());var d=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||d||!d&&c.length>p)&&(s=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,s,e,a)}(e,t,n,o,r,d):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,d)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),w(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:w(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:w(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),w(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var s=0|n.length,d=0|o.length;0===s?d>0&&Pe(o,r,a,i,c,u):0===d?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var s,d,p=a-1,f=i-1,m=0,h=e[m],C=t[m];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[m]=C=O(C)),Re(h,C,n,o,r,c,u),e[m]=C,++m>p||m>f)break e;h=e[m],C=t[m]}for(h=e[p],C=t[f];h.key===C.key;){if(16384&C.flags&&(t[f]=C=O(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,f--,m>p||m>f)break e;h=e[p],C=t[f]}}if(m>p){if(m<=f)for(d=(s=f+1)f)for(;m<=p;)Ve(e[m++],n);else!function(e,t,n,o,r,a,i,c,l,u,s,d,p){var f,m,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,w=0,L=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(f=e[C],Lc?k=!0:w=c,16384&m.flags&&(t[c]=m=O(m)),Re(f,m,l,n,u,s,p),++L;break}!x&&c>i&&Ve(f,l)}else x||Ve(f,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(f=e[C],Lg;)Ve(e[g++],l);_[c-b]=C+1,w>c?k=!0:w=c,16384&(m=t[c]).flags&&(t[c]=m=O(m)),Re(f,m,l,n,u,s,p),++L}else x||Ve(f,l);else x||Ve(f,l)}if(x)ke(l,d,e),Pe(t,l,n,u,s,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,de=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=de[a-1]),de[a]=n)}a=r+1;var u=new Int32Array(a);i=de[a-1];for(;a-- >0;)u[a]=i,i=pe[i],de[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(m=t[w=C+b]).flags&&(t[w]=m=O(m)),Te(m,l,n,u,(h=w+1)=0;C--)0===_[C]&&(16384&(m=t[w=C+b]).flags&&(t[w]=m=O(m)),Te(m,l,n,u,(h=w+1)i?i:a,p=0;pi)for(p=d;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?s(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new L(o||[]);return a._invoke=function(e,t,n){var o=s;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===f){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===s)throw o=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?f:d,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=f,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var s="suspendedStart",d="suspendedYield",p="executing",f="completed",m={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,s=l.value;return s&&"object"==typeof s&&o.call(s,"__await")?Promise.resolve(s.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(s).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,m;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),m}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;w(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(25),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var d=n(396);t.Dropdown=d.Dropdown;var s=n(397);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(25),d=n(22),s=n(13).f,p=n(36),m=n(53),f=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),w=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[w]:undefined}}),T)a[o]&&u(a[o],w,o);B&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&w,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(29),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(24),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(31),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(25),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(25),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(46),s=n(25),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),L=n(18),w=n(34),B=n(79),S=w.get,I=w.set,T=k.f,A=L.f,E=Math.round,P=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,G=c.isTypedArray,H=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return G(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},w=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return w(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):G(t)?H(C,t):y.call(C,t):new h(m(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return G(t)?H(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-s)<0)throw P("Wrong length")}else if((i=p(o)*a)+s>h)throw P("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(25),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(30),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(30);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,v=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?v(o(b=e[f])[0],b[1]):v(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(25),c=n(66),l=n(4),u=n(55),d=n(29),s=n(10),p=n(137),m=n(217),f=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],w=o.RangeError,B=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},M=function(e){return B(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw w("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw w("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sG;)(D=z[G++])in k||i(k,D,x[D]);j.constructor=k}var H=new L(new k(2)),U=L.prototype.setInt8;H.setInt8(0,2147483648),H.setInt8(1,2147483649),!H.getInt8(0)&&H.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=v(e).byteLength,a=d(t);if(a<0||a>o)throw w("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw w(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!s((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),w=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((N=t((function(t,n){u(t,N,e);var o=f(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||w)&&(y("delete"),y("has"),h&&y("get")),(w||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),m(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(25);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(25),u=n(22),d=n(11),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,v){r(n,t,d);var N,V,y,_=function(e){if(e===m&&B)return B;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,w=L[C]||L["@@iterator"]||m&&L[m],B=!h&&w||_(m),S="Array"==t&&L.entries||w;if(S&&(N=a(S.call(new e)),f!==Object.prototype&&N.next&&(s||a(N)===f||(i?i(N,f):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),s&&(p[x]=g))),"values"==m&&w&&"values"!==w.name&&(k=!0,B=function(){return w.call(this)}),s&&!v||L[C]===B||l(L,C,B),p[t]=B,m)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(29),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(29),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),w=!(!N&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",w&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(24),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(24),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(25),l=n(15),u=n(11),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(24),r=n(29),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(29),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(30),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(24),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(18).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,v="process"==m(g),N=p(s,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(30),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),d=(0,n(51).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){d.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),s=!1},v=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(23);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),d=n(501),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(503).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(24),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),L=n(71),w=n(25),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),M=n(26),O=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,G=R.getterFor("Symbol"),H=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(H,t);o&&delete H[t],q(e,t,n),o&&e!==H&&q(H,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===H&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(s(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===H&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==H||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=W(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===H,n=W(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(H,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===H&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(H,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return G(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return G(this).description}}),i||B(H,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||w(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(26)("asyncIterator")},function(e,t,n){"use strict";n(26)("hasInstance")},function(e,t,n){"use strict";n(26)("isConcatSpreadable")},function(e,t,n){"use strict";n(26)("iterator")},function(e,t,n){"use strict";n(26)("match")},function(e,t,n){"use strict";n(26)("replace")},function(e,t,n){"use strict";n(26)("search")},function(e,t,n){"use strict";n(26)("species")},function(e,t,n){"use strict";n(26)("split")},function(e,t,n){"use strict";n(26)("toPrimitive")},function(e,t,n){"use strict";n(26)("toStringTag")},function(e,t,n){"use strict";n(26)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),d=n(63),s=n(64),p=n(11),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),v=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(29),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||f==Array&&i(v))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=v.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(24),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(24),u=n(49),d=n(64),s=n(11)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(29),i=n(10),c=n(14),l=n(63),u=n(49),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(s(a(t),0),v-N)),v+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(25),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(47).f,f=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?s((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(29),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(24),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(24),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(22),m=n(66),f=n(43),h=n(54),C=n(6),g=n(30),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),w=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,G=u.process,H=d("fetch"),U=B.f,K=U,Y="process"==v(G),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(M,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&w("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?G.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?G.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?G.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,H.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),d=n(36),s=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),d=n(83),s=n(22),p=n(4),m=n(54),f=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?d.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,s(r,"RegExp",N)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(24),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var v=d(m,f);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(29);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Ee,t._MFCC=Oe,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),Ge(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ge,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",G={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function H(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=H(0),K=H(null),Y=H(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=H(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)we(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Pe(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||Be(e,c,l,m,o),Ne(e.ref,m,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&we(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&we(b,f[b],null,l,o,m,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(ve(f),Ne(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Pe(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,L=0,w=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(m=e[C],wc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],wg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Pe(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function Ge(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var He=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===He.length)return void $e(e,o,n);if(-1===He.indexOf(e)&&He.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new w(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var s in r)r.hasOwnProperty(s)&&c.setAttribute(s,r[s]);c.rel="stylesheet",c.href=e,c.media="only x",function f(e){if(i.body)return e();setTimeout((function(){f(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var d=function m(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){m(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=d,d(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,s=t.buttons,d=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},d,{children:u}))),2),s&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",s,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,s=t.width,d=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=d.className,f=c(d,["className"]),m=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:s}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:s,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},f,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,s=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},s.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},s)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var s=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=s,s.defaultHooks=r.pureComponentHooks,l.Item=s},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(s){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,s=t.value,d=t.suppressingFlicker,p=this.props,f=p.className,m=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,w=p.onDrag,L=C;(n||d)&&(L=s);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!d&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:L,format:x,children:B})||B(x?x(L):L);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",m&&"NumberInput--fluid",f]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((L-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),w&&w(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(w&&w(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,s=void 0===u?{}:u,d=e.content,p=e.children,f=(t-i)/(l-i),m=d!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(s);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(f,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[m&&d,m&&p,!m&&(0,a.toFixed)(100*f)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,s=e.children,d=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),f=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(s);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},d,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),f&&(0,o.createVNode)(1,"div","Section__content",[u,s],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=u.prototype;return s.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},s.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),s=this.getActiveTab(),d=s.tabs,p=s.activeTab,f=s.activeTabKey,m=null;return p&&(m=p.props.content||p.props.children),"function"==typeof m&&(m=m(f)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",d.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),s=n.highlight,d=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,m=t.active||p===f;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",m&&"Tabs__tab--active",s&&!m&&"color-yellow",a]),selected:m,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},d,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",m||null,0)]})))},u}(o.Component);t.Tabs=u;var s=function(e){return null};t.Tab=s,s.defaultProps={__type__:"Tab"},u.Tab=s},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(31),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},s=function(e){var t=e.className,n=e.title,c=e.status,s=e.fancy,d=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return s&&d(e)}}),!!s&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=s,s.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(28),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:d,stroke:f,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);s.defaultHooks=i.pureComponentHooks;var d={Line:c.tridentVersion<=4?function(e){return null}:s};t.Chart=d},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],s=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:s.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(31),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,s,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var s=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},d={home:{title:"Air Controls",component:function(){return f}},vents:{title:"Vent Controls",component:function(){return m}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=d[a.screen]||d.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},f=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},m=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,s=e.incheck,d=e.direction,p=e.external,f=e.internal,m=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===d?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:s,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!s&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(f),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:m,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,s=e.widenet,d=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:s?"expand":"compress",selected:s,content:s?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!s)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},s={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},d=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],f=c.powerChannels||[],m=s[c.malfStatus]||s[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:d.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",d.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[f.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:m.icon,content:m.content,color:"bad",onClick:function(){return n(m.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(28),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,s=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:s?"average":"bad",fontSize:"25px",children:s||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!s,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(31),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,s=i.channels||[],d=i.modules||[],p=i.upgrades||[],f=i.ais||[],m=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(28),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,d=r.supplies||{},p=r.requests||[],f=r.cart||[],m=f.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===f.length&&"Cart is empty",1===f.length&&"1 item",f.length>=2&&f.length+" items"," ",m>0&&"("+m+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:d})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+f.length+")",icon:"shopping-cart",highlight:f.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,s,{state:t,cart:f})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,s=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:s},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},s=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,s=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:s})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"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."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,s=i.isBeakerLoaded,d=i.beakerContents,p=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,s=i.pill_styles,d=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(28),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,s=l.emptying,d=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(d)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,s=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:s,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:s,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,s=c.chemicals,d=void 0===s?[]:s,p=c.possible_amounts,f=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,s=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(m=e.ijob,m%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,s=e.burndam,d=e.brutedam,p=t+r+s+d,f=Math.min(Math.max(Math.ceil(p/25),0),5),c[f])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,s,d,p,f,m}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(28),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,s=void 0===u?{}:u,d=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!s[e.ref]?null:d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!s[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!s[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,s=u.busy,d=u.display_craftable_only,p=u.display_compact,f=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),m=!!s&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([m,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"check-square-o":"square-o",content:"Craftable Only",selected:d,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,s=i.choiceB,d=i.dna,p=i.dna_max,f=i.plants,m=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/p,content:d+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f/m,content:f+" / "+m+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:s,textAlign:"center",onClick:function(){return n("gene",{choice:s})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(31);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,s=c.answers,d=void 0===s?[]:s;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,s=i.engines_started,d=i.authorizations_remaining,p=i.authorizations,f=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:s?"good":"average",ml:1,children:s?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+d}),children:[f.length>0?f.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),f.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,s=c.creator_name,d=c.has_liked,p=c.has_disliked,f=c.hidden_message,m=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(f)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:m,selected:d,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:m,selected:!p&&!d,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:m,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:s})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(28),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),s=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,d=t.data,p=d.currentArea,f=d.currentCoords,m=d.globalmode,h=d.power,C=d.tag,g=d.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(s(f),s(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(d.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:m?"MAXIMUM":"LOCAL",selected:!m,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",f,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,s=i.on,d=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!d,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(s&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),d&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),d&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,s=i.teleporter_location,d=i.beacon,p=i.beacon_location,f=i.id,m=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?s:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:d?"good":"bad",buttons:!d&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:d?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:f?m:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,s=i.emag_programs,d=void 0===s?[]:s,p=i.emagged,f=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===f,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===f,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||s,l=i.name,u=i.isDead,s=i.isBraindead,d=i.health,p=i.wireless,f=i.radio,m=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:m?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:f,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,s=c.ores,d=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,s=i.languages,d=void 0===s?[]:s,p=i.unknown_languages,f=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,s=l.y,d=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:d,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,s=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:s===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:s?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,s=c.on,d=c.cell,p=c.cellPercent,f=c.load,m=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",content:s?"On":"Off",selected:s,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:d?p/100:0,color:d?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:m})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:f?"good":"average",children:f||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!f&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,s=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:s?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"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."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,s=void 0===u?{}:u,d=i.disk_size,p=i.disk_used,f=i.hardware,m=void 0===f?[]:f;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:s.charge,minValue:0,maxValue:s.max,ranges:{good:[s.max/2,Infinity],average:[s.max/4,s.max/2],bad:[-Infinity,s.max/4]},children:[s.charge," / ",s.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:d,color:"good",children:[p," GQ / ",d," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,s=c.has_light,d=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!s&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:d,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",d?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,s=i.username,d=i.active_channel,p=i.is_operator,f=i.all_channels,m=void 0===f?[]:f,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==d,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===d,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:s+"...",currentValue:s,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,s=l.disk_used,d=l.downloadable_programs,p=void 0===d?[]:d,f=l.error,m=l.hacked_programs,h=void 0===m?[]:m,C=l.hackedavailable;return(0,o.createFragment)([!!f&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:f}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:u,children:s+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,s=c.downloadcompletion,d=c.downloading,p=c.downloadname,f=c.downloadsize,m=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:f,value:s})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:d||t.size>m,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>m&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(28),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),s=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,f=n.data,m=f.active,h=f.SM_integrity,C=f.SM_power,g=f.SM_ambienttemp,b=f.SM_ambientpressure;if(!m)return(0,o.createComponentVNode)(2,d,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(f.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(g),minValue:0,maxValue:s(1e4),ranges:{teal:[-Infinity,s(80)],good:[s(80),s(373)],average:[s(373),s(1e3)],bad:[s(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(b),minValue:0,maxValue:s(5e4),ranges:{good:[s(1),s(300)],average:[-Infinity,s(1e3)],bad:[s(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var d=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,s=l.PC_showbatteryicon,d=l.PC_batterypercent,p=l.PC_ntneticon,f=l.PC_apclinkicon,m=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:m}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!s&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),d&&d]}),f&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:f})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),s=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:s})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,s=i.procedures,d=void 0===s?[]:s,p=i.patient,f=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:f?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:f.statstate,children:f.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:f.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f.health,minValue:f.minHealth,maxValue:f.maxHealth,color:f.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f[e.type]/f.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:d.length?d.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(31),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,s=r.alloys,d=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(28),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,s=r.blood,d=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:d,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:d,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:s&&s.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s&&s.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,s=t.transmission,d=t.level,p=t.neutered,f=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:s})]})})]}),f.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var s=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=s;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,s=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),s=i.default_pressure,d=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:d,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===d,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===s,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(28),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,s=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},d=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,d=n.supply[n.supply.length-1]||0,m=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-s(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(d/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:m,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(m/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,f,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=d;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var f=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};f.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(28),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,s=u.freqlock,d=u.frequency,p=u.minFrequency,f=u.maxFrequency,m=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===d})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[s&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(d/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:f/10,value:d/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-d/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:m?"volume-up":"volume-mute",selected:m,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,d=t.data,p=d.category,f=d.categories,m=void 0===f?[]:f,h=d.selected_color,C=d.piping_layer,g=d.mode,b=d.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,d,{state:t})],0)};var s={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return f}},Guns:{title:"Scanner Mode: Guns",component:function(){return m}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},d=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=s[c]||s.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,s=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",s,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===s,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,s=c.target_species,d=l.find((function(e){return e.value===s}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",d.name," species.","zombie"===s&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===s,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,s=c.target_nutrition,d=u.find((function(e){return e.value===s}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",d.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===s,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(28),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},s=c.selected||{},d=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===s.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:s.name,children:(!!s.description||!!s.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!s.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:s.description}),!!s.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:s.admin_notes})]})}),d?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+d.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:d.id})}}),children:[d.status,!!d.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),d.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:s.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:s.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,s=c.minFrequency,d=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:d/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(28),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,s=i.active,d=i.setting,p=(i.screen,i.maxSetting),f=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",selected:s,content:s?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:d===e,icon:"plus",content:3*e,disabled:f0?"good":"bad",children:f})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!m,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-d-.01,maxValue:d+.01,value:s,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,s=i.uv_active,d=i.occupied,p=i.suit,f=i.helmet,m=i.mask,h=i.storage;return(0,o.createFragment)([!(!d||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:d&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,s=i.regime_set,d=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!d&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.VaultController=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.VaultController=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Lock Status: ",buttons:(0,o.createComponentVNode)(2,i.Button,{content:c.doorstatus?"Locked":"Unlocked",icon:c.doorstatus?"lock":"unlock",disabled:c.stored1?r-1:0),i=1;i1?t-1:0),o=1;o0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(31),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(23),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(31),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(31),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(23),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"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."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(23),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(31);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"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."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(31),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.VaultController=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.VaultController=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Lock Status: ",buttons:(0,o.createComponentVNode)(2,i.Button,{content:c.doorstatus?"Locked":"Unlocked",icon:c.doorstatus?"lock":"unlock",disabled:c.stored1?r-1:0),i=1;i1?t-1:0),o=1;o MechBayPowerConsole, scrollable: false, }, + nanite_chamber_control: { + component: () => NaniteChamberControl, + scrollable: true, + }, + nanite_cloud_control: { + component: () => NaniteCloudControl, + scrollable: true, + }, + nanite_program_hub: { + component: () => NaniteProgramHub, + scrollable: true, + }, + nanite_programmer: { + component: () => NaniteProgrammer, + scrollable: true, + }, + nanite_remote: { + component: () => NaniteRemote, + scrollable: true, + }, mulebot: { component: () => Mule, scrollable: false, From 9cb4c3c0626a4b310eae7794d659ace3a52d4452 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 11 Feb 2020 23:25:18 -0700 Subject: [PATCH 073/221] replace can_start --- code/modules/surgery/advanced/bioware/bioware_surgery.dm | 2 +- code/modules/surgery/advanced/brainwashing.dm | 2 +- code/modules/surgery/advanced/lobotomy.dm | 2 +- code/modules/surgery/advanced/necrotic_revival.dm | 2 +- code/modules/surgery/advanced/pacification.dm | 2 +- code/modules/surgery/advanced/revival.dm | 2 +- code/modules/surgery/advanced/viral_bonding.dm | 2 +- code/modules/surgery/brain_surgery.dm | 2 +- code/modules/surgery/core_removal.dm | 2 +- code/modules/surgery/coronary_bypass.dm | 2 +- code/modules/surgery/experimental_dissection.dm | 2 +- code/modules/surgery/eye_surgery.dm | 2 +- code/modules/surgery/lipoplasty.dm | 2 +- code/modules/surgery/lobectomy.dm | 2 +- code/modules/surgery/prosthetic_replacement.dm | 2 +- code/modules/surgery/surgery.dm | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/surgery/advanced/bioware/bioware_surgery.dm b/code/modules/surgery/advanced/bioware/bioware_surgery.dm index eb8f739193..a68ac6eb1c 100644 --- a/code/modules/surgery/advanced/bioware/bioware_surgery.dm +++ b/code/modules/surgery/advanced/bioware/bioware_surgery.dm @@ -2,7 +2,7 @@ name = "enhancement surgery" var/bioware_target = BIOWARE_GENERIC -/datum/surgery/advanced/bioware/can_start(mob/user, mob/living/carbon/human/target) +/datum/surgery/advanced/bioware/can_start(mob/user, mob/living/carbon/human/target, obj/item/tool) if(!..()) return FALSE if(!istype(target)) diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index b067cce56b..28103f7f97 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -16,7 +16,7 @@ target_mobtypes = list(/mob/living/carbon/human) possible_locs = list(BODY_ZONE_HEAD) -/datum/surgery/advanced/brainwashing/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/brainwashing/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index 0149fc6c27..a41e72b76d 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -12,7 +12,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) diff --git a/code/modules/surgery/advanced/necrotic_revival.dm b/code/modules/surgery/advanced/necrotic_revival.dm index d95d0a3ac7..bae2bc064b 100644 --- a/code/modules/surgery/advanced/necrotic_revival.dm +++ b/code/modules/surgery/advanced/necrotic_revival.dm @@ -8,7 +8,7 @@ /datum/surgery_step/bionecrosis, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_HEAD) -/datum/surgery/advanced/necrotic_revival/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/necrotic_revival/can_start(mob/user, mob/living/carbon/target, obj/item/tool) . = ..() var/obj/item/organ/zombie_infection/ZI = target.getorganslot(ORGAN_SLOT_ZOMBIE) if(ZI) diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm index 866c85842b..7b85015420 100644 --- a/code/modules/surgery/advanced/pacification.dm +++ b/code/modules/surgery/advanced/pacification.dm @@ -11,7 +11,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/pacify/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/pacify/can_start(mob/user, mob/living/carbon/target, obj/item/tool) . = ..() var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) if(!B) diff --git a/code/modules/surgery/advanced/revival.dm b/code/modules/surgery/advanced/revival.dm index fbfec404b2..e9f8ff4446 100644 --- a/code/modules/surgery/advanced/revival.dm +++ b/code/modules/surgery/advanced/revival.dm @@ -12,7 +12,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_HEAD) requires_bodypart_type = 0 -/datum/surgery/advanced/revival/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/revival/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE if(target.stat != DEAD) diff --git a/code/modules/surgery/advanced/viral_bonding.dm b/code/modules/surgery/advanced/viral_bonding.dm index 86832602e8..1cb06d1560 100644 --- a/code/modules/surgery/advanced/viral_bonding.dm +++ b/code/modules/surgery/advanced/viral_bonding.dm @@ -10,7 +10,7 @@ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/advanced/viral_bonding/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/advanced/viral_bonding/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!..()) return FALSE if(!LAZYLEN(target.diseases)) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index d86f5731c7..afaa66dae9 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -15,7 +15,7 @@ name = "fix brain" implements = list(TOOL_HEMOSTAT = 85, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15) //don't worry, pouring some alcohol on their open brain will get that chance to 100 time = 120 //long and complicated -/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN) if(!B) return FALSE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index 07b762bd2f..683663c241 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -6,7 +6,7 @@ lying_required = FALSE ignore_clothes = TRUE -/datum/surgery/core_removal/can_start(mob/user, mob/living/target) +/datum/surgery/core_removal/can_start(mob/user, mob/living/target, obj/item/tool) if(target.stat == DEAD) return 1 return 0 diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index 71a48ae68c..af736e393c 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -4,7 +4,7 @@ /datum/surgery_step/incise_heart, /datum/surgery_step/coronary_bypass, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/heart/H = target.getorganslot(ORGAN_SLOT_HEART) if(H) if(H.damage > 60 && !H.operated) diff --git a/code/modules/surgery/experimental_dissection.dm b/code/modules/surgery/experimental_dissection.dm index 40fe90a829..cc94cc23c4 100644 --- a/code/modules/surgery/experimental_dissection.dm +++ b/code/modules/surgery/experimental_dissection.dm @@ -15,7 +15,7 @@ requires_tech = FALSE var/value_multiplier = 1 -/datum/surgery/advanced/experimental_dissection/can_start(mob/user, mob/living/target) +/datum/surgery/advanced/experimental_dissection/can_start(mob/user, mob/living/target, obj/item/tool) . = ..() if(HAS_TRAIT_FROM(target, TRAIT_DISSECTED,"[name]")) return FALSE diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm index c104afd25a..006dbe2af1 100644 --- a/code/modules/surgery/eye_surgery.dm +++ b/code/modules/surgery/eye_surgery.dm @@ -9,7 +9,7 @@ name = "fix eyes" implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 45, /obj/item/pen = 25) time = 64 -/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/eyes/E = target.getorganslot(ORGAN_SLOT_EYES) if(!E) to_chat(user, "It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.") diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index b774883528..63e828d3c9 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -2,7 +2,7 @@ name = "Lipoplasty" steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/cut_fat, /datum/surgery_step/remove_fat, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(HAS_TRAIT(target, TRAIT_FAT)) return 1 return 0 diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 297be175a0..7ef7e4cd7f 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -4,7 +4,7 @@ /datum/surgery_step/lobectomy, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) -/datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target, obj/item/tool) var/obj/item/organ/lungs/L = target.getorganslot(ORGAN_SLOT_LUNGS) if(L) if(L.damage > 60 && !L.operated) diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index 8efa40a70a..62ce16e7e6 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -5,7 +5,7 @@ possible_locs = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD) requires_bodypart = FALSE //need a missing limb requires_bodypart_type = 0 -/datum/surgery/prosthetic_replacement/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/prosthetic_replacement/can_start(mob/user, mob/living/carbon/target, obj/item/tool) if(!iscarbon(target)) return 0 var/mob/living/carbon/C = target diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index a920ea765a..292984ac3e 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -37,7 +37,7 @@ return ..() -/datum/surgery/proc/can_start(mob/user, mob/living/patient) //FALSE to not show in list +/datum/surgery/proc/can_start(mob/user, mob/living/patient, obj/item/tool) //FALSE to not show in list . = TRUE if(replaced_by == /datum/surgery) return FALSE From 70e752dbc9d46bc2a657133aac037106aeb9ac22 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 11 Feb 2020 23:45:22 -0700 Subject: [PATCH 074/221] this is totally not laggy --- code/game/objects/items/storage/belt.dm | 10 +++++-- .../crates_lockers/closets/secure/medical.dm | 2 +- code/modules/surgery/helpers.dm | 4 +-- code/modules/surgery/surgery.dm | 27 +++++++++---------- code/modules/surgery/tools.dm | 20 ++++++++++++++ 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 082cbe245d..70a41c3d21 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -179,17 +179,23 @@ /obj/item/pinpointer/crew )) - /obj/item/storage/belt/medical/surgery_belt_adv name = "surgical supply belt" desc = "A specialized belt designed for holding surgical equipment. It seems to have specific pockets for each and every surgical tool you can think of." content_overlays = FALSE + var/advanced_drapes = FALSE /obj/item/storage/belt/medical/surgery_belt_adv/PopulateContents() new /obj/item/scalpel/advanced(src) new /obj/item/retractor/advanced(src) new /obj/item/surgicaldrill/advanced(src) - new /obj/item/surgical_drapes(src) + if(advanced_drapes) + new /obj/item/surgical_drapes/advanced(src) + else + new /obj/item/surgical_drapes(src) + +/obj/item/storage/belt/medical/surgery_belt_adv/cmo + advanced_drapes = TRUE /obj/item/storage/belt/security name = "security belt" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 3167d8ac18..90b57471b4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -76,7 +76,7 @@ new /obj/item/door_remote/chief_medical_officer(src) new /obj/item/clothing/neck/petcollar(src) new /obj/item/pet_carrier(src) - new /obj/item/storage/belt/medical/surgery_belt_adv(src) + new /obj/item/storage/belt/medical/surgery_belt_adv/cmo(src) new /obj/item/wallframe/defib_mount(src) new /obj/item/circuitboard/machine/techfab/department/medical(src) new /obj/item/storage/photo_album/CMO(src) diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index cdae1aea48..773048f838 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -34,7 +34,7 @@ continue if(S.lying_required && !(M.lying)) continue - if(!S.can_start(user, M)) + if(!S.can_start(user, M, I)) continue for(var/path in S.target_mobtypes) if(istype(M, path)) @@ -64,7 +64,7 @@ return if(S.lying_required && !(M.lying)) return - if(!S.can_start(user, M)) + if(!S.can_start(user, M, I)) return if(S.ignore_clothes || get_location_accessible(M, selected_zone)) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 292984ac3e..a289f25d8b 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -55,27 +55,26 @@ if(requires_tech) . = FALSE + var/list/advanced_surgeries = list() if(iscyborg(user)) var/mob/living/silicon/robot/R = user var/obj/item/surgical_processor/SP = locate() in R.module.modules if(SP) - if (replaced_by in SP.advanced_surgeries) - return . - if(type in SP.advanced_surgeries) - return TRUE - + advanced_surgeries |= SP.advanced_surgeries var/turf/T = get_turf(patient) var/obj/structure/table/optable/table = locate(/obj/structure/table/optable, T) - if(table) - if(!table.computer) - return . - if(table.computer.stat & (NOPOWER|BROKEN)) - return . - if(replaced_by in table.computer.advanced_surgeries) - return FALSE - if(type in table.computer.advanced_surgeries) - return TRUE + if(table?.computer && !CHECK_BITFIELD(table.computer.stat, NOPOWER|BROKEN)) + advanced_surgeries |= table.computer.advanced_surgeries + + if(istype(tool, /obj/item/surgical_drapes/advanced)) + var/obj/item/surgical_drapes/advanced/A = tool + advanced_surgeries |= A.get_advanced_surgeries() + + if(replaced_by in advanced_surgeries) + return FALSE + if(type in advanced_surgeries) + return TRUE /datum/surgery/proc/next_step(mob/user, intent) if(step_in_progress) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index c8fe7597da..1a56a510c5 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -287,6 +287,26 @@ if(!attempt_initiate_surgery(src, M, user)) ..() +/obj/item/surgical_drapes/advanced + name = "smart surgical drapes" + desc = "A quite quirky set of drapes with wireless synchronization to the station's research networks, with an integrated display allowing users to execute advanced surgeries without the aid of an operating computer." + var/datum/techweb/linked_techweb + +/obj/item/surgical_drapes/advanced/Initialize(mapload) + . = ..() + linked_techweb = SSresearch.science_tech + +/obj/item/surgical_drapes/advanced/proc/get_advanced_surgeries() + . = list() + if(!linked_techweb) + return + for(var/subtype in subtypesof(/datum/design/surgery)) + var/datum/design/surgery/prototype = subtype + var/id = initial(prototype.id) + if(id in linked_techweb.researched_designs) + prototype = SSresearch.techweb_design_by_id(id) + . |= prototype.surgery + /obj/item/organ_storage //allows medical cyborgs to manipulate organs without hands name = "organ storage bag" desc = "A container for holding body parts." From 5c102d4da0d3d85aaecb776097685e014b23f162 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 12 Feb 2020 11:30:55 +0200 Subject: [PATCH 075/221] Ghommies suggestions --- .../research/nanites/nanite_hijacker.dm | 159 ------------------ .../research/nanites/nanite_programmer.dm | 2 +- .../nanites/nanite_programs/buffing.dm | 2 +- 3 files changed, 2 insertions(+), 161 deletions(-) delete mode 100644 code/modules/research/nanites/nanite_hijacker.dm diff --git a/code/modules/research/nanites/nanite_hijacker.dm b/code/modules/research/nanites/nanite_hijacker.dm deleted file mode 100644 index 8e5e68dd18..0000000000 --- a/code/modules/research/nanites/nanite_hijacker.dm +++ /dev/null @@ -1,159 +0,0 @@ -/* Doesnt work anymore due to code updates, was unused anyways. -/obj/item/nanite_hijacker - name = "nanite remote control" //fake name - desc = "A device that can load nanite programming disks, edit them at will, and imprint them to nanites remotely." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/device.dmi' - icon_state = "nanite_remote" - item_flags = NOBLUDGEON - var/obj/item/disk/nanite_program/disk - var/datum/nanite_program/program - -/obj/item/nanite_hijacker/AltClick(mob/user) - . = ..() - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(disk) - eject() - return TRUE - -/obj/item/nanite_hijacker/examine(mob/user) - . = ..() - if(disk) - . += "Alt-click [src] to eject the disk." - -/obj/item/nanite_hijacker/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/disk/nanite_program)) - var/obj/item/disk/nanite_program/N = I - if(disk) - eject() - if(user.transferItemToLoc(N, src)) - to_chat(user, "You insert [N] into [src]") - disk = N - program = N.program - else - ..() - -/obj/item/nanite_hijacker/proc/eject(mob/living/user) - if(!disk) - return - if(!istype(user) || !Adjacent(user) || !user.put_in_hand(disk)) - disk.forceMove(drop_location()) - disk = null - program = null - -/obj/item/nanite_hijacker/afterattack(atom/target, mob/user, etc) - if(!disk || !disk.program) - return - if(isliving(target)) - var/success = SEND_SIGNAL(target, COMSIG_NANITE_ADD_PROGRAM, program.copy()) - switch(success) - if(NONE) - to_chat(user, "You don't detect any nanites in [target].") - if(COMPONENT_PROGRAM_INSTALLED) - to_chat(user, "You insert the currently loaded program into [target]'s nanites.") - if(COMPONENT_PROGRAM_NOT_INSTALLED) - to_chat(user, "You try to insert the currently loaded program into [target]'s nanites, but the installation fails.") - -//Same UI as the nanite programmer, as it pretty much does the same -/obj/item/nanite_hijacker/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) - SStgui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "nanite_programmer", "Internal Nanite Programmer", 420, 800, master_ui, state) - ui.open() - -/obj/item/nanite_hijacker/ui_data() - var/list/data = list() - data["has_disk"] = istype(disk) - data["has_program"] = istype(program) - if(program) - data["name"] = program.name - data["desc"] = program.desc - data["use_rate"] = program.use_rate - data["can_trigger"] = program.can_trigger - data["trigger_cost"] = program.trigger_cost - data["trigger_cooldown"] = program.trigger_cooldown / 10 - - data["activated"] = program.activated - data["activation_delay"] = program.activation_delay - data["timer"] = program.timer - data["activation_code"] = program.activation_code - data["deactivation_code"] = program.deactivation_code - data["kill_code"] = program.kill_code - data["trigger_code"] = program.trigger_code - data["timer_type"] = program.get_timer_type_text() - - var/list/extra_settings = list() - for(var/X in program.extra_settings) - var/list/setting = list() - setting["name"] = X - setting["value"] = program.get_extra_setting(X) - extra_settings += list(setting) - data["extra_settings"] = extra_settings - if(LAZYLEN(extra_settings)) - data["has_extra_settings"] = TRUE - - return data - -/obj/item/nanite_hijacker/ui_act(action, params) - if(..()) - return - switch(action) - if("eject") - eject(usr) - . = TRUE - if("toggle_active") - program.activated = !program.activated //we don't use the activation procs since we aren't in a mob - if(program.activated) - program.activation_delay = 0 - . = TRUE - if("set_code") - var/new_code = input("Set code (0000-9999):", name, null) as null|num - if(!isnull(new_code)) - new_code = CLAMP(round(new_code, 1),0,9999) - else - return - - var/target_code = params["target_code"] - switch(target_code) - if("activation") - program.activation_code = CLAMP(round(new_code, 1),0,9999) - if("deactivation") - program.deactivation_code = CLAMP(round(new_code, 1),0,9999) - if("kill") - program.kill_code = CLAMP(round(new_code, 1),0,9999) - if("trigger") - program.trigger_code = CLAMP(round(new_code, 1),0,9999) - . = TRUE - if("set_extra_setting") - program.set_extra_setting(usr, params["target_setting"]) - . = TRUE - if("set_activation_delay") - var/delay = input("Set activation delay in seconds (0-1800):", name, program.activation_delay) as null|num - if(!isnull(delay)) - delay = CLAMP(round(delay, 1),0,1800) - program.activation_delay = delay - if(delay) - program.activated = FALSE - . = TRUE - if("set_timer") - var/timer = input("Set timer in seconds (10-3600):", name, program.timer) as null|num - if(!isnull(timer)) - if(!timer == 0) - timer = CLAMP(round(timer, 1),10,3600) - program.timer = timer - . = TRUE - if("set_timer_type") - var/new_type = input("Choose the timer effect","Timer Effect") as null|anything in list("Deactivate","Self-Delete","Trigger","Reset Activation Timer") - if(new_type) - switch(new_type) - if("Deactivate") - program.timer_type = NANITE_TIMER_DEACTIVATE - if("Self-Delete") - program.timer_type = NANITE_TIMER_SELFDELETE - if("Trigger") - program.timer_type = NANITE_TIMER_TRIGGER - if("Reset Activation Timer") - program.timer_type = NANITE_TIMER_RESET - . = TRUE -*/ diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm index e61f58c81e..d81880c6d9 100644 --- a/code/modules/research/nanites/nanite_programmer.dm +++ b/code/modules/research/nanites/nanite_programmer.dm @@ -131,7 +131,7 @@ program.timer_trigger_delay = timer . = TRUE -/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) +/obj/machinery/nanite_programmer/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source) . = ..() var/static/regex/when = regex("(?:^\\W*when|when\\W*$)", "i") //starts or ends with when if(findtext(raw_message, when) && !istype(speaker, /obj/machinery/nanite_programmer)) diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index ed3f420091..f52ae4843a 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -27,7 +27,7 @@ rogue_types = list(/datum/nanite_program/toxic, /datum/nanite_program/nerve_decay) /datum/nanite_program/adrenaline/on_trigger() - host_mob.do_adrenaline(-10, TRUE, TRUE, FALSE, TRUE, /datum/reagent/medicine/stimulants = 1.5, "You feel a sudden surge of energy!", FALSE, FALSE, FALSE) + host_mob.do_adrenaline(-10, TRUE, TRUE, FALSE, TRUE, list(/datum/reagent/medicine/stimulants = 1.5), "You feel a sudden surge of energy!", FALSE, FALSE, FALSE) /datum/nanite_program/hardening name = "Dermal Hardening" From 63482e397a76783c50804214ae053a719110a285 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 12 Feb 2020 11:39:08 +0200 Subject: [PATCH 076/221] How could i forget. --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 4aaa8f477d..ac66fb7d12 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2801,7 +2801,6 @@ #include "code\modules\research\nanites\nanite_chamber.dm" #include "code\modules\research\nanites\nanite_chamber_computer.dm" #include "code\modules\research\nanites\nanite_cloud_controller.dm" -#include "code\modules\research\nanites\nanite_hijacker.dm" #include "code\modules\research\nanites\nanite_misc_items.dm" #include "code\modules\research\nanites\nanite_program_hub.dm" #include "code\modules\research\nanites\nanite_programmer.dm" From 4b880276d891c604e3bfbbd0d8fe7c99ce28c171 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 14:41:38 -0500 Subject: [PATCH 077/221] Update emergency.dm --- code/modules/cargo/packs/emergency.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index e5036c34a5..b06561a1c2 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -130,7 +130,7 @@ /datum/supply_pack/emergency/bomb name = "Explosive Emergency Crate" - desc = "Science gone bonkers? Beeping behind the airlock? Buy now and be the hero the station kills-... I mean needs! Time not included, but what is a full bomb suit and hood, gas mask with the tools you need to defuse a none-nuclear bomb." + desc = "Science gone bonkers? Beeping behind the airlock? Buy now and become the hero the station ki-... I mean needs! Time not included, but a full bomb suit and hood, as well as a mask and defusal kit are! Non-Nuclear ordinance only." cost = 1500 contains = list(/obj/item/clothing/head/bomb_hood, /obj/item/clothing/suit/bomb_suit, From 25c677942abb7b0cc5cf408a41ddf6f4bef89066 Mon Sep 17 00:00:00 2001 From: Detective-Google <48196179+Detective-Google@users.noreply.github.com> Date: Wed, 12 Feb 2020 23:43:10 -0600 Subject: [PATCH 078/221] Update code/modules/pool/pool_main.dm as per ghom suggestion Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/pool/pool_main.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 9d37bd5fd5..e3965dd1e5 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -72,7 +72,7 @@ /turf/open/pool/Exit(atom/movable/AM, atom/newloc) if(!AM.has_gravity(src)) return ..() - if(isliving(AM) || istype(AM, /obj/structure)) + if(isliving(AM) || isstructure(AM)) if(AM.throwing) return ..() //WHEEEEEEEEEEE if(istype(AM, /obj/structure) && isliving(AM.pulledby)) From a8aa9ac24b1bb65243a93030a5781ef1eee70bfe Mon Sep 17 00:00:00 2001 From: Detective-Google <48196179+Detective-Google@users.noreply.github.com> Date: Wed, 12 Feb 2020 23:43:32 -0600 Subject: [PATCH 079/221] Update code/modules/pool/pool_drain.dm as per ghom suggestion 2 Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/pool/pool_drain.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 2fa89742c0..ef6818e809 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -94,7 +94,7 @@ H.adjustBruteLoss(2) to_chat(H, "You're caught in the drain!") else - H.apply_damage(2.5, BRUTE, pick("l_leg", "r_leg")) //drain should only target the legs + H.apply_damage(2.5, BRUTE, pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) //drain should only target the legs to_chat(H, "Your legs are caught in the drain!") else for(var/turf/open/pool/P in controller.linked_turfs) From b6cbb3f50571753665d7e02c163cae53d092023f Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Thu, 13 Feb 2020 00:12:11 -0600 Subject: [PATCH 080/221] woo yeah yeah woo --- code/__DEFINES/components.dm | 2 -- code/modules/pool/pool_controller.dm | 51 ++++++++++++++-------------- code/modules/pool/pool_drain.dm | 4 +++ code/modules/pool/pool_main.dm | 4 ++- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 22e74f58be..0efd5a1f79 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -330,8 +330,6 @@ #define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action) #define COMPONENT_ACTION_BLOCK_TRIGGER 1 -/*******Element signals*******/ - /*******Non-Signal Component Related Defines*******/ //Redirection component init flags diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index 9c6d976343..a4a4980180 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -225,31 +225,32 @@ process_reagents() /obj/machinery/pool/controller/proc/process_pool() - if(!drained) - for(var/mob/living/M in mobs_in_pool) - switch(temperature) //Apply different effects based on what the temperature is set to. - if(POOL_SCALDING) //Scalding - M.adjust_bodytemperature(50,0,500) - if(POOL_WARM) //Warm - M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up - //Normal temp does nothing, because it's just room temperature water. - if(POOL_COOL) - M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up - if(POOL_FRIGID) //Freezing - M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough. - if(M.bodytemperature <= 50 && !M.stat) - M.apply_status_effect(/datum/status_effect/freon) - if(ishuman(M)) - var/mob/living/carbon/human/drownee = M - if(!drownee || drownee.stat == DEAD) - return - if(drownee.resting && !drownee.internal) - if(drownee.stat != CONSCIOUS) - drownee.adjustOxyLoss(9) - else - drownee.adjustOxyLoss(4) - if(prob(35)) - to_chat(drownee, "You're drowning!") + if(drained) + return + for(var/mob/living/M in mobs_in_pool) + switch(temperature) //Apply different effects based on what the temperature is set to. + if(POOL_SCALDING) //Scalding + M.adjust_bodytemperature(50,0,500) + if(POOL_WARM) //Warm + M.adjust_bodytemperature(20,0,360) //Heats up mobs till the termometer shows up + //Normal temp does nothing, because it's just room temperature water. + if(POOL_COOL) + M.adjust_bodytemperature(-20,250) //Cools mobs till the termometer shows up + if(POOL_FRIGID) //Freezing + M.adjust_bodytemperature(-60) //cool mob at -35k per cycle, less would not affect the mob enough. + if(M.bodytemperature <= 50 && !M.stat) + M.apply_status_effect(/datum/status_effect/freon) + if(ishuman(M)) + var/mob/living/carbon/human/drownee = M + if(!drownee || drownee.stat == DEAD) + return + if(drownee.resting && !drownee.internal) + if(drownee.stat != CONSCIOUS) + drownee.adjustOxyLoss(9) + else + drownee.adjustOxyLoss(4) + if(prob(35)) + to_chat(drownee, "You're drowning!") /obj/machinery/pool/controller/proc/set_bloody(state) if(bloody == state) diff --git a/code/modules/pool/pool_drain.dm b/code/modules/pool/pool_drain.dm index 2fa89742c0..440cd42cff 100644 --- a/code/modules/pool/pool_drain.dm +++ b/code/modules/pool/pool_drain.dm @@ -116,6 +116,10 @@ for(var/i in 1 to min(duration, 100)) L.setDir(turn(L.dir, 90)) sleep(delay) + if(QDELETED(L)) + break + if(QDELETED(src)) + return whirling_mobs -= L /obj/machinery/pool/filter diff --git a/code/modules/pool/pool_main.dm b/code/modules/pool/pool_main.dm index 9d37bd5fd5..ca1c788c9d 100644 --- a/code/modules/pool/pool_main.dm +++ b/code/modules/pool/pool_main.dm @@ -15,7 +15,9 @@ update_icon() /turf/open/pool/Destroy() - controller = null + if(controller) + controller.linked_turfs -= src + controller = null QDEL_NULL(watereffect) QDEL_NULL(watertop) return ..() From 7332fe97b8e1bc119092ee346bc945ab4497cd35 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 02:06:32 -0700 Subject: [PATCH 081/221] Update pool_controller.dm --- code/modules/pool/pool_controller.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/pool/pool_controller.dm b/code/modules/pool/pool_controller.dm index a4a4980180..681adb0ef3 100644 --- a/code/modules/pool/pool_controller.dm +++ b/code/modules/pool/pool_controller.dm @@ -354,15 +354,15 @@ /obj/machinery/pool/controller/proc/temp2text() switch(temperature) if(POOL_FRIGID) - return "Frigid" + return "Frigid" if(POOL_COOL) - return "Cool" + return "Cool" if(POOL_NORMAL) - return "Normal" + return "Normal" if(POOL_WARM) - return "Warm" + return "Warm" if(POOL_SCALDING) - return "Scalding" + return "Scalding" else return "Outside of possible range." From 0e4d4811dbc601dc826fddbaaec3275e44b3b450 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 13 Feb 2020 17:53:21 +0200 Subject: [PATCH 082/221] Rebuild --- tgui-next/packages/tgui/public/tgui.bundle.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tgui-next/packages/tgui/public/tgui.bundle.js b/tgui-next/packages/tgui/public/tgui.bundle.js index 692f038458..cbc23ebda0 100644 --- a/tgui-next/packages/tgui/public/tgui.bundle.js +++ b/tgui-next/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(25),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var d=n(396);t.Dropdown=d.Dropdown;var s=n(397);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(25),d=n(22),s=n(13).f,p=n(36),m=n(53),f=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),w=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[w]:undefined}}),T)a[o]&&u(a[o],w,o);B&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&w,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(29),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(24),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(31),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(25),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(25),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(46),s=n(25),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),L=n(18),w=n(34),B=n(79),S=w.get,I=w.set,T=k.f,A=L.f,E=Math.round,P=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,G=c.isTypedArray,H=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return G(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},w=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return w(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):G(t)?H(C,t):y.call(C,t):new h(m(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return G(t)?H(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-s)<0)throw P("Wrong length")}else if((i=p(o)*a)+s>h)throw P("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(25),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(30),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(30);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,v=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?v(o(b=e[f])[0],b[1]):v(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(25),c=n(66),l=n(4),u=n(55),d=n(29),s=n(10),p=n(137),m=n(217),f=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],w=o.RangeError,B=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},M=function(e){return B(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw w("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw w("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sG;)(D=z[G++])in k||i(k,D,x[D]);j.constructor=k}var H=new L(new k(2)),U=L.prototype.setInt8;H.setInt8(0,2147483648),H.setInt8(1,2147483649),!H.getInt8(0)&&H.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=v(e).byteLength,a=d(t);if(a<0||a>o)throw w("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw w(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!s((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),w=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((N=t((function(t,n){u(t,N,e);var o=f(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||w)&&(y("delete"),y("has"),h&&y("get")),(w||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),m(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(25);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(25),u=n(22),d=n(11),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,v){r(n,t,d);var N,V,y,_=function(e){if(e===m&&B)return B;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,w=L[C]||L["@@iterator"]||m&&L[m],B=!h&&w||_(m),S="Array"==t&&L.entries||w;if(S&&(N=a(S.call(new e)),f!==Object.prototype&&N.next&&(s||a(N)===f||(i?i(N,f):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),s&&(p[x]=g))),"values"==m&&w&&"values"!==w.name&&(k=!0,B=function(){return w.call(this)}),s&&!v||L[C]===B||l(L,C,B),p[t]=B,m)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(29),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(29),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),w=!(!N&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",w&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(24),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(24),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(25),l=n(15),u=n(11),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(24),r=n(29),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(29),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(30),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(24),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(18).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,v="process"==m(g),N=p(s,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(30),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),d=(0,n(51).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){d.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),s=!1},v=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(23);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),d=n(501),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(503).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(24),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),L=n(71),w=n(25),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),M=n(26),O=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,G=R.getterFor("Symbol"),H=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(H,t);o&&delete H[t],q(e,t,n),o&&e!==H&&q(H,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===H&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(s(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===H&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==H||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=W(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===H,n=W(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(H,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===H&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(H,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return G(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return G(this).description}}),i||B(H,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||w(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(26)("asyncIterator")},function(e,t,n){"use strict";n(26)("hasInstance")},function(e,t,n){"use strict";n(26)("isConcatSpreadable")},function(e,t,n){"use strict";n(26)("iterator")},function(e,t,n){"use strict";n(26)("match")},function(e,t,n){"use strict";n(26)("replace")},function(e,t,n){"use strict";n(26)("search")},function(e,t,n){"use strict";n(26)("species")},function(e,t,n){"use strict";n(26)("split")},function(e,t,n){"use strict";n(26)("toPrimitive")},function(e,t,n){"use strict";n(26)("toStringTag")},function(e,t,n){"use strict";n(26)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),d=n(63),s=n(64),p=n(11),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),v=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(29),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||f==Array&&i(v))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=v.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(24),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(24),u=n(49),d=n(64),s=n(11)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(29),i=n(10),c=n(14),l=n(63),u=n(49),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(s(a(t),0),v-N)),v+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(25),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(47).f,f=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?s((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(29),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(30),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(24),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(24),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(22),m=n(66),f=n(43),h=n(54),C=n(6),g=n(30),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),w=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,G=u.process,H=d("fetch"),U=B.f,K=U,Y="process"==v(G),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(M,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&w("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?G.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?G.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?G.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,H.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(30),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),d=n(36),s=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),d=n(83),s=n(22),p=n(4),m=n(54),f=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?d.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,s(r,"RegExp",N)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(24),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var v=d(m,f);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(29);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Ee,t._MFCC=Oe,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),Ge(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ge,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",G={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function H(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=H(0),K=H(null),Y=H(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=H(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)we(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Pe(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||Be(e,c,l,m,o),Ne(e.ref,m,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&we(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&we(b,f[b],null,l,o,m,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(ve(f),Ne(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Pe(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,L=0,w=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(m=e[C],wc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],wg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Pe(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function Ge(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var He=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===He.length)return void $e(e,o,n);if(-1===He.indexOf(e)&&He.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new w(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=164)}([function(e,t,n){"use strict";var o=n(5),r=n(18).f,a=n(25),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(386);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(391);t.BlockQuote=r.BlockQuote;var a=n(17);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(393);t.ColorBox=c.ColorBox;var l=n(394);t.Collapsible=l.Collapsible;var u=n(395);t.Dimmer=u.Dimmer;var d=n(396);t.Dropdown=d.Dropdown;var s=n(397);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(398);t.NoticeBox=C.NoticeBox;var g=n(399);t.NumberInput=g.NumberInput;var b=n(400);t.ProgressBar=b.ProgressBar;var v=n(401);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(402);t.Tabs=V.Tabs;var y=n(403);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(404);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(19);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(25),d=n(22),s=n(13).f,p=n(36),m=n(53),f=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),w=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},E=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[w]:undefined}}),T)a[o]&&u(a[o],w,o);B&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&w,aTypedArray:function(e){if(E(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:E,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(392),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(24),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(29),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(25),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(25),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(46),s=n(25),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(16).forEach,x=n(54),k=n(13),L=n(18),w=n(34),B=n(79),S=w.get,I=w.set,T=k.f,A=L.f,E=Math.round,P=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},w=function(e,t,o){var r=S(e);n&&(o=(o=E(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return w(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(m(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw P("Wrong length");if((i=h-s)<0)throw P("Wrong length")}else if((i=p(o)*a)+s>h)throw P("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(25),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(19),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,v=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?v(o(b=e[f])[0],b[1]):v(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(25),c=n(66),l=n(4),u=n(55),d=n(30),s=n(10),p=n(137),m=n(217),f=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],w=o.RangeError,B=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return B(e,23,4)},M=function(e){return B(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw w("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw w("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new L(new k(2)),U=L.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=v(e).byteLength,a=d(t);if(a<0||a>o)throw w("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw w(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return E(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!s((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),w=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((N=t((function(t,n){u(t,N,e);var o=f(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||w)&&(y("delete"),y("has"),h&&y("get")),(w||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),m(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(17);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(25);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(202),a=n(36),i=n(53),c=n(43),l=n(25),u=n(22),d=n(11),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,v){r(n,t,d);var N,V,y,_=function(e){if(e===m&&B)return B;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,w=L[C]||L["@@iterator"]||m&&L[m],B=!h&&w||_(m),S="Array"==t&&L.entries||w;if(S&&(N=a(S.call(new e)),f!==Object.prototype&&N.next&&(s||a(N)===f||(i?i(N,f):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),s&&(p[x]=g))),"values"==m&&w&&"values"!==w.name&&(k=!0,B=function(){return w.call(this)}),s&&!v||L[C]===B||l(L,C,B),p[t]=B,m)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(19),i=n(115),c=n(51),l=n(116),u=n(17),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),w=!(!N&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",w&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(19),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(19);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(18),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(24),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(24),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(25),l=n(15),u=n(11),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(24),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(24),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(18).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,v="process"==m(g),N=p(s,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(347);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(16),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(19),d=(0,n(51).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){d.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),s=!1},v=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(23);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(17),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){n(165),n(166),n(167),n(168),n(169),n(170),e.exports=n(171)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(197),n(199),n(200),n(201),n(133),n(203),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(218),n(219),n(220),n(221),n(222),n(224),n(225),n(227),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(242),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(256),n(257),n(258),n(259),n(260),n(261),n(263),n(264),n(266),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(292),n(293),n(294),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385);var o=n(1);n(387),n(388);var r=n(389),a=(n(154),n(3)),i=n(19),c=n(155),l=n(51),u=n(157),d=n(502),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(504).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(24),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(18),k=n(13),L=n(71),w=n(25),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),E=n(11),P=n(129),M=n(26),O=n(43),R=n(34),F=n(16).forEach,D=I("hidden"),j=E("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],q(e,t,n),o&&e!==G&&q(G,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(s(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=W(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=W(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(G,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||B(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(P.f=function(e){return re(E(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||w(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(26)("asyncIterator")},function(e,t,n){"use strict";n(26)("hasInstance")},function(e,t,n){"use strict";n(26)("isConcatSpreadable")},function(e,t,n){"use strict";n(26)("iterator")},function(e,t,n){"use strict";n(26)("match")},function(e,t,n){"use strict";n(26)("replace")},function(e,t,n){"use strict";n(26)("search")},function(e,t,n){"use strict";n(26)("species")},function(e,t,n){"use strict";n(26)("split")},function(e,t,n){"use strict";n(26)("toPrimitive")},function(e,t,n){"use strict";n(26)("toStringTag")},function(e,t,n){"use strict";n(26)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),d=n(63),s=n(64),p=n(11),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),v=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(16).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(16).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(16).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(16).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(196);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(16).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(198);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||f==Array&&i(v))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=v.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(24),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(16).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(24),u=n(49),d=n(64),s=n(11)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(49),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(s(a(t),0),v-N)),v+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(25),r=n(226),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(241)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(47).f,f=n(18).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?s((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(255)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(262);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(265),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(267);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(24),i=n(18).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(24),c=n(18),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(18).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(291);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(22),m=n(66),f=n(43),h=n(54),C=n(6),g=n(31),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),w=n(295),B=n(149),S=n(296),I=n(34),T=n(61),A=n(11),E=n(96),P=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,H=u.process,G=d("fetch"),U=B.f,K=U,Y="process"==v(H),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(M,(function(){if(!(N(D)!==String(D))){if(66===E)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(E>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[P]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&w("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(18).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(18),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(18);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(18),d=n(36),s=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),d=n(83),s=n(22),p=n(4),m=n(54),f=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?d.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,s(r,"RegExp",N)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(18).f,i=n(10),c=n(109),l=n(21),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(24),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var v=d(m,f);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(27);o({target:"String",proto:!0,forced:n(28)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(16).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(16).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(16).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Ee,t._MFCC=Oe,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=P,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=E,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?E(e,null):o(e)?P(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)we(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Ee(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Pe(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Ee(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Pe(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||Be(e,c,l,m,o),Ne(e.ref,m,i)}function Pe(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&we(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&we(b,f[b],null,l,o,m,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(ve(f),Ne(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Pe(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Pe(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Pe(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Pe(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,L=0,w=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(m=e[C],wc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],wg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Pe(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new w(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&c.setAttribute(d,r[d]);c.rel="stylesheet",c.href=e,c.media="only x",function m(e){if(i.body)return e();setTimeout((function(){m(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var s=function f(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){f(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=s,s(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(31),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(23),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(31),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(31),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(23),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"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."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(23),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(31),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(31);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"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."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(31),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(31),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.VaultController=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.VaultController=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Lock Status: ",buttons:(0,o.createComponentVNode)(2,i.Button,{content:c.doorstatus?"Locked":"Unlocked",icon:c.doorstatus?"lock":"unlock",disabled:c.stored1?r-1:0),i=1;i1?t-1:0),o=1;o0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(17);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(17),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(17);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(17),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(17);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(20),a=n(12),i=n(19),c=n(158),l=n(17);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(20),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(17);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(17),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(29),i=n(19),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(23),a=n(17),i=n(12),c=n(19);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(20),a=n(29),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(29),n(19)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(23),a=n(19),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(29),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"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."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(19),a=n(2),i=n(23),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(29),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(435);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(29);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"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."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(29),a=n(19),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(29),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(23),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(23),a=n(70),i=n(20),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(23),a=n(20),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(20);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(20),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(29),a=n(19),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-s1?r-1:0),i=1;i1?t-1:0),o=1;o Date: Thu, 13 Feb 2020 15:59:58 -0700 Subject: [PATCH 083/221] ok --- code/game/objects/items/stunbaton.dm | 78 ++++++++++---------- modular_citadel/code/_onclick/item_attack.dm | 4 +- 2 files changed, 42 insertions(+), 40 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 45313dc9b0..5d97866f95 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -15,13 +15,17 @@ attack_verb = list("beaten") armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80) - var/stunforce = 70 + var/stamforce = 25 var/status = FALSE var/obj/item/stock_parts/cell/cell var/hitcost = 1000 var/throw_hit_chance = 35 var/preload_cell_type //if not empty the baton starts with this type of cell +/obj/item/melee/baton/examine(mob/user) + . = ..() + . += "Right click attack while in combat mode to disarm instead of stun." + /obj/item/melee/baton/get_cell() . = cell if(iscyborg(loc)) @@ -32,7 +36,7 @@ user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") return (FIRELOSS) -/obj/item/melee/baton/Initialize() +/obj/item/melee/baton/Initialize(mapload) . = ..() if(preload_cell_type) if(!ispath(preload_cell_type,/obj/item/stock_parts/cell)) @@ -134,44 +138,40 @@ add_fingerprint(user) /obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) + var/interrupt = common_baton_melee(M, user, FALSE) + if(!interrupt) + ..() + +/obj/item/melee/baton/alt_pre_attack(atom/A, mob/living/user, params) + . = common_baton_melee(M, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. + +//return TRUE to interrupt attack chain. +/obj/item/melee/baton/proc/common_baton_melee(mob/M, mob/living/user, disarming = FALSE) + if(iscyborg(M) || !isliving(M)) //can't baton cyborgs + return FALSE if(status && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) clowning_around(user) - return - - if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit - to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto - return //CIT CHANGE - ditto - - if(iscyborg(M)) - ..() - return - - + if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) //CIT CHANGE - makes it impossible to baton in stamina softcrit + to_chat(user, "You're too exhausted for that.") + return TRUE if(ishuman(M)) var/mob/living/carbon/human/L = M if(check_martial_counter(L, user)) - return + return TRUE + if(status) + if(baton_stun(M, user, disarming)) + user.do_attack_animation(M) + user.adjustStaminaLossBuffered(getweight()) //CIT CHANGE - makes stunbatonning others cost stamina + else if(user.a_intent != INTENT_HARM) //they'll try to bash in the last proc. + M.visible_message("[user] has prodded [M] with [src]. Luckily it was off.", \ + "[user] has prodded you with [src]. Luckily it was off") + return disarming || (user.a_intent != INTENT_HARM) - if(user.a_intent != INTENT_HARM) - if(status) - if(baton_stun(M, user)) - user.do_attack_animation(M) - user.adjustStaminaLossBuffered(getweight())//CIT CHANGE - makes stunbatonning others cost stamina - return - else - M.visible_message("[user] has prodded [M] with [src]. Luckily it was off.", \ - "[user] has prodded you with [src]. Luckily it was off") - else - if(status) - baton_stun(M, user) - ..() - - -/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user) +/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user, disarming = FALSE) if(L.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that playsound(L, 'sound/weapons/genhit.ogg', 50, 1) return FALSE - var/stunpwr = stunforce + var/stunpwr = stamforce var/obj/item/stock_parts/cell/our_cell = get_cell() if(!our_cell) switch_status(FALSE) @@ -187,17 +187,19 @@ return FALSE stunpwr *= round(stuncharge/hitcost, 0.1) - - L.Knockdown(stunpwr, override_stamdmg = 0) - L.apply_damage(stunpwr*0.5, STAMINA, user.zone_selected) - L.apply_effect(EFFECT_STUTTER, stunforce) + if(!disarming) + L.Knockdown(100, override_stamdmg = 0) //knockdown + L.adjustStaminaLoss(stunpwr) + else + L.drop_all_held_items() //no knockdown/stamina damage, instead disarm. + L.apply_effect(EFFECT_STUTTER, stamforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) L.lastattacker = user.real_name L.lastattackerckey = user.ckey - L.visible_message("[user] has stunned [L] with [src]!", \ - "[user] has stunned you with [src]!") - log_combat(user, L, "stunned") + L.visible_message("[user] has [disarming? "disarmed" : "stunned"] [L] with [src]!", \ + "[user] has [disarming? "disarmed" : "stunned"] you with [src]!") + log_combat(user, L, disarming? "disarmed" : "stunned") playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) diff --git a/modular_citadel/code/_onclick/item_attack.dm b/modular_citadel/code/_onclick/item_attack.dm index 80281ee084..d87b2be661 100644 --- a/modular_citadel/code/_onclick/item_attack.dm +++ b/modular_citadel/code/_onclick/item_attack.dm @@ -1,12 +1,12 @@ /obj/item/proc/rightclick_melee_attack_chain(mob/user, atom/target, params) - if(!pre_altattackby(target, user, params)) //Hey, does this item have special behavior that should override all normal right-click functionality? + if(!alt_pre_attack(target, user, params)) //Hey, does this item have special behavior that should override all normal right-click functionality? if(!target.altattackby(src, user, params)) //Does the target do anything special when we right-click on it? melee_attack_chain(user, target, params) //Ugh. Lame! I'm filing a legal complaint about the discrimination against the right mouse button! else altafterattack(target, user, TRUE, params) return -/obj/item/proc/pre_altattackby(atom/A, mob/living/user, params) +/obj/item/proc/alt_pre_attack(atom/A, mob/living/user, params) return FALSE //return something other than false if you wanna override attacking completely /atom/proc/altattackby(obj/item/W, mob/user, params) From e8ccf4b6d7e06c064f1c5d9ff183676a02f6d844 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 16:25:43 -0700 Subject: [PATCH 084/221] fix --- code/game/objects/items/balls.dm | 2 +- code/game/objects/items/melee/energy.dm | 2 +- code/game/objects/items/stunbaton.dm | 17 ++++++++++------- code/game/objects/items/teleprod.dm | 2 +- code/game/objects/items/toys.dm | 2 +- code/game/objects/items/twohanded.dm | 2 +- code/game/objects/structures/watercloset.dm | 4 ++-- .../modules/reagents/reagent_containers/rags.dm | 2 +- 8 files changed, 18 insertions(+), 15 deletions(-) diff --git a/code/game/objects/items/balls.dm b/code/game/objects/items/balls.dm index 59b47bacbd..c24f58208b 100644 --- a/code/game/objects/items/balls.dm +++ b/code/game/objects/items/balls.dm @@ -20,7 +20,7 @@ throw_range = 14 w_class = WEIGHT_CLASS_SMALL -/obj/item/toy/tennis/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/toy/tennis/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 15a686bae6..3ca489542f 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -259,7 +259,7 @@ light_color = "#37FFF7" actions_types = list() -/obj/item/melee/transforming/energy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/melee/transforming/energy/sword/cx/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 5d97866f95..2e5cc1c689 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -17,8 +17,9 @@ var/stamforce = 25 var/status = FALSE + var/knockdown = TRUE var/obj/item/stock_parts/cell/cell - var/hitcost = 1000 + var/hitcost = 750 var/throw_hit_chance = 35 var/preload_cell_type //if not empty the baton starts with this type of cell @@ -52,7 +53,7 @@ baton_stun(hit_atom) /obj/item/melee/baton/loaded //this one starts with a cell pre-installed. - preload_cell_type = /obj/item/stock_parts/cell/high + preload_cell_type = /obj/item/stock_parts/cell/high/plus /obj/item/melee/baton/proc/deductcharge(chrgdeductamt, chargecheck = TRUE, explode = TRUE) var/obj/item/stock_parts/cell/copper_top = get_cell() @@ -143,7 +144,7 @@ ..() /obj/item/melee/baton/alt_pre_attack(atom/A, mob/living/user, params) - . = common_baton_melee(M, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. + return common_baton_melee(A, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. //return TRUE to interrupt attack chain. /obj/item/melee/baton/proc/common_baton_melee(mob/M, mob/living/user, disarming = FALSE) @@ -188,7 +189,8 @@ stunpwr *= round(stuncharge/hitcost, 0.1) if(!disarming) - L.Knockdown(100, override_stamdmg = 0) //knockdown + if(knockdown) + L.Knockdown(100, override_stamdmg = 0) //knockdown L.adjustStaminaLoss(stunpwr) else L.drop_all_held_items() //no knockdown/stamina damage, instead disarm. @@ -214,7 +216,7 @@ user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ "You accidentally hit yourself with [src]!") SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) + user.Knockdown(stamforce*6) playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) deductcharge(hitcost) @@ -276,8 +278,9 @@ w_class = WEIGHT_CLASS_BULKY force = 3 throwforce = 5 - stunforce = 60 - hitcost = 2000 + stamforce = 25 + hitcost = 1000 + knockdown = FALSE throw_hit_chance = 10 slot_flags = ITEM_SLOT_BACK var/obj/item/assembly/igniter/sparkler diff --git a/code/game/objects/items/teleprod.dm b/code/game/objects/items/teleprod.dm index f427bf6c4c..bab4d6a488 100644 --- a/code/game/objects/items/teleprod.dm +++ b/code/game/objects/items/teleprod.dm @@ -16,7 +16,7 @@ user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ "You accidentally hit yourself with [src]!") SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) + user.Knockdown(stamforce * 6) playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) if(do_teleport(user, get_turf(user), 50, channel = TELEPORT_CHANNEL_BLUESPACE)) deductcharge(hitcost) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6782ba0098..827ed43bfd 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -289,7 +289,7 @@ var/light_brightness = 3 actions_types = list() -/obj/item/toy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/toy/sword/cx/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index fc9e138f4b..a551f642d0 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -510,7 +510,7 @@ /obj/item/twohanded/dualsaber/hypereutactic/chaplain/IsReflect() return FALSE -/obj/item/twohanded/dualsaber/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes +/obj/item/twohanded/dualsaber/hypereutactic/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index a8f95e30da..359436dc2e 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -528,8 +528,8 @@ if(B.cell) if(B.cell.charge > 0 && B.status == 1) flick("baton_active", src) - var/stunforce = B.stunforce - user.Knockdown(stunforce) + var/stunforce = B.stamforce + user.Knockdown(stunforce * 2) user.stuttering = stunforce/20 B.deductcharge(B.hitcost) user.visible_message("[user] shocks [user.p_them()]self while attempting to wash the active [B.name]!", \ diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 59c956acd6..081d7a81de 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -52,7 +52,7 @@ SEND_SIGNAL(A, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM) return -/obj/item/reagent_containers/rag/pre_altattackby(mob/living/M, mob/living/user, params) +/obj/item/reagent_containers/rag/alt_pre_attack(mob/living/M, mob/living/user, params) if(istype(M) && user.a_intent == INTENT_HELP) user.changeNext_move(CLICK_CD_MELEE) if(M.on_fire) From 1276453dc4a4dccee4cbb979da5dc205555ccb54 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 13 Feb 2020 21:01:28 -0600 Subject: [PATCH 085/221] initial commit - preservahyde --- code/modules/mob/living/carbon/life.dm | 6 +++--- .../reagents/chemistry/reagents/medicine_reagents.dm | 5 ++--- code/modules/reagents/chemistry/reagents/other_reagents.dm | 7 +++++++ code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 534509523a..15b50fbeed 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -357,8 +357,8 @@ if(istype(loc, /obj/structure/closet/crate/coffin)|| istype(loc, /obj/structure/closet/body_bag) || istype(loc, /obj/structure/bodycontainer)) return - // No decay if formaldehyde in corpse or when the corpse is charred - if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1) || HAS_TRAIT(src, TRAIT_HUSK)) + // No decay if formaldehyde/preservahyde in corpse or when the corpse is charred + if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1) || HAS_TRAIT(src, TRAIT_HUSK) || reagents.has_reagent(/datum/reagent/preservahyde, 1)) return // Also no decay if corpse chilled or not organic/undead @@ -397,7 +397,7 @@ if(O) O.on_life() else - if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1)) // No organ decay if the body contains formaldehyde. + if(reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1) || reagents.has_reagent(/datum/reagent/preservahyde, 1)) // No organ decay if the body contains formaldehyde. Or preservahyde. return for(var/V in internal_organs) var/obj/item/organ/O = V diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 6d37f30884..0a040a4f17 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1482,14 +1482,14 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) /datum/reagent/medicine/polypyr //This is intended to be an ingredient in advanced chems. name = "Polypyrylium Oligomers" - description = "A�purple mixture of short polyelectrolyte chains not easily synthesized in the laboratory. It is valued as an intermediate in the synthesis of the cutting edge pharmaceuticals." + description = "A purple mixture of short polyelectrolyte chains not easily synthesized in the laboratory. It is valued as an intermediate in the synthesis of the cutting edge pharmaceuticals." reagent_state = SOLID color = "#9423FF" metabolization_rate = 0.25 * REAGENTS_METABOLISM overdose_threshold = 50 taste_description = "numbing bitterness" -/datum/reagent/medicine/polypyr/on_mob_life(mob/living/carbon/M) //I w�nted a collection of small positive effects, this is as hard to obtain as coniine after all. +/datum/reagent/medicine/polypyr/on_mob_life(mob/living/carbon/M) //I wanted a collection of small positive effects, this is as hard to obtain as coniine after all. M.adjustOrganLoss(ORGAN_SLOT_LUNGS, -0.25) M.adjustBruteLoss(-0.35, 0) if(prob(50)) @@ -1511,4 +1511,3 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) M.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5) ..() . = 1 - diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c7e574594b..81cfabb1ef 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2139,3 +2139,10 @@ to_chat(M, "You feel like playing with your [G.name]!") ..() + +/datum/reagent/preservahyde + name = "Preservahyde" + description = "A powerful preservation agent, utilizing the preservative effects of formaldehyde with significantly less of the histamine." + reagent_state = LIQUID + color = "#f7685e" + metabolization_rate = REAGENTS_METABOLISM * 0.25 diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index eac8edcbc8..fba0bad809 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -95,7 +95,7 @@ ignore_flags = 1 //so you can medipen through hardsuits reagent_flags = DRAWABLE flags_1 = null - list_reagents = list(/datum/reagent/medicine/epinephrine = 10, /datum/reagent/toxin/formaldehyde = 3) + list_reagents = list(/datum/reagent/medicine/epinephrine = 10, /datum/reagent/preservahyde = 3) /obj/item/reagent_containers/hypospray/medipen/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to choke on \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") From c8d0cacf51217c0e5a47ba987600dd30bac2fa0d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 13 Feb 2020 21:08:38 -0600 Subject: [PATCH 086/221] bad recipe --- code/modules/reagents/chemistry/recipes/others.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index b463b5758b..347313cceb 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -47,6 +47,12 @@ results = list(/datum/reagent/consumable/sodiumchloride = 3) required_reagents = list(/datum/reagent/water = 1, /datum/reagent/sodium = 1, /datum/reagent/chlorine = 1) +/datum/chemical_reaction/preservahyde + name = "Preservahyde" + id = "preservahyde" + results = list(/datum/reagent/preservahyde = 3) + required_reagents = list(/datum/reagent/water = 1, /datum/reagent/toxin/formaldehyde = 1, /datum/reagent/bromine = 1) + /datum/chemical_reaction/plasmasolidification name = "Solid Plasma" id = "solidplasma" From b2e3243760a8c43e993321e3fe7812842206f391 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 13 Feb 2020 21:32:27 -0600 Subject: [PATCH 087/221] there's no way this should have worked --- code/game/objects/items/storage/book.dm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 2762be8edf..157d88e725 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -173,22 +173,24 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", var/unholy2clean = A.reagents.get_reagent_amount(/datum/reagent/fuel/unholywater) A.reagents.del_reagent(/datum/reagent/fuel/unholywater) A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean) - if(istype(A, /obj/item/twohanded/required/cult_bastard) && !iscultist(user)) - var/obj/item/twohanded/required/cult_bastard/sword = A + if(istype(A, /obj/item/twohanded/required/cult_bastard) || istype(A, /obj/item/melee/cultblade) && !iscultist(user)) + var/isbastardsword = FALSE + var/obj/item/sword = A to_chat(user, "You begin to exorcise [sword].") playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1) if(do_after(user, 40, target = sword)) playsound(src,'sound/effects/pray_chaplain.ogg',60,1) - for(var/obj/item/soulstone/SS in sword.contents) - SS.usability = TRUE - for(var/mob/living/simple_animal/shade/EX in SS) - SSticker.mode.remove_cultist(EX.mind, 1, 0) - EX.icon_state = "ghost1" - EX.name = "Purified [EX.name]" - SS.release_shades(user) - qdel(SS) + if(isbastardsword) + for(var/obj/item/soulstone/SS in sword.contents) + SS.usability = TRUE + for(var/mob/living/simple_animal/shade/EX in SS) + SSticker.mode.remove_cultist(EX.mind, 1, 0) + EX.icon_state = "ghost1" + EX.name = "Purified [EX.name]" + SS.release_shades(user) + qdel(SS) new /obj/item/nullrod/claymore(get_turf(sword)) - user.visible_message("[user] has purified the [sword]!") + user.visible_message("[user] has purified [sword]!") qdel(sword) else if(istype(A, /obj/item/soulstone) && !iscultist(user)) From e0537218200fa2ff0664975ebb028583219255c0 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 14 Feb 2020 07:15:13 +0100 Subject: [PATCH 088/221] Fix for solar panels/trackers being wonky. --- code/modules/power/solar.dm | 27 +++++++++++++-------------- code/modules/power/tracker.dm | 20 +++++++++----------- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index e6d44de194..a0eeae1ea9 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -24,7 +24,16 @@ /obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S) . = ..() - Make(S) + if(!S) + assembly = new /obj/item/solar_assembly + assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2) + assembly.anchored = TRUE + else + S.moveToNullspace() + assembly = S + assembly.glass_type.on_solar_construction(src) + obj_integrity = max_integrity + update_icon() connect_to_network() /obj/machinery/power/solar/Destroy() @@ -45,17 +54,6 @@ control.connected_panels.Remove(src) control = null -/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S) - if(!S) - S = new /obj/item/solar_assembly - S.glass_type = new /obj/item/stack/sheet/glass(null, 2) - S.anchored = TRUE - else - S.moveToNullspace() - S.glass_type.on_solar_construction(src) - obj_integrity = max_integrity - update_icon() - /obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I) playsound(src.loc, 'sound/machines/click.ogg', 50, 1) user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...") @@ -201,7 +199,7 @@ new shard(Tsec) new shard(Tsec) else if(glass_type) - forceMove(glass_type, Tsec) + glass_type.forceMove(Tsec) glass_type = null /obj/item/solar_assembly/attackby(obj/item/W, mob/user, params) @@ -226,7 +224,8 @@ var/obj/item/stack/sheet/G = S.change_stack(null, 2) if(G) glass_type = G - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) + G.moveToNullspace() + playsound(loc, 'sound/machines/click.ogg', 50, 1) user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.") if(tracker) new /obj/machinery/power/tracker(get_turf(src), src) diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index c25ece3594..8701dfea7f 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -20,7 +20,15 @@ /obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S) . = ..() - Make(S) + if(!S) + assembly = new /obj/item/solar_assembly + assembly.glass_type = new /obj/item/stack/sheet/glass(null, 2) + assembly.tracker = TRUE + assembly.anchored = TRUE + else + S.moveToNullspace() + assembly = S + update_icon() connect_to_network() /obj/machinery/power/tracker/Destroy() @@ -41,16 +49,6 @@ control.connected_tracker = null control = null -/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S) - if(!S) - S = new /obj/item/solar_assembly - S.glass_type = new /obj/item/stack/sheet/glass(null, 2) - S.tracker = TRUE - S.anchored = TRUE - else - S.moveToNullspace() - update_icon() - //updates the tracker icon and the facing angle for the control computer /obj/machinery/power/tracker/proc/set_angle(angle) sun_angle = angle From d45a20c19b0a8d2249a731eaa46ce384ff575dcb Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Fri, 14 Feb 2020 05:12:50 -0700 Subject: [PATCH 089/221] Podpeople tweaks - Podpeople can wag tails now - Moved a few features into the podperson race itself instead of its weaker, roundstart variant; this in theory, will allow pod-grown hydroponics podpeople to have hair now, as well as all those anthropomorphic features, should they be revived through this method. - Fixed the lifebringers having no name somehow but... currently lifebringers under this change will turn them into animal anthropomorphic hairy mutants of some kind until I figure out how to make them the bald podpeople that they once were, could use some help with this. --- .../objects/structures/ghost_role_spawners.dm | 24 +++++++++---- .../carbon/human/species_types/podpeople.dm | 35 ++++++++++++++++--- 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index e9d9e4ce77..3b1b20d46a 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -20,13 +20,7 @@ assignedrole = "Lifebringer" /obj/effect/mob_spawn/human/seed_vault/special(mob/living/new_spawn) - var/plant_name = pick("Tomato", "Potato", "Broccoli", "Carrot", "Ambrosia", "Pumpkin", "Ivy", "Kudzu", "Banana", "Moss", "Flower", "Bloom", "Root", "Bark", "Glowshroom", "Petal", "Leaf", \ - "Venus", "Sprout","Cocoa", "Strawberry", "Citrus", "Oak", "Cactus", "Pepper", "Juniper") - new_spawn.real_name = plant_name - if(ishuman(new_spawn)) - var/mob/living/carbon/human/H = new_spawn - H.underwear = "Nude" //You're a plant, partner - H.update_body() + /obj/effect/mob_spawn/human/seed_vault/Destroy() new/obj/structure/fluff/empty_terrarium(get_turf(src)) @@ -34,6 +28,22 @@ /obj/effect/mob_spawn/human/seed_vault/special(mob/living/carbon/human/new_spawn) ADD_TRAIT(new_spawn,TRAIT_EXEMPT_HEALTH_EVENTS,GHOSTROLE_TRAIT) + var/plant_name = pick("Tomato", "Potato", "Broccoli", "Carrot", "Ambrosia", "Pumpkin", "Ivy", "Kudzu", "Banana", "Moss", "Flower", "Bloom", "Root", "Bark", "Glowshroom", "Petal", "Leaf", \ + "Venus", "Sprout","Cocoa", "Strawberry", "Citrus", "Oak", "Cactus", "Pepper", "Juniper") + new_spawn.real_name = plant_name + new_spawn.underwear = "Nude" //You're a plant, partner + new_spawn.undershirt = "Nude" + new_spawn.socks = "Nude" + new_spawn.dna.features["snout"] = "None" + new_spawn.dna.features["body_markings"] = "Plain" + new_spawn.dna.features["mam_tail"] = "None" + new_spawn.dna.features["taur"] = "None" + new_spawn.dna.features["ears"] = "None" + new_spawn.dna.features["legs"] = "Plantigrade" + new_spawn.facial_hair_style = "Shaved" + new_spawn.hair_style = "Bald" + new_spawn.regenerate_icons() + //Ash walker eggs: Spawns in ash walker dens in lavaland. Ghosts become unbreathing lizards that worship the Necropolis and are advised to retrieve corpses to create more ash walkers. /obj/effect/mob_spawn/human/ash_walker diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 66eb207670..4fcf1eebec 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -3,7 +3,9 @@ name = "Anthromorphic Plant" id = "pod" default_color = "59CE00" - species_traits = list(MUTCOLORS,EYECOLOR) + species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS) + mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "taur", "legs") + default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs") attack_verb = "slash" attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' @@ -70,13 +72,38 @@ if(/obj/item/projectile/energy/florayield) H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL) +/datum/species/pod/spec_death(gibbed, mob/living/carbon/human/H) + if(H) + stop_wagging_tail(H) + +/datum/species/pod/spec_stun(mob/living/carbon/human/H,amount) + if(H) + stop_wagging_tail(H) + . = ..() + +/datum/species/pod/can_wag_tail(mob/living/carbon/human/H) + return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/pod/is_wagging_tail(mob/living/carbon/human/H) + return ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/pod/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/pod/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/species/pod/pseudo_weak name = "Anthromorphic Plant" id = "podweak" limbs_id = "pod" - species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS) - mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "taur", "legs") - default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs") light_nutrition_gain_factor = 7.5 light_bruteheal = 0.2 light_burnheal = 0.2 From 3b873d40007b1eb14d3493dc6df625b027e9795d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Fri, 14 Feb 2020 16:28:39 -0600 Subject: [PATCH 090/221] thanks ghommie --- code/game/objects/items/storage/book.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 157d88e725..ed0181da55 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -174,14 +174,12 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", A.reagents.del_reagent(/datum/reagent/fuel/unholywater) A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean) if(istype(A, /obj/item/twohanded/required/cult_bastard) || istype(A, /obj/item/melee/cultblade) && !iscultist(user)) - var/isbastardsword = FALSE - var/obj/item/sword = A to_chat(user, "You begin to exorcise [sword].") playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1) - if(do_after(user, 40, target = sword)) + if(do_after(user, 40, target = A)) playsound(src,'sound/effects/pray_chaplain.ogg',60,1) - if(isbastardsword) - for(var/obj/item/soulstone/SS in sword.contents) + if(istype(A, /obj/item/twohanded/required/cult_bastard)) + for(var/obj/item/soulstone/SS in A.contents) SS.usability = TRUE for(var/mob/living/simple_animal/shade/EX in SS) SSticker.mode.remove_cultist(EX.mind, 1, 0) From 5a9208bc423523d2cbb71d9af1018a6a1e3b9e0b Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Fri, 14 Feb 2020 16:29:17 -0600 Subject: [PATCH 091/221] shit whoops --- code/game/objects/items/storage/book.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index ed0181da55..37f5b8d756 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -174,7 +174,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", A.reagents.del_reagent(/datum/reagent/fuel/unholywater) A.reagents.add_reagent(/datum/reagent/water/holywater,unholy2clean) if(istype(A, /obj/item/twohanded/required/cult_bastard) || istype(A, /obj/item/melee/cultblade) && !iscultist(user)) - to_chat(user, "You begin to exorcise [sword].") + to_chat(user, "You begin to exorcise [A].") playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,1) if(do_after(user, 40, target = A)) playsound(src,'sound/effects/pray_chaplain.ogg',60,1) @@ -187,9 +187,9 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", EX.name = "Purified [EX.name]" SS.release_shades(user) qdel(SS) - new /obj/item/nullrod/claymore(get_turf(sword)) - user.visible_message("[user] has purified [sword]!") - qdel(sword) + new /obj/item/nullrod/claymore(get_turf(A)) + user.visible_message("[user] has purified [A]!") + qdel(A) else if(istype(A, /obj/item/soulstone) && !iscultist(user)) var/obj/item/soulstone/SS = A From bbe1ddc0cfadc126997774c58b819c69b15c7769 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Fri, 14 Feb 2020 23:04:02 -0500 Subject: [PATCH 092/221] silk, bows, and graytide! --- .../datums/components/crafting/guncrafting.dm | 6 +++ .../crafting/recipes/recipes_primal.dm | 18 ++++++++ .../recipes/recipes_weapon_and_ammo.dm | 41 ++++++++++++++++++ code/game/objects/items/granters.dm | 8 +++- .../items/stacks/sheets/sheet_types.dm | 16 +++++-- .../objects/structures/ghost_role_spawners.dm | 7 +++ code/modules/cargo/exports/weapons.dm | 20 +++++++++ .../projectiles/ammunition/caseless/arrow.dm | 20 ++++++++- .../modules/projectiles/guns/ballistic/bow.dm | 17 +++++++- .../projectiles/projectile/reusable/arrow.dm | 21 ++++++++- icons/obj/ammo.dmi | Bin 25386 -> 26146 bytes icons/obj/guns/projectile.dmi | Bin 41577 -> 44010 bytes icons/obj/improvised.dmi | Bin 681 -> 742 bytes icons/obj/library.dmi | Bin 27469 -> 27618 bytes 14 files changed, 166 insertions(+), 8 deletions(-) diff --git a/code/datums/components/crafting/guncrafting.dm b/code/datums/components/crafting/guncrafting.dm index d96be9be10..eeaa75ba6b 100644 --- a/code/datums/components/crafting/guncrafting.dm +++ b/code/datums/components/crafting/guncrafting.dm @@ -13,3 +13,9 @@ desc = "A classic rifle stock that doubles as a grip, roughly carved out of wood." icon = 'icons/obj/improvised.dmi' icon_state = "riflestock" + +/obj/item/weaponcrafting/silkstrink + name = "silkstring" + desc = "A long pice of silk looks like cable coil." + icon = 'icons/obj/improvised.dmi' + icon_state = "silkstring" \ No newline at end of file diff --git a/code/datums/components/crafting/recipes/recipes_primal.dm b/code/datums/components/crafting/recipes/recipes_primal.dm index 1fc684eddc..696df5cf76 100644 --- a/code/datums/components/crafting/recipes/recipes_primal.dm +++ b/code/datums/components/crafting/recipes/recipes_primal.dm @@ -89,4 +89,22 @@ parts = list(/obj/item/bodypart/head = 1, /obj/item/twohanded/bonespear = 1) result = /obj/structure/headpike/bone + category = CAT_PRIMAL + +/datum/crafting_recipe/bone_bow + name = "Bone Bow" + result = /obj/item/gun/ballistic/bow/ashen + time = 200 + always_availible = FALSE + reqs = list(/obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + +/datum/crafting_recipe/bow_tablet + name = "Sandstone Bow Making Manual" + result = /obj/item/book/granter/crafting_recipe/bone_bow + time = 600 //Scribing + always_availible = FALSE + reqs = list(/obj/item/stack/rods = 1, + /obj/item/stack/sheet/mineral/sandstone = 4) category = CAT_PRIMAL \ No newline at end of file diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index 104b58ca28..c03f69e16a 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -199,6 +199,16 @@ ////////////////// +/datum/crafting_recipe/pipebow + name = "Pipe Bow" + result = /obj/item/gun/ballistic/bow/pipe + reqs = list(/obj/item/pipe = 5, + /obj/item/stack/sheet/plastic = 15, + /obj/item/weaponcrafting/silkstrink = 10) + time = 450 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + /datum/crafting_recipe/smartdartgun name = "Smart dartgun" result = /obj/item/gun/syringe/dart @@ -278,6 +288,37 @@ ///AMMO CRAFTING// ////////////////// +/datum/crafting_recipe/arrow + name = "Arrow" + result = /obj/item/ammo_casing/caseless/arrow + time = 40 + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, + /obj/item/weaponcrafting/silkstrink = 1, + /obj/item/stack/rods = 3) // 1 metal sheet is worth 1.5 arrows + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bone_arrow + name = "Bone Arrow" + result = /obj/item/ammo_casing/caseless/arrow/bone + time = 40 + always_availible = FALSE + reqs = list(/obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 1, + /obj/item/ammo_casing/caseless/arrow/ashen = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ashen_arrow + name = "Harden Arrow" + result = /obj/item/ammo_casing/caseless/arrow/ashen + tools = list(/obj/structure/bonfire) + time = 20 + always_availible = FALSE + reqs = list(/obj/item/ammo_casing/caseless/arrow = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + /datum/crafting_recipe/smartdart name = "Medical smartdart" result = /obj/item/reagent_containers/syringe/dart diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 70cd503ef4..20982893d2 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -490,7 +490,13 @@ oneuse = FALSE remarks = list("Looks like these would sell much better in a plasma fire...", "Using glass bowls rather then cones?", "Mixing soda and ice-cream?", "Tall glasses with of liquids and solids...", "Just add a bit of icecream and cherry on top?") -//Later content when I have free time - Trilby Date:24-Aug-2019 +/obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers + name = "Standstone manual on bows" + desc = "A standstone slab with everything you need to know for making bows and arrows just like an ashwalker would." + crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/bow_tablet) + icon_state = "stone_tablet" + oneuse = FALSE + remarks = list("Sticking burning arrows into the sand makes them stronger?", "Braking the bone apart to get shards, not sharpening the bone.", "Sinew is just like rope?") /obj/item/book/granter/crafting_recipe/under_the_oven //Illegal cook book name = "Under The Oven" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 45911afc73..dedc6cd2e2 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -376,6 +376,14 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ /* * Silk */ + + GLOBAL_LIST_INIT(silk_recipes, list ( \ + new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 4, time = 40), \ + new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 2, time = 40), \ + null, \ + new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstrink, 2, time = 40), \ + )) + /obj/item/stack/sheet/silk name = "silk" desc = "A long soft material. This one is just made out of cotton rather then any spiders or wyrms" @@ -385,14 +393,14 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ novariants = TRUE merge_type = /obj/item/stack/sheet/silk -//obj/item/stack/sheet/silk/Initialize(mapload, new_amount, merge = TRUE) -// recipes = GLOB.silk_recipes -// return ..() +/obj/item/stack/sheet/silk/Initialize(mapload, new_amount, merge = TRUE) + recipes = GLOB.silk_recipes + return ..() /* * Durathread */ - GLOBAL_LIST_INIT(durathread_recipes, list ( \ +GLOBAL_LIST_INIT(durathread_recipes, list ( \ new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/durathread, 4, time = 40), new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \ new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 40), \ diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index e9d9e4ce77..c11d5f4e97 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -64,6 +64,13 @@ var/datum/language_holder/holder = new_spawn.get_language_holder() holder.selected_default_language = /datum/language/draconic +//Ash walkers on birth understand how to make bone bows, bone arrows and ashen arrows + + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_arrow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_bow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/ashen_arrow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bow_tablet) + if(ishuman(new_spawn)) var/mob/living/carbon/human/H = new_spawn H.underwear = "Nude" diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index 5b78a5d630..9e2bd16e65 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -199,6 +199,26 @@ unit_name = "advanced shotgun shell" export_types = list(/obj/item/ammo_casing/shotgun/dragonsbreath, /obj/item/ammo_casing/shotgun/meteorslug, /obj/item/ammo_casing/shotgun/pulseslug, /obj/item/ammo_casing/shotgun/frag12, /obj/item/ammo_casing/shotgun/ion, /obj/item/ammo_casing/shotgun/laserslug) +///////////////////////// +//Bow and Arrows///////// +///////////////////////// + +/datum/export/weapon/techslug + cost = 450 + unit_name = "bow" + export_types = list(/obj/item/gun/ballistic/bow) + +/datum/export/weapon/techslug + cost = 150 + unit_name = "arrow" + export_types = list(/obj/item/ammo_casing/caseless/arrow, /obj/item/ammo_casing/caseless/arrow/bone, /obj/item/ammo_casing/caseless/arrow/ashen) + +/datum/export/weapon/bow_teaching + cost = 500 + unit_name = "stone tablets" + export_types = list(/obj/item/book/granter/crafting_recipe/bone_bow) + + ///////////////////////// //The Traitor Sell Outs// ///////////////////////// diff --git a/code/modules/projectiles/ammunition/caseless/arrow.dm b/code/modules/projectiles/ammunition/caseless/arrow.dm index e0ca637a8b..e0c65b1451 100644 --- a/code/modules/projectiles/ammunition/caseless/arrow.dm +++ b/code/modules/projectiles/ammunition/caseless/arrow.dm @@ -5,4 +5,22 @@ caliber = "arrow" icon_state = "arrow" throwforce = 3 //good luck hitting someone with the pointy end of the arrow - throw_speed = 3 \ No newline at end of file + throw_speed = 3 + +/obj/item/ammo_casing/caseless/arrow/ashen + name = "ashen arrow" + desc = "Fire harderned wooden arrow." + icon_state = "asharrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/ashen + +/obj/item/ammo_casing/caseless/arrow/bone + name = "bone arrow" + desc = "Arrow made of bone and sinew. The tip is sharp enough to price into a golathin plate." + icon_state = "bonearrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/bone + +/obj/item/ammo_casing/caseless/arrow/bronze + name = "bronze arrow" + desc = "Bronze tipped arrow." + icon_state = "bronzearrow" + projectile_type = /obj/item/projectile/bullet/reusable/arrow/bronze diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm index 448e2915d9..540ea722b9 100644 --- a/code/modules/projectiles/guns/ballistic/bow.dm +++ b/code/modules/projectiles/guns/ballistic/bow.dm @@ -50,4 +50,19 @@ icon_state = "bow_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]" /obj/item/gun/ballistic/bow/can_shoot() - return chambered \ No newline at end of file + return chambered + +/obj/item/gun/ballistic/bow/ashen + name = "bone bow" + desc = "Some sort of primitive projectile weapon made of bone and sinew. Used to fire arrows." + icon_state = "ashenbow" + item_state = "ashenbow" + force = 8 + +/obj/item/gun/ballistic/bow/pipe + name = "pipe bow" + desc = "Some sort of pipe made projectile weapon made of a silk string and lots of bending. Used to fire arrows." + icon_state = "pipebow" + item_state = "pipebow" + inaccuracy_modifier = 1.1 //Made of pipe and in a rush + force = 0 \ No newline at end of file diff --git a/code/modules/projectiles/projectile/reusable/arrow.dm b/code/modules/projectiles/projectile/reusable/arrow.dm index f1c9638fd9..207ce37eb4 100644 --- a/code/modules/projectiles/projectile/reusable/arrow.dm +++ b/code/modules/projectiles/projectile/reusable/arrow.dm @@ -3,4 +3,23 @@ desc = "Woosh!" damage = 15 icon_state = "arrow" - ammo_type = /obj/item/ammo_casing/caseless/arrow \ No newline at end of file + ammo_type = /obj/item/ammo_casing/caseless/arrow + +/obj/item/projectile/bullet/reusable/arrow/ashen + name = "ashen arrow" + desc = "Fire harderned arrow." + damage = 25 + ammo_type = /obj/item/ammo_casing/caseless/arrow/ashen + +/obj/item/projectile/bullet/reusable/arrow/bone //AP for ashwalkers + name = "bone arrow" + desc = "Arrow made of bone and sinew." + damage = 35 + armour_penetration = 40 + ammo_type = /obj/item/ammo_casing/caseless/arrow/ashen + +/obj/item/projectile/bullet/reusable/arrow/bronze //Just some AP shots + name = "bronze arrow" + desc = "Bronze tipped arrow." + armour_penetration = 10 + ammo_type = /obj/item/ammo_casing/caseless/arrow/bronze diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 55cbcc66e00f9a3970ebff7513b1f75be68074c8..a26b01883ede06b86fe93f0d405230d2f3c39aa0 100644 GIT binary patch delta 5190 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%0D5TB4TC6s` ziNW0QYT5x;JpDnW=Ddj-D2My=bbWF)PL6Fs#-?xdqNCkz;g!LM*vd+hWw8?i4G$}i zJOu)Ih**nU)(C=qZHg}FEc!!R$E5R7LdSSiT-rf#c)U>Fm?U_dhzXN7PIjFMfaH~r zuhB!b1fVAdCkNsaXcpwxq@+Sojr1QsqP~B>0Ss9{N(JnE+XB+wzCF|2;uuBY;o&hj zK5lDHTR|W6zwSY7F(JAD_6&v;x%C*+He9GW-d6;m1(Db+5{{c)y(buZsXYp#U(M>a zG}0k^>@*Tc2eH`;@YlNe4c>GW3RzcCSkEiR<*(+WJJV@%hg_XrpyDS}v*7X{Nl8Mq zGZS31@2@-@VI%vH`=sqqzj!W^rK~!pThI4!y406kmTsFZ=sr%L{6$mA zH*f9E^u2pEG|HQfh@wjn#SJtkl<`^i zW`K3j3<;>m)bRC{QFeb;YaQ(-U zE5P2Ael!H1aAW5;o-_?WWBm-onVF8g(hq5M zv2kjbW}T5DKAs8&-xn)nIQj#e0a%*2JydW&Tmzsvxo>Wm&E+Yt*R&`)#$54^&x0DU z(I=Ums&*S59rjU&fDP9@@SGtay#>}II>tJAreEAXos=!>IIdTfsKUj^Kj(K_PcH9+ zr8^l0-4mVdl{&g>L4iJAr6iV-ROR6fL@Qt97KB8uu9Y7m0vc+5SDHV!@Rb$5a0eaR zU<6IcIzYM|^3r!FE422}eqwd1HSgxn*|uleZ}3`L^jLD=Sb&ji&6OMk5+g{oxt1n8 z7pjv`Po^#Ja=7%(giaJif$jX`oAhyU%sGIu21%_asXewO-+2PTzTc_Kr6pVgKYiVSF(2T+p(0_V%PLnhcs z_RSW-p(&mh|L#yHXPK8QqXat6`e2qY)PI(-78D3`e4Ai!kTgSb%y+J~15sP%5G4DS z7Q!o?88NOlp@_1{wvZdbI9^JjWh`^ZuHc5i%3dCo^D8J7sjR74Ci`t~YIJKp@_SrB z&IvtpFE$KnSmbXYrl_sqLZY3GpJm21(XXFolbW0BPicNXDgvJG6`bqpDmR{*z|@F6 z$M88Zv8T>^*Rae*8`-&Om0TxBCF$`oE$9dfxOrJbg<3wHG4`H6#2Iv1&zSU zhpbqB{d)qS$w^>c$YBBX#{0nvcyiQ=Rw+V}U^lz(ld zDE5`QqP-@)Z!rLBZ^*OI#R&_dh$jc0rn{rL9YDr^0F!9WS59f1f;i|hJZ=c zM=kl|pYmrBOA(22yAFOqX%a|y2z<{Bd)R)AZ=H}4iDp0AN1XtN%%aiTxzV-?%`-pWqK!scnK5eH z)V@fPYRqcdV#eoer)Y>@oUt?A?uLpVw8ND5xQ>>R5e;Yoh%`R-R(~Qo?{OhE9-`1k zM*^ggVNIx`DpQ_dqzn?- zqEHv5MZ@7&WRpMsq^gooJmOkv$8a1`De&OiW@#Tj_8!cdg@0knZ2~3t;w__>`q4L1 z;8cN8i2Jot4vIZT7@GG1i0eLdIR2u#!J=D`-lI6Os$I&L%u4m-Dez_dCIlE~R7C!y zwcf&XVK6WJbj^zr?bcG#sz(SShPOOOCDSQSEZIyC+)wDBclg*LS*w%N4K$oHUvsi4 z3UbHkU+yPcT(U#x==9xFy3TndWK#C<_3a~U3$Yt2A1*x^J#>*p|K+5*;LZrf^3(LO z#Ap~%5KwUr=o0^a|ENFsLv-KjNFM%0A;IrM$`5oFnF8%Hz-~`K5c4Oz*rzA`^AkRE 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 literal 41577 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 JPDHLkV1g8t3Nruz delta 509 zcmVfFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TB zGg33tGfE(w;*!LYR3K9+DJL;6TZxM^C9|j)$T#HTOe;#vO@*-Gs){nxa#D*+@_&;F zE6ps<$S+AR%_}ZREifcWwGm-wq$a0k0)2=}p|XOjp9?q`0C|K?)81`+;s5{vAxT6* zR9J=Wm%&oQAQVMoViO{PYFkpBwpc6FV%4hu|8WKbDkd}LC3T_m&J0WLfsn<0QG_4} z@`pHyD}FOSsfa)6u;mmkcxPn!W`9VtEF&b%^E^Exgk*#kMFGl>7)t_0Xh=C9pI=P) zl=In)b6Vw7puj2^i(_vH1)?nHb5ROm*QGuF6@^~GIci1Y8wC^&xWFo$;m2q074H=t z{-fUcQT-TfzjH*~eRRZ4GR=W1{5_DQpV zYJIoct&K7FQi25S-QLXsUkqAnxqo=vZ=a-GfD8e?+q+345QxJ;DfRsFs#JeLZSf=1 zs9DmLF$2?mx3_aZ(i9va-_tq<95Ek35afe5aH146VoK8P00000NkvXXu0mjfBzxa- diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 45181b7c8d96c1e6b3e66b796aa0343900fc60f5..be12ab5f8be7f38d005b51fd8b59e58c95303e0e 100644 GIT binary patch delta 7087 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 delta 6921 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 From a1f1a01a814b6c0c4af8c02cb9dd0e4a81694540 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sat, 15 Feb 2020 00:52:19 -0500 Subject: [PATCH 093/221] grammer and quiver --- code/datums/components/crafting/guncrafting.dm | 2 +- .../datums/components/crafting/recipes/recipes_primal.dm | 9 +++++++++ .../crafting/recipes/recipes_weapon_and_ammo.dm | 4 ++-- code/game/objects/items/granters.dm | 6 +++--- code/game/objects/items/stacks/sheets/sheet_types.dm | 2 +- code/game/objects/structures/ghost_role_spawners.dm | 1 + code/modules/cargo/exports/weapons.dm | 9 +++++++-- 7 files changed, 24 insertions(+), 9 deletions(-) diff --git a/code/datums/components/crafting/guncrafting.dm b/code/datums/components/crafting/guncrafting.dm index eeaa75ba6b..d421a6e42a 100644 --- a/code/datums/components/crafting/guncrafting.dm +++ b/code/datums/components/crafting/guncrafting.dm @@ -14,7 +14,7 @@ icon = 'icons/obj/improvised.dmi' icon_state = "riflestock" -/obj/item/weaponcrafting/silkstrink +/obj/item/weaponcrafting/silkstring name = "silkstring" desc = "A long pice of silk looks like cable coil." icon = 'icons/obj/improvised.dmi' diff --git a/code/datums/components/crafting/recipes/recipes_primal.dm b/code/datums/components/crafting/recipes/recipes_primal.dm index 696df5cf76..ae611e5855 100644 --- a/code/datums/components/crafting/recipes/recipes_primal.dm +++ b/code/datums/components/crafting/recipes/recipes_primal.dm @@ -91,6 +91,15 @@ result = /obj/structure/headpike/bone category = CAT_PRIMAL +/datum/crafting_recipe/quiver + name = "Quiver" + always_availible = FALSE + result = /obj/item/storage/belt/quiver + time = 80 + reqs = list(/obj/item/stack/sheet/leather = 3, + /obj/item/stack/sheet/sinew = 4) + category = CAT_PRIMAL + /datum/crafting_recipe/bone_bow name = "Bone Bow" result = /obj/item/gun/ballistic/bow/ashen diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index c03f69e16a..76f8f119e0 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -204,7 +204,7 @@ result = /obj/item/gun/ballistic/bow/pipe reqs = list(/obj/item/pipe = 5, /obj/item/stack/sheet/plastic = 15, - /obj/item/weaponcrafting/silkstrink = 10) + /obj/item/weaponcrafting/silkstring = 10) time = 450 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -293,7 +293,7 @@ result = /obj/item/ammo_casing/caseless/arrow time = 40 reqs = list(/obj/item/stack/sheet/mineral/wood = 1, - /obj/item/weaponcrafting/silkstrink = 1, + /obj/item/weaponcrafting/silkstring = 1, /obj/item/stack/rods = 3) // 1 metal sheet is worth 1.5 arrows category = CAT_WEAPONRY subcategory = CAT_AMMO diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 20982893d2..986090212e 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -491,12 +491,12 @@ remarks = list("Looks like these would sell much better in a plasma fire...", "Using glass bowls rather then cones?", "Mixing soda and ice-cream?", "Tall glasses with of liquids and solids...", "Just add a bit of icecream and cherry on top?") /obj/item/book/granter/crafting_recipe/bone_bow //Bow crafting for non-ashwalkers - name = "Standstone manual on bows" + name = "Sandstone manual on bows" desc = "A standstone slab with everything you need to know for making bows and arrows just like an ashwalker would." - crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/bow_tablet) + crafting_recipe_types = list(/datum/crafting_recipe/bone_arrow, /datum/crafting_recipe/bone_bow, /datum/crafting_recipe/ashen_arrow, /datum/crafting_recipe/quiver, /datum/crafting_recipe/bow_tablet) icon_state = "stone_tablet" oneuse = FALSE - remarks = list("Sticking burning arrows into the sand makes them stronger?", "Braking the bone apart to get shards, not sharpening the bone.", "Sinew is just like rope?") + remarks = list("Sticking burning arrows into the sand makes them stronger?", "Breaking the bone apart to get shards, not sharpening the bone.", "Sinew is just like rope?") /obj/item/book/granter/crafting_recipe/under_the_oven //Illegal cook book name = "Under The Oven" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index dedc6cd2e2..64875a4cc3 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -381,7 +381,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 4, time = 40), \ new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 2, time = 40), \ null, \ - new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstrink, 2, time = 40), \ + new/datum/stack_recipe("silk string", /obj/item/weaponcrafting/silkstring, 2, time = 40), \ )) /obj/item/stack/sheet/silk diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index c11d5f4e97..79afd7695a 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -69,6 +69,7 @@ new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_arrow) new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bone_bow) new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/ashen_arrow) + new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/quiver) new_spawn.mind.teach_crafting_recipe(/datum/crafting_recipe/bow_tablet) if(ishuman(new_spawn)) diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index 9e2bd16e65..c75a1c0bff 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -203,12 +203,12 @@ //Bow and Arrows///////// ///////////////////////// -/datum/export/weapon/techslug +/datum/export/weapon/bows cost = 450 unit_name = "bow" export_types = list(/obj/item/gun/ballistic/bow) -/datum/export/weapon/techslug +/datum/export/weapon/arrows cost = 150 unit_name = "arrow" export_types = list(/obj/item/ammo_casing/caseless/arrow, /obj/item/ammo_casing/caseless/arrow/bone, /obj/item/ammo_casing/caseless/arrow/ashen) @@ -218,6 +218,11 @@ unit_name = "stone tablets" export_types = list(/obj/item/book/granter/crafting_recipe/bone_bow) +/datum/export/weapon/quiver + cost = 100 + unit_name = "quiver" + export_types = list(/obj/item/storage/belt/quiver) + ///////////////////////// //The Traitor Sell Outs// From 46e97b3cdc123b7a57c8e7f55d2aecbfbc6f8506 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 15 Feb 2020 01:15:09 -0500 Subject: [PATCH 094/221] Update arrow.dm --- code/modules/projectiles/ammunition/caseless/arrow.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/caseless/arrow.dm b/code/modules/projectiles/ammunition/caseless/arrow.dm index e0c65b1451..57f47e2ad9 100644 --- a/code/modules/projectiles/ammunition/caseless/arrow.dm +++ b/code/modules/projectiles/ammunition/caseless/arrow.dm @@ -15,7 +15,7 @@ /obj/item/ammo_casing/caseless/arrow/bone name = "bone arrow" - desc = "Arrow made of bone and sinew. The tip is sharp enough to price into a golathin plate." + desc = "Arrow made of bone and sinew. The tip is sharp enough to pierce into a goliath plate." icon_state = "bonearrow" projectile_type = /obj/item/projectile/bullet/reusable/arrow/bone From 168a71546243d9bbe5806b6543f3786b11d8b19c Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 15 Feb 2020 01:15:46 -0500 Subject: [PATCH 095/221] well it takes a lot to make after all... --- code/modules/projectiles/projectile/reusable/arrow.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/reusable/arrow.dm b/code/modules/projectiles/projectile/reusable/arrow.dm index 207ce37eb4..d00de79eb1 100644 --- a/code/modules/projectiles/projectile/reusable/arrow.dm +++ b/code/modules/projectiles/projectile/reusable/arrow.dm @@ -16,7 +16,7 @@ desc = "Arrow made of bone and sinew." damage = 35 armour_penetration = 40 - ammo_type = /obj/item/ammo_casing/caseless/arrow/ashen + ammo_type = /obj/item/ammo_casing/caseless/arrow/bone /obj/item/projectile/bullet/reusable/arrow/bronze //Just some AP shots name = "bronze arrow" From 0c9244f6694edd3c5ae7a56ae7ea57daf318b8ce Mon Sep 17 00:00:00 2001 From: Persi Date: Sat, 15 Feb 2020 14:17:22 -0500 Subject: [PATCH 096/221] Clarifies comments and locks defusal kits behind an emag --- code/modules/cargo/packs.dm | 2 +- code/modules/cargo/packs/science.dm | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 4c9ddfe3bc..07a75bbfaf 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -2,7 +2,7 @@ var/name = "Crate" var/group = "" var/hidden = FALSE //Aka emag only - var/contraband = FALSE //Hacking the console with a multitool + var/contraband = FALSE //Requires a hacked console UNLESS DropPodOnly = TRUE, in which case it requires an emag var/cost = 700 // Minimum cost, or infinite points are possible. var/access = FALSE //What access does the Crate itself need? var/access_any = FALSE //Do we care about access? diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index 8852a7e945..7a56e6d29b 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -84,7 +84,7 @@ /datum/supply_pack/science/glasswork name = "Glass Blower Kit Crate" - desc = "Learn and make glassworks of usefull things for a profit! Contains glassworking tools and blowing rods. Glass not included." + desc = "Learn and make glassworks of useful things for a profit! Contains glassworking tools and blowing rods. Glass not included." cost = 1000 contains = list(/obj/item/glasswork/glasskit, /obj/item/glasswork/glasskit, @@ -111,8 +111,9 @@ /datum/supply_pack/science/nuke_b_gone name = "Nuke Defusal Kit" desc = "Contains set of tools to defuse a nuke." - cost = 7500 //Usefull for traitors/nukies that fucked up + cost = 7500 //Useful for traitors/nukies that fucked up dangerous = TRUE + contraband = TRUE DropPodOnly = TRUE contains = list(/obj/item/nuke_core_container/nt, /obj/item/screwdriver/nuke/nt, @@ -194,7 +195,7 @@ /datum/supply_pack/science/supermater name = "Supermatter Extraction Tools Crate" desc = "Contains a set of tools to extract a sliver of supermatter. Consult your CE today!" - cost = 7500 //Usefull for traitors that fucked up + cost = 7500 //Useful for traitors that fucked up hidden = TRUE contains = list(/obj/item/nuke_core_container/supermatter, /obj/item/scalpel/supermatter, From c9af8dc71358854b98bce12d9577a088eb0f112d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sat, 15 Feb 2020 14:05:27 -0600 Subject: [PATCH 097/221] perhaps --- code/game/objects/items/storage/book.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 37f5b8d756..21749eea56 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -187,7 +187,10 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", EX.name = "Purified [EX.name]" SS.release_shades(user) qdel(SS) - new /obj/item/nullrod/claymore(get_turf(A)) + new /obj/item/nullrod/claymore(get_turf(A)) + user.visible_message("[user] has purified [A]!") + qdel(A) + new /obj/item/claymore(get_turf(A)) user.visible_message("[user] has purified [A]!") qdel(A) From 0f5ea361e70d373b20094768a7c2eba57a366137 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sat, 15 Feb 2020 14:07:35 -0600 Subject: [PATCH 098/221] bada bing bada boom --- code/game/objects/items/storage/book.dm | 2 +- code/game/objects/items/weaponry.dm | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 21749eea56..a0b1a25078 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -190,7 +190,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", new /obj/item/nullrod/claymore(get_turf(A)) user.visible_message("[user] has purified [A]!") qdel(A) - new /obj/item/claymore(get_turf(A)) + new /obj/item/claymore/purified(get_turf(A)) user.visible_message("[user] has purified [A]!") qdel(A) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index cd6cc5f520..ea9899b2c2 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -79,6 +79,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 user.visible_message("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!") return(BRUTELOSS) +/obj/item/claymore/purified + name = "purified longsword" + desc = "A hastily-purified longsword. While not as holy as it could be, it's still a formidable weapon against those who would rather see you dead." + force = 25 + /obj/item/claymore/highlander //ALL COMMENTS MADE REGARDING THIS SWORD MUST BE MADE IN ALL CAPS desc = "THERE CAN BE ONLY ONE, AND IT WILL BE YOU!!!\nActivate it in your hand to point to the nearest victim." flags_1 = CONDUCT_1 From 470e786765e001ac0df24135c124fda607411a41 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 15 Feb 2020 15:59:09 -0500 Subject: [PATCH 099/221] Update expressconsole.dm --- code/modules/cargo/expressconsole.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 20dc724707..a2fda55ca7 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -183,6 +183,7 @@ LZ = pick(empty_turfs) if (SO.pack.cost <= SSshuttle.points && LZ)//we need to call the cost check again because of the CHECK_TICK call SSshuttle.points -= SO.pack.cost + SSblackbox.record_feedback("nested tally", "cargo_imports", 1, list("[SO.pack.cost]", "[SO.pack.name]")) new /obj/effect/abstract/DPtarget(LZ, podType, SO) . = TRUE update_icon() @@ -196,6 +197,7 @@ CHECK_TICK if(empty_turfs && empty_turfs.len) SSshuttle.points -= SO.pack.cost * (0.72*MAX_EMAG_ROCKETS) + SSblackbox.record_feedback("nested tally", "cargo_imports", 1, list("[SO.pack.cost]", "[SO.pack.name]")) SO.generateRequisition(get_turf(src)) for(var/i in 1 to MAX_EMAG_ROCKETS) var/LZ = pick(empty_turfs) From 7eb93a1fa8dfbe8df87b419d6fce73e8487357f8 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 15 Feb 2020 15:36:08 -0700 Subject: [PATCH 100/221] Update stunbaton.dm --- code/game/objects/items/stunbaton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 2e5cc1c689..ab61feab9c 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -190,7 +190,7 @@ if(!disarming) if(knockdown) - L.Knockdown(100, override_stamdmg = 0) //knockdown + L.Knockdown(50, override_stamdmg = 0) //knockdown L.adjustStaminaLoss(stunpwr) else L.drop_all_held_items() //no knockdown/stamina damage, instead disarm. From 938d87cfbadc6d2f8d32817c81ad67cb9aaebaa7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 15 Feb 2020 17:28:04 -0700 Subject: [PATCH 101/221] Update stunbaton.dm --- code/game/objects/items/stunbaton.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index ab61feab9c..52f082fa5c 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -144,7 +144,8 @@ ..() /obj/item/melee/baton/alt_pre_attack(atom/A, mob/living/user, params) - return common_baton_melee(A, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. + . = common_baton_melee(A, user, TRUE) //return true (attackchain interrupt) if this also returns true. no harm-disarming. + user.changeNext_move(CLICK_CD_MELEE) //return TRUE to interrupt attack chain. /obj/item/melee/baton/proc/common_baton_melee(mob/M, mob/living/user, disarming = FALSE) @@ -194,6 +195,7 @@ L.adjustStaminaLoss(stunpwr) else L.drop_all_held_items() //no knockdown/stamina damage, instead disarm. + L.apply_effect(EFFECT_STUTTER, stamforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) From 18feba7fddcfc425fc8f89ae74e14764b5f10b58 Mon Sep 17 00:00:00 2001 From: Persi Date: Sun, 16 Feb 2020 00:14:15 -0500 Subject: [PATCH 102/221] Defusal kits are now emag only and don't require a drop pod console. --- code/modules/cargo/packs/science.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index 7a56e6d29b..e6671a02ea 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -113,8 +113,7 @@ desc = "Contains set of tools to defuse a nuke." cost = 7500 //Useful for traitors/nukies that fucked up dangerous = TRUE - contraband = TRUE - DropPodOnly = TRUE + hidden = TRUE contains = list(/obj/item/nuke_core_container/nt, /obj/item/screwdriver/nuke/nt, /obj/item/paper/guides/nt/nuke_instructions) From abf7d2423adb747821211a90182bf30b9715bd18 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 07:17:53 +0100 Subject: [PATCH 103/221] Update death.dm --- code/modules/mob/living/death.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 7cd79bb1ab..a33eebf12a 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -25,7 +25,7 @@ /mob/living/proc/spawn_gibs(with_bodyparts, atom/loc_override) var/location = loc_override ? loc_override.drop_location() : drop_location() - if((MOB_ROBOTIC) in (mob_biotypes)) + if(mob_biotypes & MOB_ROBOTIC) new /obj/effect/gibspawner/robot(location, src, get_static_viruses()) else new /obj/effect/gibspawner/generic(location, src, get_static_viruses()) From b60b0a95aaa8cb27144244a56487c2e50540a4f2 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sun, 16 Feb 2020 02:28:12 -0600 Subject: [PATCH 104/221] you ever just forget that if statements exist --- code/game/objects/items/storage/book.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index a0b1a25078..311657aba9 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -188,9 +188,8 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", SS.release_shades(user) qdel(SS) new /obj/item/nullrod/claymore(get_turf(A)) - user.visible_message("[user] has purified [A]!") - qdel(A) - new /obj/item/claymore/purified(get_turf(A)) + else + new /obj/item/claymore/purified(get_turf(A)) user.visible_message("[user] has purified [A]!") qdel(A) From aedd8b87f663a20d5b05f9389aca9c9e6a0f4ca4 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sun, 16 Feb 2020 02:33:14 -0600 Subject: [PATCH 105/221] maybe giving them an active gps is a bad idea --- _maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm index 08c756b15f..d01e4f8da1 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm @@ -156,7 +156,9 @@ "x" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder, -/obj/item/gps/mining, +/obj/item/gps/mining{ + tracking = 0 + }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) "z" = ( From 1d9982d00a970da21ff64608ea99ef7a44020b5d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 10:36:16 +0100 Subject: [PATCH 106/221] Virology support for synthetic blood and some blood subtypes removal. --- .../chemistry/reagents/other_reagents.dm | 33 +-------- .../reagents/chemistry/recipes/others.dm | 68 +++++++++++++++---- 2 files changed, 57 insertions(+), 44 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 6d33701a34..0e9c148446 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -93,8 +93,6 @@ taste_description = "something spicy" pH = 6.85 - - /datum/reagent/blood/on_merge(list/mix_data) if(data && mix_data) if(data["blood_DNA"] != mix_data["blood_DNA"]) @@ -131,16 +129,10 @@ /datum/reagent/blood/synthetics data = list("donor"=null,"viruses"=null,"blood_DNA"="REPLICATED", "bloodcolor" = BLOOD_COLOR_SYNTHETIC, "blood_type"="SY","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) name = "Synthetic Blood" + description = "A synthetically produced imitation of blood." taste_description = "oily" color = BLOOD_COLOR_SYNTHETIC // rgb: 11, 7, 48 -/datum/reagent/blood/lizard - data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_LIZARD, "blood_type"="L","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) - name = "Lizard Blood" - taste_description = "spicy" - color = BLOOD_COLOR_LIZARD // rgb: 11, 7, 48 - pH = 6.85 - /datum/reagent/blood/jellyblood data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_SLIME, "blood_type"="GEL","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) name = "Slime Jelly Blood" @@ -150,29 +142,6 @@ taste_mult = 1.3 pH = 4 -/datum/reagent/blood/xenomorph - data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_XENO, "blood_type"="X*","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) - name = "Xenomorph Blood" - taste_description = "acidic heresy" - color = BLOOD_COLOR_XENO // greenish yellow ooze - shot_glass_icon_state = "shotglassgreen" - pH = 2.5 - -/datum/reagent/blood/oil - data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_OIL, "blood_type"="HF","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) - name = "Hydraulic Blood" - taste_description = "burnt oil" - color = BLOOD_COLOR_OIL // dark, y'know, expected batman colors. - pH = 9.75 - -/datum/reagent/blood/insect - data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_BUG, "blood_type"="BUG","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) - name = "Insectoid Blood" - taste_description = "waxy" - color = BLOOD_COLOR_BUG // Bug colored, I guess. - pH = 7.25 - - /datum/reagent/blood/jellyblood/on_mob_life(mob/living/carbon/M) if(prob(10)) if(M.dna?.species?.exotic_bloodtype != "GEL") diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index b463b5758b..3fe22ac2e4 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -228,7 +228,6 @@ var/level_max = 2 /datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, multiplier) - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list if(B && B.data) var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] @@ -236,94 +235,131 @@ for(var/i in 1 to min(multiplier, 5)) D.Evolve(level_min, level_max) -/datum/chemical_reaction/mix_virus/mix_virus_2 +/datum/chemical_reaction/mix_virus/synth + id = "mixvirus_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_2 name = "Mix Virus 2" id = "mixvirus2" required_reagents = list(/datum/reagent/toxin/mutagen = 1) level_min = 2 level_max = 4 -/datum/chemical_reaction/mix_virus/mix_virus_3 +/datum/chemical_reaction/mix_virus/mix_virus_2/synth + id = "mixvirus2_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_3 name = "Mix Virus 3" id = "mixvirus3" required_reagents = list(/datum/reagent/toxin/plasma = 1) level_min = 4 level_max = 6 -/datum/chemical_reaction/mix_virus/mix_virus_4 +/datum/chemical_reaction/mix_virus/mix_virus_3/synth + id = "mixvirus3_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_4 name = "Mix Virus 4" id = "mixvirus4" required_reagents = list(/datum/reagent/uranium = 1) level_min = 5 level_max = 6 -/datum/chemical_reaction/mix_virus/mix_virus_5 +/datum/chemical_reaction/mix_virus/mix_virus_4/synth + id = "mixvirus4_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_5 name = "Mix Virus 5" id = "mixvirus5" required_reagents = list(/datum/reagent/toxin/mutagen/mutagenvirusfood = 1) level_min = 3 level_max = 3 -/datum/chemical_reaction/mix_virus/mix_virus_6 +/datum/chemical_reaction/mix_virus/mix_virus_5/synth + id = "mixvirus5_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_6 name = "Mix Virus 6" id = "mixvirus6" required_reagents = list(/datum/reagent/toxin/mutagen/mutagenvirusfood/sugar = 1) level_min = 4 level_max = 4 -/datum/chemical_reaction/mix_virus/mix_virus_7 +/datum/chemical_reaction/mix_virus/mix_virus_6/synth + id = "mixvirus6_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_7 name = "Mix Virus 7" id = "mixvirus7" required_reagents = list(/datum/reagent/toxin/plasma/plasmavirusfood/weak = 1) level_min = 5 level_max = 5 -/datum/chemical_reaction/mix_virus/mix_virus_8 +/datum/chemical_reaction/mix_virus/mix_virus_7/synth + id = "mixvirus7_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_8 name = "Mix Virus 8" id = "mixvirus8" required_reagents = list(/datum/reagent/toxin/plasma/plasmavirusfood = 1) level_min = 6 level_max = 6 -/datum/chemical_reaction/mix_virus/mix_virus_9 +/datum/chemical_reaction/mix_virus/mix_virus_8/synth + id = "mixvirus8_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_9 name = "Mix Virus 9" id = "mixvirus9" required_reagents = list(/datum/reagent/medicine/synaptizine/synaptizinevirusfood = 1) level_min = 1 level_max = 1 -/datum/chemical_reaction/mix_virus/mix_virus_10 +/datum/chemical_reaction/mix_virus/mix_virus_9/synth + id = "mixvirus9_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_10 name = "Mix Virus 10" id = "mixvirus10" required_reagents = list(/datum/reagent/uranium/uraniumvirusfood = 1) level_min = 6 level_max = 7 -/datum/chemical_reaction/mix_virus/mix_virus_11 +/datum/chemical_reaction/mix_virus/mix_virus_10/synth + id = "mixvirus10_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_11 name = "Mix Virus 11" id = "mixvirus11" required_reagents = list(/datum/reagent/uranium/uraniumvirusfood/unstable = 1) level_min = 7 level_max = 7 -/datum/chemical_reaction/mix_virus/mix_virus_12 +/datum/chemical_reaction/mix_virus/mix_virus_11/synth + id = "mixvirus11_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) +/datum/chemical_reaction/mix_virus/mix_virus_12 name = "Mix Virus 12" id = "mixvirus12" required_reagents = list(/datum/reagent/uranium/uraniumvirusfood/stable = 1) level_min = 8 level_max = 8 +/datum/chemical_reaction/mix_virus/mix_virus_12/synth + id = "mixvirus12_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) + /datum/chemical_reaction/mix_virus/rem_virus name = "Devolve Virus" id = "remvirus" @@ -338,6 +374,10 @@ for(var/i in 1 to min(multiplier, 5)) D.Devolve() +/datum/chemical_reaction/mix_virus/rem_virus/synth + id = "remvirus_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) + /datum/chemical_reaction/mix_virus/neuter_virus name = "Neuter Virus" id = "neutervirus" @@ -352,6 +392,10 @@ for(var/i in 1 to min(multiplier, 5)) D.Neuter() +/datum/chemical_reaction/mix_virus/neuter_virus/synth + id = "neutervirus_synth" + required_catalysts = list(/datum/reagent/blood/synthetics = 1) + ////////////////////////////////// foam and foam precursor /////////////////////////////////////////////////// From 5c2e244ee0708382924dffefbbc4a1842012e38e Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 16 Feb 2020 22:20:50 +1100 Subject: [PATCH 107/221] Ports /tg/ pr #44529, reverts #9092 --- code/game/mecha/combat/combat.dm | 10 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/combat/marauder.dm | 4 +- code/game/mecha/combat/neovgre.dm | 1 - code/game/mecha/combat/reticence.dm | 1 - code/game/mecha/equipment/tools/work_tools.dm | 13 +++ .../mecha/equipment/weapons/mecha_ammo.dm | 94 ++++++++++++++++++ code/game/mecha/equipment/weapons/weapons.dm | 75 +++++++++++--- code/game/mecha/mech_fabricator.dm | 1 + code/game/mecha/mecha.dm | 50 ++++++++++ code/game/mecha/mecha_defense.dm | 4 + code/game/objects/items/storage/backpack.dm | 25 +++++ .../projectiles/projectile/special/rocket.dm | 32 +++++- .../modules/research/designs/mecha_designs.dm | 72 +++++++++++++- code/modules/research/techweb/all_nodes.dm | 14 +-- .../uplink/uplink_items/uplink_ammo.dm | 14 +++ icons/mecha/mecha_ammo.dmi | Bin 0 -> 874 bytes icons/mecha/mecha_equipment.dmi | Bin 18489 -> 18986 bytes icons/obj/projectiles.dmi | Bin 126138 -> 126322 bytes tgstation.dme | 1 + 20 files changed, 378 insertions(+), 35 deletions(-) create mode 100644 code/game/mecha/equipment/weapons/mecha_ammo.dm create mode 100644 icons/mecha/mecha_ammo.dmi diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index ae57e5c108..8a4a2fdd9b 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -3,9 +3,9 @@ internal_damage_threshold = 50 armor = list("melee" = 30, "bullet" = 30, "laser" = 15, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) mouse_pointer = 'icons/mecha/mecha_mouse.dmi' - var/spawn_tracked = TRUE -/obj/mecha/combat/Initialize() - . = ..() - if(spawn_tracked) - trackers += new /obj/item/mecha_parts/mecha_tracking(src) \ No newline at end of file +/obj/mecha/combat/proc/max_ammo() //Max the ammo stored for Nuke Ops mechs, or anyone else that calls this + for(var/obj/item/I in equipment) + if(istype(I, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/)) + var/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gun = I + gun.projectiles_cache = gun.projectiles_cache_max \ No newline at end of file diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 3364bbb9a2..71258d1ccb 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -30,7 +30,6 @@ internals_req_access = list(ACCESS_SYNDICATE) wreckage = /obj/structure/mecha_wreckage/gygax/dark max_equip = 4 - spawn_tracked = FALSE /obj/mecha/combat/gygax/dark/loaded/Initialize() . = ..() @@ -42,6 +41,7 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay ME.attach(src) + max_ammo() /obj/mecha/combat/gygax/dark/add_cell(obj/item/stock_parts/cell/C=null) if(C) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index c796cb7c1f..5c60a97864 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -17,7 +17,6 @@ force = 45 max_equip = 4 bumpsmash = 1 - spawn_tracked = FALSE /obj/mecha/combat/marauder/GrantActions(mob/living/user, human_occupant = 0) ..() @@ -41,6 +40,7 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) ME.attach(src) + max_ammo() /obj/mecha/combat/marauder/seraph desc = "Heavy-duty, command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." @@ -68,6 +68,7 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) ME.attach(src) + max_ammo() /obj/mecha/combat/marauder/mauler desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model." @@ -90,5 +91,6 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) ME.attach(src) + max_ammo() diff --git a/code/game/mecha/combat/neovgre.dm b/code/game/mecha/combat/neovgre.dm index 8fc1dd97b2..c678912a21 100644 --- a/code/game/mecha/combat/neovgre.dm +++ b/code/game/mecha/combat/neovgre.dm @@ -15,7 +15,6 @@ internals_req_access = list() add_req_access = 0 wreckage = /obj/structure/mecha_wreckage/durand/neovgre - spawn_tracked = FALSE /obj/mecha/combat/neovgre/GrantActions(mob/living/user, human_occupant = 0) //No Eject action for you sonny jim, your life for Ratvar! internals_action.Grant(user, src) diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm index 62e891494d..7343a85483 100644 --- a/code/game/mecha/combat/reticence.dm +++ b/code/game/mecha/combat/reticence.dm @@ -19,7 +19,6 @@ stepsound = null turnsound = null opacity = 0 - spawn_tracked = FALSE /obj/mecha/combat/reticence/loaded/Initialize() . = ..() diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 33d5166481..759fcd996d 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -34,6 +34,19 @@ return if(!cargo_holder) return + if(ismecha(target)) + var/obj/mecha/M = target + var/have_ammo + for(var/obj/item/mecha_ammo/box in cargo_holder.cargo) + if(istype(box, /obj/item/mecha_ammo) && box.rounds) + have_ammo = TRUE + if(M.ammo_resupply(box, chassis.occupant, TRUE)) + return + if(have_ammo) + to_chat(chassis.occupant, "No further supplies can be provided to [M].") + else + to_chat(chassis.occupant, "No providable supplies found in cargo hold") + return if(isobj(target)) var/obj/O = target if(!O.anchored) diff --git a/code/game/mecha/equipment/weapons/mecha_ammo.dm b/code/game/mecha/equipment/weapons/mecha_ammo.dm new file mode 100644 index 0000000000..83a85ffcba --- /dev/null +++ b/code/game/mecha/equipment/weapons/mecha_ammo.dm @@ -0,0 +1,94 @@ +/obj/item/mecha_ammo + name = "generic ammo box" + desc = "A box of ammo for an unknown weapon." + w_class = WEIGHT_CLASS_BULKY + icon = 'icons/mecha/mecha_ammo.dmi' + icon_state = "empty" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + var/rounds = 0 + var/round_term = "round" + var/direct_load //For weapons where we re-load the weapon itself rather than adding to the ammo storage. + var/load_audio = "sound/weapons/gun_magazine_insert_empty_1.ogg" + var/ammo_type + +/obj/item/mecha_ammo/proc/update_name() + if(!rounds) + name = "empty ammo box" + desc = "An exosuit ammuniton box that has since been emptied. Please recycle." + icon_state = "empty" + +/obj/item/mecha_ammo/attack_self(mob/user) + ..() + if(rounds) + to_chat(user, "You cannot flatten the ammo box until it's empty!") + return + + to_chat(user, "You fold [src] flat.") + var/I = new /obj/item/stack/sheet/metal(user.loc) + qdel(src) + user.put_in_hands(I) + +/obj/item/mecha_ammo/examine(mob/user) + . = ..() + if(rounds) + . += "There [rounds > 1?"are":"is"] [rounds] [round_term][rounds > 1?"s":""] left." + +/obj/item/mecha_ammo/incendiary + name = "incendiary ammo" + desc = "A box of incendiary ammunition for use with exosuit weapons." + icon_state = "incendiary" + rounds = 24 + ammo_type = "incendiary" + +/obj/item/mecha_ammo/scattershot + name = "scattershot ammo" + desc = "A box of scaled-up buckshot, for use in exosuit shotguns." + icon_state = "scattershot" + rounds = 40 + ammo_type = "scattershot" + +/obj/item/mecha_ammo/lmg + name = "machine gun ammo" + desc = "A box of linked ammunition, designed for the Ultra AC 2 exosuit weapon." + icon_state = "lmg" + rounds = 300 + ammo_type = "lmg" + +/obj/item/mecha_ammo/missiles_br + name = "breaching missiles" + desc = "A box of large missiles, ready for loading into a BRM-6 exosuit missile rack." + icon_state = "missile_br" + rounds = 6 + round_term = "missile" + direct_load = TRUE + load_audio = "sound/weapons/bulletinsert.ogg" + ammo_type = "missiles_br" + +/obj/item/mecha_ammo/missiles_he + name = "anti-armor missiles" + desc = "A box of large missiles, ready for loading into an SRM-8 exosuit missile rack." + icon_state = "missile_he" + rounds = 8 + round_term = "missile" + direct_load = TRUE + load_audio = "sound/weapons/bulletinsert.ogg" + ammo_type = "missiles_he" + + +/obj/item/mecha_ammo/flashbang + name = "launchable flashbangs" + desc = "A box of smooth flashbangs, for use with a large exosuit launcher. Cannot be primed by hand." + icon_state = "flashbang" + rounds = 6 + round_term = "grenade" + ammo_type = "flashbang" + +/obj/item/mecha_ammo/clusterbang + name = "launchable flashbang clusters" + desc = "A box of clustered flashbangs, for use with a specialized exosuit cluster launcher. Cannot be primed by hand." + icon_state = "clusterbang" + rounds = 3 + round_term = "cluster" + direct_load = TRUE + ammo_type = "clusterbang" diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index f5eefb1391..3873e7ddd7 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -196,7 +196,11 @@ name = "general ballistic weapon" fire_sound = 'sound/weapons/gunshot.ogg' var/projectiles + var/projectiles_cache //ammo to be loaded in, if possible. + var/projectiles_cache_max var/projectile_energy_cost + var/disabledreload //For weapons with no cache (like the rockets) which are reloaded by hand + var/ammo_type /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/get_shot_amount() return min(projectiles, projectiles_per_shot) @@ -209,19 +213,32 @@ return 1 /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/get_equip_info() - return "[..()] \[[src.projectiles]\][(src.projectiles < initial(src.projectiles))?" - Rearm":null]" + return "[..()] \[[src.projectiles][projectiles_cache_max &&!projectile_energy_cost?"/[projectiles_cache]":""]\][!disabledreload &&(src.projectiles < initial(src.projectiles))?" - Rearm":null]" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/rearm() if(projectiles < initial(projectiles)) var/projectiles_to_add = initial(projectiles) - projectiles - while(chassis.get_charge() >= projectile_energy_cost && projectiles_to_add) - projectiles++ - projectiles_to_add-- - chassis.use_power(projectile_energy_cost) - send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) - mecha_log_message("Rearmed [src.name].") - return 1 + + if(projectile_energy_cost) + while(chassis.get_charge() >= projectile_energy_cost && projectiles_to_add) + projectiles++ + projectiles_to_add-- + chassis.use_power(projectile_energy_cost) + + else + if(!projectiles_cache) + return FALSE + if(projectiles_to_add <= projectiles_cache) + projectiles = projectiles + projectiles_to_add + projectiles_cache = projectiles_cache - projectiles_to_add + else + projectiles = projectiles + projectiles_cache + projectiles_cache = 0 + + send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) + log_message("Rearmed [src.name].", LOG_MECHA) + return TRUE /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/needs_rearm() @@ -249,8 +266,10 @@ equip_cooldown = 10 projectile = /obj/item/projectile/bullet/incendiary/fnx99 projectiles = 24 - projectile_energy_cost = 15 + projectiles_cache = 24 + projectiles_cache_max = 96 harmful = TRUE + ammo_type = "incendiary" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced name = "\improper S.H.H. \"Quietus\" Carbine" @@ -270,10 +289,12 @@ equip_cooldown = 20 projectile = /obj/item/projectile/bullet/scattershot projectiles = 40 - projectile_energy_cost = 25 + projectiles_cache = 40 + projectiles_cache_max = 160 projectiles_per_shot = 4 variance = 25 harmful = TRUE + ammo_type = "scattershot" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/seedscatter name = "\improper Melon Seed \"Scattershot\"" @@ -294,23 +315,42 @@ equip_cooldown = 10 projectile = /obj/item/projectile/bullet/lmg projectiles = 300 - projectile_energy_cost = 20 + projectiles_cache = 300 + projectiles_cache_max = 1200 projectiles_per_shot = 3 variance = 6 randomspread = 1 projectile_delay = 2 harmful = TRUE + ammo_type = "lmg" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack name = "\improper SRM-8 missile rack" - desc = "A weapon for combat exosuits. Shoots light explosive missiles." + desc = "A weapon for combat exosuits. Launches light explosive missiles." icon_state = "mecha_missilerack" projectile = /obj/item/projectile/bullet/a84mm_he fire_sound = 'sound/weapons/grenadelaunch.ogg' projectiles = 8 - projectile_energy_cost = 1000 + projectiles_cache = 0 + projectiles_cache_max = 0 + disabledreload = TRUE equip_cooldown = 60 harmful = TRUE + ammo_type = "missiles_he" + +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching + name = "\improper BRM-6 missile rack" + desc = "A weapon for combat exosuits. Launches low-explosive breaching missiles designed to explode only when striking a sturdy target." + icon_state = "mecha_missilerack_six" + projectile = /obj/item/projectile/bullet/a84mm_br + fire_sound = 'sound/weapons/grenadelaunch.ogg' + projectiles = 6 + projectiles_cache = 0 + projectiles_cache_max = 0 + disabledreload = TRUE + equip_cooldown = 60 + harmful = TRUE + ammo_type = "missiles_br" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher @@ -341,10 +381,12 @@ projectile = /obj/item/grenade/flashbang fire_sound = 'sound/weapons/grenadelaunch.ogg' projectiles = 6 + projectiles_cache = 6 + projectiles_cache_max = 24 missile_speed = 1.5 - projectile_energy_cost = 800 equip_cooldown = 60 var/det_time = 20 + ammo_type = "flashbang" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/proj_init(var/obj/item/grenade/flashbang/F) var/turf/T = get_turf(src) @@ -356,9 +398,12 @@ name = "\improper SOB-3 grenade launcher" desc = "A weapon for combat exosuits. Launches primed clusterbangs. You monster." projectiles = 3 + projectiles_cache = 0 + projectiles_cache_max = 0 + disabledreload = TRUE projectile = /obj/item/grenade/clusterbuster - projectile_energy_cost = 1600 //getting off cheap seeing as this is 3 times the flashbangs held in the grenade launcher. equip_cooldown = 90 + ammo_type = "clusterbang" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar name = "banana mortar" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index f2d907283a..442e4f5464 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -29,6 +29,7 @@ "H.O.N.K", "Phazon", "Exosuit Equipment", + "Exosuit Ammunition", "Cyborg Upgrade Modules", "Misc" ) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 6891719f97..669bc89875 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1070,3 +1070,53 @@ if(occupant_sight_flags) if(user == occupant) user.sight |= occupant_sight_flags + +/////////////////////// +////// Ammo stuff ///// +/////////////////////// + +/obj/mecha/proc/ammo_resupply(var/obj/item/mecha_ammo/A, mob/user,var/fail_chat_override = FALSE) + if(!A.rounds) + if(!fail_chat_override) + to_chat(user, "This box of ammo is empty!") + return FALSE + var/ammo_needed + var/found_gun + for(var/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gun in equipment) + ammo_needed = 0 + + if(istype(gun, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic) && gun.ammo_type == A.ammo_type) + found_gun = TRUE + if(A.direct_load) + ammo_needed = initial(gun.projectiles) - gun.projectiles + else + ammo_needed = gun.projectiles_cache_max - gun.projectiles_cache + + if(ammo_needed) + if(ammo_needed < A.rounds) + if(A.direct_load) + gun.projectiles = gun.projectiles + ammo_needed + else + gun.projectiles_cache = gun.projectiles_cache + ammo_needed + playsound(get_turf(user),A.load_audio,50,1) + to_chat(user, "You add [ammo_needed] [A.round_term][ammo_needed > 1?"s":""] to the [gun.name]") + A.rounds = A.rounds - ammo_needed + A.update_name() + return TRUE + + else + if(A.direct_load) + gun.projectiles = gun.projectiles + A.rounds + else + gun.projectiles_cache = gun.projectiles_cache + A.rounds + playsound(get_turf(user),A.load_audio,50,1) + to_chat(user, "You add [A.rounds] [A.round_term][A.rounds > 1?"s":""] to the [gun.name]") + A.rounds = 0 + A.update_name() + return TRUE + if(!fail_chat_override) + if(found_gun) + to_chat(user, "You can't fit any more ammo of this type!") + else + to_chat(user, "None of the equipment on this exosuit can use this ammo!") + return FALSE diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 3a448f4f92..08843c9202 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -172,6 +172,10 @@ to_chat(user, "[src]-[W] interface initialization failed.") return + if(istype(W, /obj/item/mecha_ammo)) + ammo_resupply(W, user) + return + if(istype(W, /obj/item/mecha_parts/mecha_equipment)) var/obj/item/mecha_parts/mecha_equipment/E = W spawn() diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 63c8fd9faf..cee8e0f3ee 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -528,6 +528,31 @@ for(var/i in 1 to 9) new /obj/item/ammo_box/magazine/smgm45(src) +/obj/item/storage/backpack/duffelbag/syndie/ammo/dark_gygax + desc = "A large duffel bag, packed to the brim with various exosuit ammo." + +/obj/item/storage/backpack/duffelbag/syndie/ammo/dark_gygax/PopulateContents() + new /obj/item/mecha_ammo/incendiary(src) + new /obj/item/mecha_ammo/incendiary(src) + new /obj/item/mecha_ammo/incendiary(src) + new /obj/item/mecha_ammo/flashbang(src) + new /obj/item/mecha_ammo/flashbang(src) + new /obj/item/mecha_ammo/flashbang(src) + +/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler + desc = "A large duffel bag, packed to the brim with various exosuit ammo." + +/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler/PopulateContents() + new /obj/item/mecha_ammo/lmg(src) + new /obj/item/mecha_ammo/lmg(src) + new /obj/item/mecha_ammo/lmg(src) + new /obj/item/mecha_ammo/scattershot(src) + new /obj/item/mecha_ammo/scattershot(src) + new /obj/item/mecha_ammo/scattershot(src) + new /obj/item/mecha_ammo/missiles_he(src) + new /obj/item/mecha_ammo/missiles_he(src) + new /obj/item/mecha_ammo/missiles_he(src) + /obj/item/storage/backpack/duffelbag/syndie/c20rbundle desc = "A large duffel bag containing a C-20r, some magazines, and a cheap looking suppressor." diff --git a/code/modules/projectiles/projectile/special/rocket.dm b/code/modules/projectiles/projectile/special/rocket.dm index 0cee20dd53..df417ad734 100644 --- a/code/modules/projectiles/projectile/special/rocket.dm +++ b/code/modules/projectiles/projectile/special/rocket.dm @@ -43,4 +43,34 @@ explosion(target, 0, 1, 2, 4) else explosion(target, 0, 0, 2, 4) - return BULLET_ACT_HIT \ No newline at end of file + return BULLET_ACT_HIT + +/obj/item/projectile/bullet/a84mm_br + name ="\improper HE missile" + desc = "Boom." + icon_state = "missile" + damage = 30 + ricochets_max = 0 //it's a MISSILE + var/sturdy = list( + /turf/closed, + /obj/mecha, + /obj/machinery/door/, + /obj/machinery/door/poddoor/shutters + ) + +/obj/item/broken_missile + name = "\improper broken missile" + desc = "A missile that did not detonate. The tail has snapped and it is in no way fit to be used again." + icon = 'icons/obj/projectiles.dmi' + icon_state = "missile_broken" + w_class = WEIGHT_CLASS_TINY + + +/obj/item/projectile/bullet/a84mm_br/on_hit(atom/target, blocked=0) + ..() + for(var/i in sturdy) + if(istype(target, i)) + explosion(target, 0, 1, 1, 2) + return BULLET_ACT_HIT + //if(istype(target, /turf/closed) || ismecha(target)) + new /obj/item/broken_missile(get_turf(src), 1) \ No newline at end of file diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 7ccc41c232..32272dc2bc 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -157,6 +157,17 @@ construction_time = 70 category = list("Exosuit Equipment") +/datum/design/mech_scattershot_ammo + name = "Scattershot Ammunition" + desc = "Ammunition for the LBX AC 10 and Melon Seed exosuit weapon." + id = "mech_scattershot_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/scattershot + materials = list(MAT_METAL=6000) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/mech_carbine name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" desc = "Allows for the construction of FNX-99 \"Hades\" Carbine." @@ -167,6 +178,17 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_carbine_ammo + name = "FNX-99 Carbine Ammunition" + desc = "Ammunition for the FNX-99 \"Hades\" Carbine." + id = "mech_carbine_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/incendiary + materials = list(MAT_METAL=6000) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/mech_ion name = "Exosuit Weapon (MKIV Ion Heavy Cannon)" desc = "Allows for the construction of MKIV Ion Heavy Cannon." @@ -217,16 +239,38 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_grenade_launcher_ammo + name = "SGL-6 Grenade Launcher Ammunition" + desc = "Ammunition for the SGL-6 Grenade Launcher." + id = "mech_grenade_launcher_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/flashbang + materials = list(MAT_METAL=4000,MAT_GOLD=500,MAT_SILVER=500) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/mech_missile_rack - name = "Exosuit Weapon (SRM-8 Missile Rack)" - desc = "Allows for the construction of an SRM-8 Missile Rack." + name = "Exosuit Weapon (BRM-6 Missile Rack)" + desc = "Allows for the construction of an BRM-6 Breaching Missile Rack." id = "mech_missile_rack" build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000) construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_missile_rack_ammo + name = "SRM-8 Missile Rack Ammunition" + desc = "Ammunition for the SRM-8 Missile Rack." + id = "mech_missile_rack_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/missiles_br + materials = list(MAT_METAL=8000,MAT_GOLD=500,MAT_SILVER=500) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/clusterbang_launcher name = "Exosuit Module (SOB-3 Clusterbang Launcher)" desc = "A weapon that violates the Geneva Convention at 3 rounds per minute" @@ -237,6 +281,17 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/clusterbang_launcher_ammo + name = "SOB-3 Clusterbang Launcher Ammunition" + desc = "Ammunition for the SOB-3 Clusterbang Launcher" + id = "clusterbang_launcher_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/clusterbang + materials = list(MAT_METAL=6000,MAT_GOLD=1500,MAT_URANIUM=1500) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/mech_wormhole_gen name = "Exosuit Module (Localized Wormhole Generator)" desc = "An exosuit module that allows generating of small quasi-stable wormholes." @@ -367,6 +422,17 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_lmg_ammo + name = "Ultra AC 2 Ammunition" + desc = "Ammunition for the Ultra AC 2 LMG" + id = "mech_lmg_ammo" + build_type = PROTOLATHE | MECHFAB + build_path = /obj/item/mecha_ammo/lmg + materials = list(MAT_METAL=4000) + construction_time = 20 + category = list("Exosuit Ammunition", "Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/mech_sleeper name = "Exosuit Medical Equipment (Mounted Sleeper)" desc = "Equipment for medical exosuits. A mounted sleeper that stabilizes patients and can inject reagents in the exosuit's reserves." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 75b71611d5..66d51fb168 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -851,7 +851,7 @@ display_name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")" description = "An advanced piece of mech weaponry" prereq_ids = list("ballistic_weapons") - design_ids = list("mech_scattershot") + design_ids = list("mech_scattershot", "mech_scattershot_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -869,7 +869,7 @@ display_name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" description = "An advanced piece of mech weaponry" prereq_ids = list("ballistic_weapons") - design_ids = list("mech_carbine") + design_ids = list("mech_carbine", "mech_carbine_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -914,16 +914,16 @@ display_name = "Exosuit Weapon (SGL-6 Grenade Launcher)" description = "An advanced piece of mech weaponry" prereq_ids = list("explosive_weapons") - design_ids = list("mech_grenade_launcher") + design_ids = list("mech_grenade_launcher", "mech_grenade_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 /datum/techweb_node/mech_missile_rack id = "mech_missile_rack" - display_name = "Exosuit Weapon (SRM-8 Missile Rack)" + display_name = "Exosuit Weapon (BRM-6 Missile Rack)" description = "An advanced piece of mech weaponry" prereq_ids = list("explosive_weapons") - design_ids = list("mech_missile_rack") + design_ids = list("mech_missile_rack", "mech_missile_rack_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -932,7 +932,7 @@ display_name = "Exosuit Module (SOB-3 Clusterbang Launcher)" description = "An advanced piece of mech weaponry" prereq_ids = list("explosive_weapons") - design_ids = list("clusterbang_launcher") + design_ids = list("clusterbang_launcher", "clusterbang_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -968,7 +968,7 @@ display_name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" description = "An advanced piece of mech weaponry" prereq_ids = list("ballistic_weapons") - design_ids = list("mech_lmg") + design_ids = list("mech_lmg", "mech_lmg_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/uplink/uplink_items/uplink_ammo.dm b/code/modules/uplink/uplink_items/uplink_ammo.dm index 0db1bc96f0..911aa1a32e 100644 --- a/code/modules/uplink/uplink_items/uplink_ammo.dm +++ b/code/modules/uplink/uplink_items/uplink_ammo.dm @@ -253,3 +253,17 @@ item = /obj/item/ammo_box/a762 cost = 1 include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/dark_gygax/bag + name = "Dark Gygax Ammo Bag" + desc = "A duffel bag containing ammo for three full reloads of the incendiary carbine and flash bang launcher that are equipped on a standard Dark Gygax exosuit." + item = /obj/item/storage/backpack/duffelbag/syndie/ammo/dark_gygax + cost = 4 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/mauler/bag + name = "Mauler Ammo Bag" + desc = "A duffel bag containing ammo for three full reloads of the LMG, scattershot carbine, and SRM-8 missile laucher that are equipped on a standard Mauler exosuit." + item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mauler + cost = 6 + include_modes = list(/datum/game_mode/nuclear) diff --git a/icons/mecha/mecha_ammo.dmi b/icons/mecha/mecha_ammo.dmi new file mode 100644 index 0000000000000000000000000000000000000000..63bc38cfa71c706cde5466b2058661ff7ec54582 GIT binary patch literal 874 zcmV-w1C{)VP)*4*viE*WX~EprFyCb^rhWL58&dnKM5>KYsuK|7rmL*Z{!5 z!0+#T!{(2uQG((C0004WQchCV=-0C=2@kj)Ch zFc5^#$y0>(F8*D;NK5I#zJjF5wpmD0$*ziTZ?NFec$*JC24-q?Zo7U^&83$QNQ6sN zCw1IxrFf!cm*KFN!U4{XS0L65IaUyE{Hmm|m?-m3iYe&;YyMh3%tZ&IfoM^ua$P_o z^l%;1->QS6N=7s1`EKE&J9$lR)UiCv_&ep+Uv911q4~W32H>}GF*AKFKL7v%C`m*? zRA_RRZ8DQJdtwO;Ii3E5CPByLD^^Dl zr2NAOV!kB|zyMSNdQa2t3vK;TvEP4V6|RVP`0kb6Ve~(|3ZKsp1e8zTRpy7}oFL{~ zg7ZoK`FutM>_hH6&xlY5z?IS30%EPe$Cc6A0%EP&05IMXQa1=7_;cz;0&ugG0W9OS zk^#}r0sJ~(N<{O^64Cq!;PWk^Y_d-6W}B>2yHk@_9u@nisr;yzs9!9!%r6$22PkQ& zhZ5}bV+}7C_{aBfgdZ+od=jwP_f2B`=?EXL=;`<04~B+@hK624z4wE7?D+Izb}a83 z_b2&ZUh;VQo*%5%{E(az==kgPiV}!#f^S&g=iV>@0Jt)@n+=Gynu2di-$XyFj75Y` zC;-OWgwzcPaOv>Q6lU&ln6EX`JmGz zZ!-9;P3}HT<%KroezwpuzgTGF_rdsmFn%8l4Gj(bGxdJn$79F07qeqI{dg5SR&~BI z{=M9DUA}S`v=UJM5@0X^`;bowb%0bEJKij>;S&Jh$~ZgLstw@AFG}4Y0Ema1*a`^w z0>F5}Mu2Ov@lD`M1O;j?5o$7gN4d$NKy6JX)5x`0o~AUv79cLP?EGIWwAvC$kAlkc z|2hD)`TSoA*na+B1?)cm*AVud|JMn9_k-8gFAwBASM0wn^Z)<=07*qoM6N<$f=OJV AtpET3 literal 0 HcmV?d00001 diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 02c7984831c38f3c96e855e88c4318e1fa303e7f..5e277af7cca24ff5dd27461498a83fda915123ff 100644 GIT binary patch literal 18986 zcma&OWl$W^);2o02iM?);I1K9a0vu=cM0x3NFYE6?rydEcsA zx9Z;delXJ0y}S3?YcF}$vj|sGl*T|MK?Q+87_u@FDj*OH@Da3uj0n7*d}>qz4w!hW zX}L<6yO=s#JGxps*n>cx8Hw=<_Fe2)-{uDym=~nfWfv_}0~rY%zgblk4dT7JonRdt zwir#8V!2T}d_DAW$P&sb^j>X0ePdI*o@luv(OD){o}D#p@-E(Iwm7+&*}I@(yg_^@ zMw!QEQ|WGEYhTn!nIM$EM5=sfE3+6kE_Uh3X(!Bp1(pN9p@} zj1Q4fJQuO8GcBfnjV8QT<-+&XU zi2U}wZ6R|Y+SrD=WN`JX>#!W`FzS!1ORytn<{?Hgs=dv4qO`H$DPi2ECCq1L*84RCY zw}pd|e4gXRiAatROT0*1&jvm0EW5QIGX0~R(hoQbbxKc-^LZcjp%}u`dwkJHnKB>{ zB}i7{lbUD7X{L{!n)yQq1P&cJFNc!xJ0Ca9d0g4A-IQc*dED~PP=+HN>(kPbmfy$q z8X9L7=H=G5sX8|HO-s+ecD2%)ZMHB}I@Mx6b~)lB@@JjJ~1y)(M)8GAmdvNZH}6Z1>$TIs(8Dikai-Bh^p%_=$b_I&kbNMJ`B5a2#O14l1MU!%95< zu!WO5X;-+uv==E2gI`3R7@n6o28Jv25K&3V!Z9r#5RF^2dq;nYE0k;F{JVdfn7o3p|6ao?mKv{`g$k)_-Lw!r+|K1-1R+y}08ew)jj**cOd5sN^XO*&?ame>PYttoY>Y$P!6lZzN$lLsL%-l{mlq2~i{= z+ul}hWCp)e-X>%D)H@mSj#}`Y!4cv0@)p+C4p_PqR|{jrTEeM;nS+C)rlwrG_Ll*H zmdZ;Q;tE>FLKR9KFDxOO!OqL$Io*d3+N{SjCAg|ZiiM4hDZtRMM(jjKs_OVi8x|4$ z`7l}1UvFS)lMJum6UYNyGp@AcqdS-GvPdwZBMd13$*~9( (IAfF`yLDn;nVOh{ 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 delta 11860 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 diff --git a/tgstation.dme b/tgstation.dme index 28f469ac25..769d836db8 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -783,6 +783,7 @@ #include "code\game\mecha\equipment\tools\mining_tools.dm" #include "code\game\mecha\equipment\tools\other_tools.dm" #include "code\game\mecha\equipment\tools\work_tools.dm" +#include "code\game\mecha\equipment\weapons\mecha_ammo.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" #include "code\game\mecha\medical\medical.dm" #include "code\game\mecha\medical\odysseus.dm" From 98d33544d811939c3135e76d6123c8eaca706bac Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 16 Feb 2020 22:39:47 +1100 Subject: [PATCH 108/221] I forgot the melon shot --- code/game/mecha/equipment/weapons/weapons.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 3873e7ddd7..3de9b78cd2 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -303,10 +303,12 @@ equip_cooldown = 20 projectile = /obj/item/projectile/bullet/seed projectiles = 20 - projectile_energy_cost = 25 + projectiles_cache = 20 + projectiles_cache_max = 160 projectiles_per_shot = 10 variance = 25 harmful = TRUE + ammo_type = "scattershot" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg name = "\improper Ultra AC 2" From 14e41e8d68af6f93fe8c8bf3a2c63bb5305167c3 Mon Sep 17 00:00:00 2001 From: CameronWoof Date: Sun, 16 Feb 2020 03:52:07 -0800 Subject: [PATCH 109/221] adds diethylamine and saltpetre to the biogenerator --- code/modules/hydroponics/hydroponics.dm | 2 +- .../reagents/reagent_containers/bottle.dm | 5 +++++ .../research/designs/biogenerator_designs.dm | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 1cd63db6da..d37c5af6c2 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -664,7 +664,7 @@ adjustHealth(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 1)) adjustNutri(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 2)) if(myseed) - myseed.adjust_yield(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 0.02)) + myseed.adjust_yield(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 0.034)) adjustPests(-rand(1,2)) // Nutriment Compost, effectively diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index c05f4f3e78..e27ff37c5b 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -112,6 +112,11 @@ desc = "A small bottle of diethylamine." list_reagents = list(/datum/reagent/diethylamine = 30) +/obj/item/reagent_containers/glass/bottle/saltpetre + name = "saltpetre bottle" + desc = "A small bottle of saltpetre." + list_reagents = list(/datum/reagent/saltpetre = 30) + /obj/item/reagent_containers/glass/bottle/facid name = "Fluorosulfuric Acid Bottle" desc = "A small bottle. Contains a small amount of fluorosulfuric acid." diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index dd55697bee..5fff7dc3c4 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -107,6 +107,22 @@ build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh category = list("initial","Botany Chemicals") +/datum/design/diethylamine + name = "Diethylamine" + id = "diethylamine_biogen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 75) + build_path = /obj/item/reagent_containers/glass/bottle/diethylamine + category = list("initial","Botany Chemicals") + +/datum/design/saltpetre + name = "Saltpetre" + id = "saltpetre_biogen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 125) + build_path = /obj/item/reagent_containers/glass/bottle/saltpetre + category = list("initial","Botany Chemicals") + /datum/design/weed_killer name = "Weed Killer" id = "weed_killer" From c79ecf4db73762b0f67f2121cfbb8586d013b0b4 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 16 Feb 2020 22:56:10 +1100 Subject: [PATCH 110/221] So no mech logging, huh? --- code/game/gamemodes/clown_ops/clown_weapons.dm | 1 - code/game/mecha/equipment/weapons/weapons.dm | 1 - 2 files changed, 2 deletions(-) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index b054ff89af..674afad88e 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -279,7 +279,6 @@ internals_req_access = list(ACCESS_SYNDICATE) wreckage = /obj/structure/mecha_wreckage/honker/dark max_equip = 3 - spawn_tracked = FALSE /obj/mecha/combat/honker/dark/GrantActions(mob/living/user, human_occupant = 0) ..() diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 3de9b78cd2..978825c546 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -237,7 +237,6 @@ projectiles_cache = 0 send_byjax(chassis.occupant,"exosuit.browser","[REF(src)]",src.get_equip_info()) - log_message("Rearmed [src.name].", LOG_MECHA) return TRUE From 206e546254ed4705d768c82049f7b0812c9bf5b4 Mon Sep 17 00:00:00 2001 From: CameronWoof Date: Sun, 16 Feb 2020 04:15:50 -0800 Subject: [PATCH 111/221] reordering these designs --- .../research/designs/biogenerator_designs.dm | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index 5fff7dc3c4..7f0203ecdd 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -107,22 +107,6 @@ build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh category = list("initial","Botany Chemicals") -/datum/design/diethylamine - name = "Diethylamine" - id = "diethylamine_biogen" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 75) - build_path = /obj/item/reagent_containers/glass/bottle/diethylamine - category = list("initial","Botany Chemicals") - -/datum/design/saltpetre - name = "Saltpetre" - id = "saltpetre_biogen" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 125) - build_path = /obj/item/reagent_containers/glass/bottle/saltpetre - category = list("initial","Botany Chemicals") - /datum/design/weed_killer name = "Weed Killer" id = "weed_killer" @@ -139,6 +123,22 @@ build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller category = list("initial","Botany Chemicals") +/datum/design/diethylamine + name = "Diethylamine" + id = "diethylamine_biogen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 75) + build_path = /obj/item/reagent_containers/glass/bottle/diethylamine + category = list("initial","Botany Chemicals") + +/datum/design/saltpetre + name = "Saltpetre" + id = "saltpetre_biogen" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 125) + build_path = /obj/item/reagent_containers/glass/bottle/saltpetre + category = list("initial","Botany Chemicals") + /datum/design/botany_bottle name = "Empty Bottle" id = "botany_bottle" From 23ae9996d29cba585bca42f6a80693ccd8005616 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 15:24:15 +0100 Subject: [PATCH 112/221] Something more about runtime errors. --- code/game/objects/items/implants/implant_hijack.dm | 10 +++++----- code/modules/antagonists/clockcult/clockcult.dm | 11 +++++++---- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/carbon/inventory.dm | 2 +- code/modules/mob/living/simple_animal/bot/bot.dm | 9 ++++++--- code/modules/mob/living/simple_animal/bot/mulebot.dm | 4 ++-- .../xenobiology/crossbreeding/_status_effects.dm | 4 ++-- 8 files changed, 25 insertions(+), 19 deletions(-) diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm index 8a08232859..64da439bdc 100644 --- a/code/game/objects/items/implants/implant_hijack.dm +++ b/code/game/objects/items/implants/implant_hijack.dm @@ -37,18 +37,18 @@ eye_color = H.eye_color return TRUE -/obj/item/implant/hijack/removed(mob/target, silent = FALSE, special = 0) +/obj/item/implant/hijack/removed(mob/living/source, silent = FALSE, special = 0) if(..()) REMOVE_TRAIT(target, TRAIT_HIJACKER, "implant") - for (var/area/area in imp_in.siliconaccessareas) - imp_in.toggleSiliconAccessArea(area) + for (var/area/area in source.siliconaccessareas) + source.toggleSiliconAccessArea(area) var/obj/machinery/power/apc/apc = area.get_apc() if (apc) apc.hijacker = null apc.set_hijacked_lighting() apc.update_icon() - if (ishuman(target)) - var/mob/living/carbon/human/H = target + if (ishuman(source)) + var/mob/living/carbon/human/H = source H.eye_color = eye_color return TRUE diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index d68e9b594d..1869414ab6 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -120,7 +120,7 @@ hierophant_network.Grant(current) current.throw_alert("clockinfo", /obj/screen/alert/clockwork/infodump) var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar - if(G.active && ishuman(current)) + if(G && G.active && ishuman(current)) current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER)) /datum/antagonist/clockcult/remove_innate_effects(mob/living/mob_override) @@ -174,9 +174,12 @@ log_admin("[key_name(admin)] has made [new_owner.current] into a servant of Ratvar.") /datum/antagonist/clockcult/admin_remove(mob/user) - remove_servant_of_ratvar(owner.current, TRUE) - message_admins("[key_name_admin(user)] has removed clockwork servant status from [owner.current].") - log_admin("[key_name(user)] has removed clockwork servant status from [owner.current].") + var/mob/target = owner.current + if(!target) + return + remove_servant_of_ratvar(target, TRUE) + message_admins("[key_name_admin(user)] has removed clockwork servant status from [target].") + log_admin("[key_name(user)] has removed clockwork servant status from [target].") /datum/antagonist/clockcult/get_admin_commands() . = ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ef3d4cbb98..e2317354df 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -834,7 +834,7 @@ ..() /mob/living/carbon/human/vomit(lost_nutrition = 10, blood = 0, stun = 1, distance = 0, message = 1, toxic = 0) - if(blood && (NOBLOOD in dna.species.species_traits)) + if(blood && dna?.species && (NOBLOOD in dna.species.species_traits)) if(message) visible_message("[src] dry heaves!", \ "You try to throw up, but there's nothing in your stomach!") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index accaab3ac1..57b8f59780 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -20,7 +20,7 @@ /mob/living/carbon/human/proc/checkarmor(obj/item/bodypart/def_zone, d_type) - if(!d_type) + if(!d_type || !def_zone) return 0 var/protection = 0 var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index bbae050bba..24acccdd2e 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -72,7 +72,7 @@ put_in_hands(I) update_inv_hands() if(SLOT_IN_BACKPACK) - if(!SEND_SIGNAL(back, COMSIG_TRY_STORAGE_INSERT, I, src, TRUE)) + if(!back || !SEND_SIGNAL(back, COMSIG_TRY_STORAGE_INSERT, I, src, TRUE)) not_handled = TRUE else not_handled = TRUE diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 7da0ad13da..8515aa4534 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -194,10 +194,12 @@ if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again. locked = FALSE emagged = 1 - to_chat(user, "You bypass [src]'s controls.") + if(user) + to_chat(user, "You bypass [src]'s controls.") return TRUE if(!open) - to_chat(user, "You need to open maintenance panel first!") + if(user) + to_chat(user, "You need to open maintenance panel first!") return emagged = 2 remote_disabled = 1 //Manually emagging the bot locks out the AI built in panel. @@ -205,7 +207,8 @@ bot_reset() turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP. to_chat(src, "(#$*#$^^( OVERRIDE DETECTED") - log_combat(user, src, "emagged") + if(user) + log_combat(user, src, "emagged") return TRUE /mob/living/simple_animal/bot/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index b23f3f2baa..bc8a5e07d5 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -123,7 +123,8 @@ emagged = TRUE if(!open) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!") + if(user) + to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!") flick("mulebot-emagged", src) playsound(src, "sparks", 100, FALSE) @@ -766,4 +767,3 @@ /obj/machinery/bot_core/mulebot req_access = list(ACCESS_CARGO) - \ No newline at end of file diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 0838e70bfd..9efbe58a29 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -890,8 +890,8 @@ datum/status_effect/stabilized/blue/on_remove() healing_types += TOX if(owner.getCloneLoss() > 0) healing_types += CLONE - - owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) + if(length(healing_types)) + owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) owner.nutrition += 3 M.adjustCloneLoss(heal_amount * 1.2) //This way, two people can't just convert each other's damage away. else From eaa45d4b35f1507fd80524de45163ac0f39454e7 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 15:48:38 +0100 Subject: [PATCH 113/221] Update implant_hijack.dm --- code/game/objects/items/implants/implant_hijack.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/implants/implant_hijack.dm b/code/game/objects/items/implants/implant_hijack.dm index 64da439bdc..5dd610059c 100644 --- a/code/game/objects/items/implants/implant_hijack.dm +++ b/code/game/objects/items/implants/implant_hijack.dm @@ -39,7 +39,7 @@ /obj/item/implant/hijack/removed(mob/living/source, silent = FALSE, special = 0) if(..()) - REMOVE_TRAIT(target, TRAIT_HIJACKER, "implant") + REMOVE_TRAIT(source, TRAIT_HIJACKER, "implant") for (var/area/area in source.siliconaccessareas) source.toggleSiliconAccessArea(area) var/obj/machinery/power/apc/apc = area.get_apc() @@ -118,4 +118,4 @@ imp_in.light_range = 0 imp_in.light_color = COLOR_YELLOW imp_in.update_light() - return TRUE \ No newline at end of file + return TRUE From 3703110dda881e224c188f72b38dff7f256178ea Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:10:20 +0100 Subject: [PATCH 114/221] Makes the mob holder examine less dumb. --- code/datums/elements/mob_holder.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index e33c430198..50cd93ff29 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -114,16 +114,14 @@ w_class = WEIGHT_CLASS_NORMAL if(MOB_SIZE_LARGE) w_class = WEIGHT_CLASS_HUGE - RegisterSignal(src, COMSIG_CLICK_SHIFT, .proc/examine_held_mob) /obj/item/clothing/head/mob_holder/Destroy() if(held_mob) release() return ..() -/obj/item/clothing/head/mob_holder/proc/examine_held_mob(datum/source, mob/user) - held_mob.ShiftClick(user) - return COMPONENT_DENY_EXAMINATE +/obj/item/clothing/head/mob_holder/examine(mob/user) + return held_mob?.examine(user) || ..() /obj/item/clothing/head/mob_holder/Exited(atom/movable/AM, atom/newloc) . = ..() From 1a0fba8a2ad708ad1fe688f28ac5a6082d3fe571 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 18:37:51 +0100 Subject: [PATCH 115/221] Something about consistency and magnetic rifles. --- code/modules/power/cell.dm | 6 ------ .../projectiles/guns/ballistic/magweapon.dm | 2 -- code/modules/projectiles/guns/energy/laser.dm | 1 + icons/obj/guns/energy.dmi | Bin 41420 -> 41781 bytes .../projectiles/guns/energy/energy_gun.dm | 4 ---- .../modules/projectiles/guns/energy/laser.dm | 11 ----------- .../mob/inhands/OVERRIDE_guns_lefthand.dmi | Bin 59237 -> 0 bytes .../mob/inhands/OVERRIDE_guns_righthand.dmi | Bin 62021 -> 0 bytes modular_citadel/icons/obj/guns/energy.dmi | Bin 1118 -> 0 bytes tgstation.dme | 1 - 10 files changed, 1 insertion(+), 24 deletions(-) delete mode 100644 modular_citadel/code/modules/projectiles/guns/energy/laser.dm delete mode 100644 modular_citadel/icons/mob/inhands/OVERRIDE_guns_lefthand.dmi delete mode 100644 modular_citadel/icons/mob/inhands/OVERRIDE_guns_righthand.dmi delete mode 100644 modular_citadel/icons/obj/guns/energy.dmi diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 120303d4d7..d8d473a3e2 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -357,16 +357,10 @@ maxcharge = 12000 chargerate = 600 -/obj/item/stock_parts/cell/magnetic/empty - start_charged = FALSE - /obj/item/stock_parts/cell/magnetic/pistol name = "magpistol power supply" maxcharge = 6000 -/obj/item/stock_parts/cell/magnetic/pistol/empty - start_charged = FALSE - /obj/item/stock_parts/cell/toymagburst name = "toy mag burst rifle power supply" maxcharge = 4000 diff --git a/code/modules/projectiles/guns/ballistic/magweapon.dm b/code/modules/projectiles/guns/ballistic/magweapon.dm index f366063a74..4e37017b79 100644 --- a/code/modules/projectiles/guns/ballistic/magweapon.dm +++ b/code/modules/projectiles/guns/ballistic/magweapon.dm @@ -61,7 +61,6 @@ /obj/item/gun/ballistic/automatic/magrifle/nopin pin = null spawnwithmagazine = FALSE - cell_type = /obj/item/stock_parts/cell/magnetic/empty /obj/item/gun/ballistic/automatic/magrifle/hyperburst name = "\improper Hyper-Burst Rifle" @@ -100,4 +99,3 @@ /obj/item/gun/ballistic/automatic/magrifle/pistol/nopin pin = null spawnwithmagazine = FALSE - cell_type = /obj/item/stock_parts/cell/magnetic/pistol/empty diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index f45b5a29ba..4b29b59549 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -11,6 +11,7 @@ /obj/item/gun/energy/laser/practice name = "practice laser gun" + icon_state = "laser-p" desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." ammo_type = list(/obj/item/ammo_casing/energy/laser/practice) clumsy_check = 0 diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index c68728a91fb7bf3eb5961f104bee78ac83e1ee8c..a29f8ad675e4806d7e2d09cf90baac9b7ac94dc5 100644 GIT binary patch literal 41781 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 PfiELHQ{4(}?Ct*m|M1DZ literal 41420 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

(|t{C3r$t$~u^gkB<B9bqVf{_2IB#U2fdXNMUN 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

DHrxJ(x;!aeolXX1ve#PR$cBz18qfqpbCc; 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 diff --git a/modular_citadel/icons/obj/guns/energy.dmi b/modular_citadel/icons/obj/guns/energy.dmi deleted file mode 100644 index 482ec04d94d8fb1c6e77b717f0ad7cdf65935a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1118 zcmV-k1flzhP)005u}0{{R3yb+fl0002VP)t-sz`($5 zW@a@rIW8Ol0001)001mLMp3b~+04v9Jw%L*jA~|bT2^67NKk(O0RI36C~0r0|NptJ zu3A@Nn2(P%GdZfBQZ+O>Sy*C9NKrpNMQLYqYT4OYU`qeqTUfKRW?^AW001}u09sgL z&BDSzJw+w}06zc#82|uFNm8z*rILz@Syy36M^KQ6h)PLOw*UbDlmPOH06HQ7|Nj8; z@&G+O0Cm|kQ<)`i006pd0Iy>Jyu1LivH*(zJpi)*0GHVSeY3#8z$N<3+5i9m0d!JM zQvg8b*k%9#0O)#DSad{Xb7OL8aCB*JZU6vyoSl?G4#FT1Mb~f&(r&A1tqV79jK*|f zuV7HdLZmGL)OdTTnwn^|;BJPz&maCI#ALBr7bRJ43Va4_MB9)#nT}J8E`nL^ntXy0 z2T^hRXpE&6Tp2+Fy1GUfF`Tm zs_h;=OR_ZiyvNv66X^L%GHeL7vR^WHdtxBzwOdn?zm$?1(1SzXsppJY5IqT^^B{Wa zN&g$mNckCzR9G}U?-@?dd&blAo&h=DKcbkd%H{n_xB&-QHnA%G>wy3O0#8XqK~#90 z?b;7>lQ0+t@DQzv714GG65Vj|U#HG))j2n{?E8Ny--K|xZiIA{mfY_7y?5NTf%06_ z(7W8r7ytmkJr@L=J2A@I4a z>;VA)00000002N~?C;w>>qb*^f8Xv|H=5Sz@7u9;`un!Mzt|qo(%-if%d&1y+xGrq zd%))YzEYM~9`*MveedrpeedrpeedtPLVw@J(BB6D00000aDTY^`v&j-b2X~<-N?3a kf8VyDzYhQa005wy|5*7|0?I9P Date: Sun, 16 Feb 2020 18:56:57 +0100 Subject: [PATCH 116/221] ffs --- icons/obj/guns/energy.dmi | Bin 41781 -> 41473 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index a29f8ad675e4806d7e2d09cf90baac9b7ac94dc5..20fe8272daf68ffb7b6a511ea786964691538f22 100644 GIT binary patch literal 41473 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�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 PfiELHQ{4(}?Ct*m|M1DZ From 0f7618b348adf38ede943d0e5cb3cfb5edf8b5a4 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 14:07:00 -0500 Subject: [PATCH 117/221] Update organic.dm --- code/modules/cargo/packs/organic.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 79853e1aaf..cdac6f49f2 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -214,7 +214,7 @@ /datum/supply_pack/organic/fakemeat name = "Meat Crate 'Synthetic'" - desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 9 slabs of meat product, 3 crab meat and 4 slabs of *carp*." + desc = "Run outta meat already? Keep the lizards content with this freezer filled with cruelty-free chemically compounded meat! Contains 12 slabs of meat product, and 4 slabs of *carp*." cost = 1200 // Buying 3 food crates nets you 9 meat for 900 points, plus like, 6 bags of rice, flour, and egg boxes. This is 12 for 500, but you -only- get meat and carp. contains = list(/obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, @@ -225,9 +225,9 @@ /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, - /obj/item/reagent_containers/food/snacks/meat/rawcrab, - /obj/item/reagent_containers/food/snacks/meat/rawcrab, - /obj/item/reagent_containers/food/snacks/meat/rawcrab, + /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, + /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, + /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, /obj/item/reagent_containers/food/snacks/carpmeat/imitation, From aba636a44c4dd4c92242dfd65b4d5fb636d6ea29 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 00:13:16 +0100 Subject: [PATCH 118/221] ok --- code/modules/projectiles/guns/energy.dm | 3 ++- code/modules/surgery/organs/eyes.dm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index be43bc48fd..d98878bb67 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -67,7 +67,8 @@ /obj/item/gun/energy/Destroy() if(flags_1 & INITIALIZED_1) QDEL_NULL(cell) - QDEL_LIST(ammo_type) + if(!(O.flags_1 & HOLOGRAM_1)) //holodeck stuff. + QDEL_LIST(ammo_type) STOP_PROCESSING(SSobj, src) return ..() diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 44e92e464b..bdd1a444bb 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -56,7 +56,7 @@ var/mob/living/carbon/human/H = C H.eye_color = old_eye_color if(!special) - H.dna.species.handle_body() + H.dna.species.handle_body(H) if(!special) C.update_tint() C.update_sight() From 031580233096ff1e22e8b89badda7d097934b52c Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 18:25:54 -0500 Subject: [PATCH 119/221] Update armory.dm --- code/modules/cargo/packs/armory.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index 4c500a0162..fc95b05007 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -192,8 +192,7 @@ /obj/item/clothing/mask/russian_balaclava, /obj/item/clothing/head/helmet/rus_ushanka, /obj/item/clothing/suit/armor/vest/russian_coat, - /obj/item/gun/ballistic/shotgun/boltaction, - /obj/item/staff/broom) //Its... A real thing that was done in the Russian army + /obj/item/gun/ballistic/shotgun/boltaction) crate_name = "surplus military crate" /datum/supply_pack/security/armory/russian/fill(obj/structure/closet/crate/C) From c5eaac62bdbed49c0abeec29f493ec7fe2bccaba Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 18:26:22 -0500 Subject: [PATCH 120/221] Update materials.dm --- code/modules/cargo/packs/materials.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm index ea7df06bda..556c3175d2 100644 --- a/code/modules/cargo/packs/materials.dm +++ b/code/modules/cargo/packs/materials.dm @@ -47,7 +47,7 @@ cost = 9050 contains = list(/obj/item/stack/sheet/plasteel/fifty) crate_name = "plasteel sheets crate" - +/* /datum/supply_pack/materials/plastitanium50 name = "50 Plastitanium Sheets" desc = "Build an evil empire with fifty plastitanium sheets." @@ -63,7 +63,7 @@ contraband = TRUE contains = list(/obj/item/stack/sheet/plastitaniumglass/fifty) crate_name = "plastitanium glass sheets crate" - +*/ /datum/supply_pack/materials/plastic50 name = "50 Plastic Sheets" desc = "Build a limitless amount of toys with fifty plastic sheets!" From 3ecd1b75d444b6898c64a30d8828628eecf7101f Mon Sep 17 00:00:00 2001 From: Cameron! Date: Sun, 16 Feb 2020 15:32:05 -0800 Subject: [PATCH 121/221] ghommald's changes --- code/modules/research/designs/biogenerator_designs.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index 7f0203ecdd..c2f505a93a 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -127,7 +127,7 @@ name = "Diethylamine" id = "diethylamine_biogen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 75) + materials = list(MAT_BIOMASS = 150) build_path = /obj/item/reagent_containers/glass/bottle/diethylamine category = list("initial","Botany Chemicals") @@ -135,7 +135,7 @@ name = "Saltpetre" id = "saltpetre_biogen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 125) + materials = list(MAT_BIOMASS = 225) build_path = /obj/item/reagent_containers/glass/bottle/saltpetre category = list("initial","Botany Chemicals") From 262b4d95fbdbc7af3e211c5e6fd34dbed94abe9d Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:44:29 -0700 Subject: [PATCH 122/221] Update projectile.dm --- code/modules/projectiles/projectile.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 4521e4ea13..139f5a051c 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -52,7 +52,6 @@ var/hitscan = FALSE //Whether this is hitscan. If it is, speed is basically ignored. var/list/beam_segments //assoc list of datum/point or datum/point/vector, start = end. Used for hitscan effect generation. var/datum/point/beam_index - var/turf/hitscan_last //last turf touched during hitscanning. var/tracer_type var/muzzle_type var/impact_type @@ -492,8 +491,6 @@ process_homing() var/forcemoved = FALSE for(var/i in 1 to SSprojectiles.global_iterations_per_move) - if(QDELETED(src)) - return trajectory.increment(trajectory_multiplier) var/turf/T = trajectory.return_turf() if(!istype(T)) @@ -506,14 +503,16 @@ forceMove(T) trajectory_ignore_forcemove = FALSE after_z_change(old, loc) + forcemoved = TRUE + if(QDELETED(src)) + return if(!hitscanning) pixel_x = trajectory.return_px() pixel_y = trajectory.return_py() - forcemoved = TRUE - hitscan_last = loc else if(T != loc) step_towards(src, T) - hitscan_last = loc + if(QDELETED(src)) + return if(!hitscanning && !forcemoved) pixel_x = trajectory.return_px() - trajectory.mpx * trajectory_multiplier * SSprojectiles.global_iterations_per_move pixel_y = trajectory.return_py() - trajectory.mpy * trajectory_multiplier * SSprojectiles.global_iterations_per_move From a4a5efbc11ff2bd1b548cf3bb7bc363024414d87 Mon Sep 17 00:00:00 2001 From: Cameron! Date: Sun, 16 Feb 2020 15:48:22 -0800 Subject: [PATCH 123/221] ghommble's other changes --- .../research/designs/biogenerator_designs.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index c2f505a93a..43562a7e12 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -3,7 +3,7 @@ /////////////////////////////////// /datum/design/milk - name = "10 Milk" + name = "10u Milk" id = "milk" build_type = BIOGENERATOR materials = list(MAT_BIOMASS = 20) @@ -11,7 +11,7 @@ category = list("initial","Food") /datum/design/cream - name = "10 Cream" + name = "10u Cream" id = "cream" build_type = BIOGENERATOR materials = list(MAT_BIOMASS = 30) @@ -124,19 +124,19 @@ category = list("initial","Botany Chemicals") /datum/design/diethylamine - name = "Diethylamine" + name = "10u Diethylamine" id = "diethylamine_biogen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 150) - build_path = /obj/item/reagent_containers/glass/bottle/diethylamine + materials = list(MAT_BIOMASS = 50) + make_reagents = list(/datum/reagent/diethylamine = 10) category = list("initial","Botany Chemicals") /datum/design/saltpetre - name = "Saltpetre" + name = "10u Saltpetre" id = "saltpetre_biogen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 225) - build_path = /obj/item/reagent_containers/glass/bottle/saltpetre + materials = list(MAT_BIOMASS = 75) + make_reagents = list(/datum/reagent/saltpetre = 10) category = list("initial","Botany Chemicals") /datum/design/botany_bottle From 78fad64d5661ee591190fd1875aeaeb777734eed Mon Sep 17 00:00:00 2001 From: Cameron! Date: Sun, 16 Feb 2020 15:54:41 -0800 Subject: [PATCH 124/221] this is no longer necessary --- code/modules/hydroponics/hydroponics.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index d37c5af6c2..1cd63db6da 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -664,7 +664,7 @@ adjustHealth(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 1)) adjustNutri(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 2)) if(myseed) - myseed.adjust_yield(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 0.034)) + myseed.adjust_yield(round(S.get_reagent_amount(/datum/reagent/diethylamine) * 0.02)) adjustPests(-rand(1,2)) // Nutriment Compost, effectively From b028b296f57dbfe6eebf2c68c34d0d11c1bb1a70 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 12:17:33 +0100 Subject: [PATCH 125/221] Update mob_holder.dm --- code/datums/elements/mob_holder.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 50cd93ff29..8687d89b2f 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -93,7 +93,7 @@ lefthand_file = left_hand if(right_hand) righthand_file = right_hand - slot_flags = slots + slot_flags = slots /obj/item/clothing/head/mob_holder/proc/assimilate(mob/living/target) target.setDir(SOUTH) From 28a589d2d1b57d23fe993f6a12625881fed4c43d Mon Sep 17 00:00:00 2001 From: Cameron! Date: Mon, 17 Feb 2020 04:32:39 -0800 Subject: [PATCH 126/221] diethylamine > ammonia --- code/modules/research/designs/biogenerator_designs.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index 43562a7e12..ab0460974c 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -123,12 +123,12 @@ build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller category = list("initial","Botany Chemicals") -/datum/design/diethylamine - name = "10u Diethylamine" - id = "diethylamine_biogen" +/datum/design/ammonia + name = "10u Ammonia" + id = "ammonia_biogen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 50) - make_reagents = list(/datum/reagent/diethylamine = 10) + materials = list(MAT_BIOMASS = 25) + make_reagents = list(/datum/reagent/ammonia = 10) category = list("initial","Botany Chemicals") /datum/design/saltpetre From 5e10f822e6aecf5830d109464fdea1568610241f Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 13:40:37 +0100 Subject: [PATCH 127/221] Update energy.dm --- code/modules/projectiles/guns/energy.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index d98878bb67..401678512b 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -67,7 +67,7 @@ /obj/item/gun/energy/Destroy() if(flags_1 & INITIALIZED_1) QDEL_NULL(cell) - if(!(O.flags_1 & HOLOGRAM_1)) //holodeck stuff. + if(!(flags_1 & HOLOGRAM_1)) //holodeck stuff. QDEL_LIST(ammo_type) STOP_PROCESSING(SSobj, src) return ..() From a2583f5f7f97495f42b393700b61b7eddec445c4 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 14:25:50 +0100 Subject: [PATCH 128/221] Update expressconsole.dm --- code/modules/cargo/expressconsole.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index a2fda55ca7..264f9ac22e 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -197,7 +197,7 @@ CHECK_TICK if(empty_turfs && empty_turfs.len) SSshuttle.points -= SO.pack.cost * (0.72*MAX_EMAG_ROCKETS) - SSblackbox.record_feedback("nested tally", "cargo_imports", 1, list("[SO.pack.cost]", "[SO.pack.name]")) + SSblackbox.record_feedback("nested tally", "cargo_imports", MAX_EMAG_ROCKETS, list("[SO.pack.cost * 0.72]", "[SO.pack.name]")) SO.generateRequisition(get_turf(src)) for(var/i in 1 to MAX_EMAG_ROCKETS) var/LZ = pick(empty_turfs) From 5dc271124aa06e355cb71ac013780ff748b19ab2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 14:29:14 +0100 Subject: [PATCH 129/221] Something about tesla revolvers and tk. --- code/modules/projectiles/projectile/energy/tesla.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/projectile/energy/tesla.dm b/code/modules/projectiles/projectile/energy/tesla.dm index 43c31816cd..2439cee429 100644 --- a/code/modules/projectiles/projectile/energy/tesla.dm +++ b/code/modules/projectiles/projectile/energy/tesla.dm @@ -7,10 +7,11 @@ var/zap_range = 3 var/power = 10000 -/obj/item/projectile/energy/tesla/fire(setAngle) - if(firer) - chain = firer.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY) - ..() +/obj/item/projectile/energy/tesla/fire(setAngle, atom/direct_target) + var/atom/source = fired_from || firer + if(source) + chain = source.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY) + return ..() /obj/item/projectile/energy/tesla/on_hit(atom/target) . = ..() From 217661184d951e221fd2e2572cdc1b4842d2ffa8 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 17 Feb 2020 21:29:34 +0800 Subject: [PATCH 130/221] nerf'd --- code/modules/spells/spell_types/bloodcrawl.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/spells/spell_types/bloodcrawl.dm b/code/modules/spells/spell_types/bloodcrawl.dm index e4c33380b2..49d73b445b 100644 --- a/code/modules/spells/spell_types/bloodcrawl.dm +++ b/code/modules/spells/spell_types/bloodcrawl.dm @@ -13,6 +13,7 @@ action_icon_state = "bloodcrawl" action_background_icon_state = "bg_demon" var/phased = 0 + charge_max = 6 /obj/effect/proc_holder/spell/bloodcrawl/choose_targets(mob/user = usr) for(var/obj/effect/decal/cleanable/target in range(range, get_turf(user))) From eddefd4d25a1829476dcd97575a5ced12af1543c Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 15:07:17 +0100 Subject: [PATCH 131/221] Update large_objects.dm --- code/modules/cargo/exports/large_objects.dm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index bf67286f11..b7bdcb1f59 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -24,13 +24,13 @@ export_types = list(/obj/structure/ore_box) /datum/export/large/crate/wood - cost = 140 // + cost = 140 unit_name = "wooden crate" export_types = list(/obj/structure/closet/crate/wooden) exclude_types = list() /datum/export/large/barrel - cost = 500 //150 to make meaning proffit of 350 + cost = 300 //double the wooden cost of a coffin. unit_name = "wooden barrel" export_types = list(/obj/structure/fermenting_barrel) @@ -40,19 +40,11 @@ export_types = list(/obj/structure/closet/crate/coffin) /datum/export/large/reagent_dispenser - cost = 100 // +0-400 depending on amount of reagents left - var/contents_cost = 400 - -/datum/export/large/reagent_dispenser/get_cost(obj/O) - var/obj/structure/reagent_dispensers/D = O - var/ratio = D.reagents.total_volume / D.reagents.maximum_volume - - return ..() + round(contents_cost * ratio) + cost = 100 /datum/export/large/reagent_dispenser/water unit_name = "watertank" export_types = list(/obj/structure/reagent_dispensers/watertank) - contents_cost = 200 /datum/export/large/reagent_dispenser/fuel unit_name = "fueltank" @@ -60,7 +52,6 @@ /datum/export/large/reagent_dispenser/beer unit_name = "beer keg" - contents_cost = 700 export_types = list(/obj/structure/reagent_dispensers/beerkeg) /datum/export/large/pipedispenser From cc685b813cf48b72e0cef37119dfc1d18859d25b Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Mon, 17 Feb 2020 14:35:37 -0600 Subject: [PATCH 132/221] ignore the branch name i just needed icons --- icons/mecha/mech_construction.dmi | Bin 17377 -> 19228 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index 42cc8eeb57416a14af3e1daaf2096d6a751ca160..d7f0f3e05487beaa68496e7dd3a8bdcbaba78297 100644 GIT binary patch literal 19228 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 Cf{L*K literal 17377 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�*Z{Z32vdL*!U789U=BJIYpXqX)v`yFvI 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 From 3b82e34db6e88727e8f08b552f4920234c8dd066 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 17 Feb 2020 15:48:02 -0500 Subject: [PATCH 133/221] Update code/modules/cargo/packs/emergency.dm Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/cargo/packs/emergency.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index b06561a1c2..be81da3b92 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -130,7 +130,7 @@ /datum/supply_pack/emergency/bomb name = "Explosive Emergency Crate" - desc = "Science gone bonkers? Beeping behind the airlock? Buy now and become the hero the station ki-... I mean needs! Time not included, but a full bomb suit and hood, as well as a mask and defusal kit are! Non-Nuclear ordinance only." + desc = "Science gone bonkers? Beeping behind the airlock? Buy now and become the hero the station des... I mean needs! Time not included, but a full bomb suit and hood, as well as a mask and defusal kit are! Non-Nuclear ordnances only." cost = 1500 contains = list(/obj/item/clothing/head/bomb_hood, /obj/item/clothing/suit/bomb_suit, From 8f653b4dd6809beb312bb99f49bda701bca48b85 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 17 Feb 2020 15:48:31 -0500 Subject: [PATCH 134/221] Update materials.dm --- code/modules/cargo/packs/materials.dm | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm index 556c3175d2..6c1742896f 100644 --- a/code/modules/cargo/packs/materials.dm +++ b/code/modules/cargo/packs/materials.dm @@ -47,23 +47,7 @@ cost = 9050 contains = list(/obj/item/stack/sheet/plasteel/fifty) crate_name = "plasteel sheets crate" -/* -/datum/supply_pack/materials/plastitanium50 - name = "50 Plastitanium Sheets" - desc = "Build an evil empire with fifty plastitanium sheets." - cost = 9250 - contraband = TRUE - contains = list(/obj/item/stack/sheet/mineral/plastitanium/fifty) - crate_name = "plastitanium sheets crate" -/datum/supply_pack/materials/plastitanium_glass50 - name = "50 Plastitanium Glass Sheets" - desc = "Look out from your evil empire with fifty plastitanium glass sheets." - cost = 9500 - contraband = TRUE - contains = list(/obj/item/stack/sheet/plastitaniumglass/fifty) - crate_name = "plastitanium glass sheets crate" -*/ /datum/supply_pack/materials/plastic50 name = "50 Plastic Sheets" desc = "Build a limitless amount of toys with fifty plastic sheets!" From a9f103fb34e4bde51b51b18e3ecf164b45ad2867 Mon Sep 17 00:00:00 2001 From: Cameron! Date: Mon, 17 Feb 2020 15:28:10 -0800 Subject: [PATCH 135/221] removes unused bottle, kicks travis? --- code/modules/reagents/reagent_containers/bottle.dm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index e27ff37c5b..e4741bb858 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -112,11 +112,6 @@ desc = "A small bottle of diethylamine." list_reagents = list(/datum/reagent/diethylamine = 30) -/obj/item/reagent_containers/glass/bottle/saltpetre - name = "saltpetre bottle" - desc = "A small bottle of saltpetre." - list_reagents = list(/datum/reagent/saltpetre = 30) - /obj/item/reagent_containers/glass/bottle/facid name = "Fluorosulfuric Acid Bottle" desc = "A small bottle. Contains a small amount of fluorosulfuric acid." @@ -436,4 +431,4 @@ /obj/item/reagent_containers/glass/bottle/hexacamphor name = "Hexacamphor bottle" desc = "A bottle of strong anaphrodisiac. Reduces libido." - list_reagents = list(/datum/reagent/drug/anaphrodisiacplus = 30) \ No newline at end of file + list_reagents = list(/datum/reagent/drug/anaphrodisiacplus = 30) From 78fcd706b3fa4a5b689f5076ebc05921a2bba0cd Mon Sep 17 00:00:00 2001 From: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com> Date: Mon, 17 Feb 2020 19:41:30 -0700 Subject: [PATCH 137/221] Requested changes, podpeople.dm --- .../carbon/human/species_types/podpeople.dm | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 4fcf1eebec..05bca6653a 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -3,9 +3,7 @@ name = "Anthromorphic Plant" id = "pod" default_color = "59CE00" - species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS) - mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "taur", "legs") - default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs") + species_traits = list(MUTCOLORS,EYECOLOR) attack_verb = "slash" attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' @@ -72,39 +70,42 @@ if(/obj/item/projectile/energy/florayield) H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL) -/datum/species/pod/spec_death(gibbed, mob/living/carbon/human/H) - if(H) - stop_wagging_tail(H) - -/datum/species/pod/spec_stun(mob/living/carbon/human/H,amount) - if(H) - stop_wagging_tail(H) - . = ..() - -/datum/species/pod/can_wag_tail(mob/living/carbon/human/H) - return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts) - -/datum/species/pod/is_wagging_tail(mob/living/carbon/human/H) - return ("mam_waggingtail" in mutant_bodyparts) - -/datum/species/pod/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/pod/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/species/pod/pseudo_weak name = "Anthromorphic Plant" id = "podweak" + species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS) + mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts", "taur", "legs") + default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs") limbs_id = "pod" light_nutrition_gain_factor = 7.5 light_bruteheal = 0.2 light_burnheal = 0.2 light_toxheal = 0.7 + +/datum/species/pod/pseudo_weak/spec_death(gibbed, mob/living/carbon/human/H) + if(H) + stop_wagging_tail(H) + +/datum/species/pod/pseudo_weak/spec_stun(mob/living/carbon/human/H,amount) + if(H) + stop_wagging_tail(H) + . = ..() + +/datum/species/pod/pseudo_weak/can_wag_tail(mob/living/carbon/human/H) + return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/pod/pseudo_weak/is_wagging_tail(mob/living/carbon/human/H) + return ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/pod/pseudo_weak/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/pod/pseudo_weak/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() From 930e6f98767b4833e953cfc45c283626f5d0b711 Mon Sep 17 00:00:00 2001 From: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com> Date: Mon, 17 Feb 2020 19:47:48 -0700 Subject: [PATCH 138/221] Requested changes, ghost_role_spawner.dm --- .../objects/structures/ghost_role_spawners.dm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 3b1b20d46a..724c921d07 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -19,9 +19,6 @@ Estimated time of last contact: Deployment, 5000 millennia ago." assignedrole = "Lifebringer" -/obj/effect/mob_spawn/human/seed_vault/special(mob/living/new_spawn) - - /obj/effect/mob_spawn/human/seed_vault/Destroy() new/obj/structure/fluff/empty_terrarium(get_turf(src)) return ..() @@ -30,18 +27,10 @@ ADD_TRAIT(new_spawn,TRAIT_EXEMPT_HEALTH_EVENTS,GHOSTROLE_TRAIT) var/plant_name = pick("Tomato", "Potato", "Broccoli", "Carrot", "Ambrosia", "Pumpkin", "Ivy", "Kudzu", "Banana", "Moss", "Flower", "Bloom", "Root", "Bark", "Glowshroom", "Petal", "Leaf", \ "Venus", "Sprout","Cocoa", "Strawberry", "Citrus", "Oak", "Cactus", "Pepper", "Juniper") - new_spawn.real_name = plant_name + new_spawn.real_name = plant_name //why this works when moving it from one function to another is beyond me new_spawn.underwear = "Nude" //You're a plant, partner - new_spawn.undershirt = "Nude" + new_spawn.undershirt = "Nude" //changing underwear/shirt/socks doesn't seem to function correctly right now because of some bug elsewhere? new_spawn.socks = "Nude" - new_spawn.dna.features["snout"] = "None" - new_spawn.dna.features["body_markings"] = "Plain" - new_spawn.dna.features["mam_tail"] = "None" - new_spawn.dna.features["taur"] = "None" - new_spawn.dna.features["ears"] = "None" - new_spawn.dna.features["legs"] = "Plantigrade" - new_spawn.facial_hair_style = "Shaved" - new_spawn.hair_style = "Bald" new_spawn.regenerate_icons() //Ash walker eggs: Spawns in ash walker dens in lavaland. Ghosts become unbreathing lizards that worship the Necropolis and are advised to retrieve corpses to create more ash walkers. From cfca197fbb5a487f9e570aac3eb360aedffaf674 Mon Sep 17 00:00:00 2001 From: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com> Date: Mon, 17 Feb 2020 19:55:32 -0700 Subject: [PATCH 139/221] forgot one last change that I made out of frustration because making things bald wasn't working for some reason --- code/game/objects/structures/ghost_role_spawners.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 724c921d07..54c44330fc 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -31,7 +31,7 @@ new_spawn.underwear = "Nude" //You're a plant, partner new_spawn.undershirt = "Nude" //changing underwear/shirt/socks doesn't seem to function correctly right now because of some bug elsewhere? new_spawn.socks = "Nude" - new_spawn.regenerate_icons() + new_spawn.update_body() //Ash walker eggs: Spawns in ash walker dens in lavaland. Ghosts become unbreathing lizards that worship the Necropolis and are advised to retrieve corpses to create more ash walkers. From 1a994e7f1e5fd6ec4f2e0754e4f494fe3d2ec688 Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Mon, 17 Feb 2020 23:36:22 -0500 Subject: [PATCH 140/221] Ports Broom, Tweak Janitor Vendor Ports Brooms from TG https://github.com/tgstation/tgstation/pull/49120 Makes Broom printable. Reduces Broom sound effect. Updates Janitor Vendor to have equipment for at least 2 janitors. --- code/game/objects/items/storage/belt.dm | 1 + code/game/objects/items/twohanded.dm | 63 ++++++++++++++++++ code/game/objects/structures/janicart.dm | 26 ++++++-- code/modules/research/designs/misc_designs.dm | 10 +++ code/modules/research/techweb/all_nodes.dm | 2 +- code/modules/vending/wardrobes.dm | 15 +++-- .../inhands/equipment/custodial_lefthand.dmi | Bin 1860 -> 2189 bytes .../inhands/equipment/custodial_righthand.dmi | Bin 1868 -> 2183 bytes icons/obj/janitor.dmi | Bin 26482 -> 27189 bytes 9 files changed, 103 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 1be9df5c30..c2acdc1590 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -575,6 +575,7 @@ /obj/item/key/janitor, /obj/item/clothing/gloves, /obj/item/melee/flyswatter, + /obj/item/twohanded/broom, /obj/item/paint/paint_remover, /obj/item/assembly/mousetrap, /obj/item/screwdriver, diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index fc9e138f4b..d203612493 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -1016,3 +1016,66 @@ C.change_view(CONFIG_GET(string/default_view)) user.client.pixel_x = 0 user.client.pixel_y = 0 + +/obj/item/twohanded/broom + name = "broom" + desc = "This is my BROOMSTICK! It can be used manually or braced with two hands to sweep items as you move. It has a telescopic handle for compact storage." //LIES + icon = 'icons/obj/janitor.dmi' + icon_state = "broom0" + lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' + force = 8 + throwforce = 10 + throw_speed = 3 + throw_range = 7 + w_class = WEIGHT_CLASS_NORMAL + force_unwielded = 8 + force_wielded = 12 + attack_verb = list("swept", "brushed off", "bludgeoned", "whacked") + resistance_flags = FLAMMABLE + +/obj/item/twohanded/broom/update_icon_state() + icon_state = "broom[wielded]" + +/obj/item/twohanded/broom/wield(mob/user) + . = ..() + if(!wielded) + return + to_chat(user, "You brace the [src] against the ground in a firm sweeping stance.") + RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/sweep) + +/obj/item/twohanded/broom/unwield(mob/user) + . = ..() + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + +/obj/item/twohanded/broom/afterattack(atom/A, mob/user, proximity) + . = ..() + if(!proximity) + return + sweep(user, A, FALSE) + +/obj/item/twohanded/broom/proc/sweep(mob/user, atom/A, moving = TRUE) + var/turf/target + if (!moving) + if (isturf(A)) + target = A + else + target = A.loc + else + target = user.loc + if (locate(/obj/structure/table) in target.contents) + return + var/i = 0 + for(var/obj/item/garbage in target.contents) + if(!garbage.anchored) + garbage.Move(get_step(target, user.dir), user.dir) + i++ + if(i >= 20) + break + if(i >= 1) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 5, TRUE, -1) + +/obj/item/twohanded/broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta + J.put_in_cart(src, user) + J.mybroom=src + J.update_icon() \ No newline at end of file diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 54b9d650d5..58c8a739dc 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -6,11 +6,11 @@ anchored = FALSE density = TRUE //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null - var/obj/item/mop/mymop = null - var/obj/item/reagent_containers/spray/cleaner/myspray = null - var/obj/item/lightreplacer/myreplacer = null + var/obj/item/storage/bag/trash/mybag + var/obj/item/mop/mymop + var/obj/item/twohanded/broom/mybroom + var/obj/item/reagent_containers/spray/cleaner/myspray + var/obj/item/lightreplacer/myreplacer var/signs = 0 var/const/max_signs = 4 @@ -49,7 +49,12 @@ m.janicart_insert(user, src) else to_chat(user, fail_msg) - + else if(istype(I, /obj/item/twohanded/broom)) + if(!mybroom) + var/obj/item/twohanded/broom/b=I + b.janicart_insert(user,src) + else + to_chat(user, fail_msg) else if(istype(I, /obj/item/storage/bag/trash)) if(!mybag) var/obj/item/storage/bag/trash/t=I @@ -97,6 +102,8 @@ dat += "[mybag.name]
" if(mymop) dat += "[mymop.name]
" + if(mybroom) + dat += "[mybroom.name]
" if(myspray) dat += "[myspray.name]
" if(myreplacer) @@ -124,6 +131,11 @@ user.put_in_hands(mymop) to_chat(user, "You take [mymop] from [src].") mymop = null + if(href_list["broom"]) + if(mybroom) + user.put_in_hands(mybroom) + to_chat(user, "You take [mybroom] from [src].") + mybroom = null if(href_list["spray"]) if(myspray) user.put_in_hands(myspray) @@ -155,6 +167,8 @@ add_overlay("cart_garbage") if(mymop) add_overlay("cart_mop") + if(mybroom) + add_overlay("cart_broom") if(myspray) add_overlay("cart_spray") if(myreplacer) diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 72b2c91e4c..34e07a600b 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -289,6 +289,16 @@ ////////////Janitor Designs////////////// ///////////////////////////////////////// +/datum/design/broom + name = "Broom" + desc = "Just your everyday standard mop." + id = "broom" + build_type = PROTOLATHE + materials = list(MAT_METAL = 1000, MAT_GLASS = 600) + build_path = /obj/item/twohanded/broom + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + /datum/design/mop name = "Mop" desc = "Just your everyday standard mop." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 75b71611d5..bd7f93c991 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -602,7 +602,7 @@ display_name = "Basic Tools" description = "Basic mechanical, electronic, surgical and botanical tools." prereq_ids = list("base") - design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop") + design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500) export_price = 5000 diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 5d2e08734e..d368a9bbca 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -266,16 +266,17 @@ /obj/item/cartridge/janitor = 3, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, + /obj/item/twohanded/broom = 2, /obj/item/paint/paint_remover = 2, - /obj/item/melee/flyswatter = 1, + /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/caution = 8, - /obj/item/holosign_creator = 1, - /obj/item/lightreplacer = 1, - /obj/item/soap = 1, - /obj/item/storage/bag/trash = 1, - /obj/item/clothing/shoes/galoshes = 1, - /obj/item/watertank/janitor = 1, + /obj/item/holosign_creator = 2, + /obj/item/lightreplacer = 2, + /obj/item/soap = 2, + /obj/item/storage/bag/trash = 2, + /obj/item/clothing/shoes/galoshes = 2, + /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2, /obj/item/screwdriver = 2, /obj/item/stack/cable_coil/random = 4) diff --git a/icons/mob/inhands/equipment/custodial_lefthand.dmi b/icons/mob/inhands/equipment/custodial_lefthand.dmi index 90ffd2495eb214b501b473b3a358a842286b409f..eaed11867c00a0a88d3889b490860ed8e70f5ae9 100644 GIT binary patch delta 1926 zcmXw3dpy&N8~$#o6BWwHrI6!Zn3ISi;cQ9fzRe;+I#e9F#jqiil3O1uCT5u1)N)xP zRLuRZT*8vEA<~*^a{JBs{Jj4>@ALV*pXYs_=a08VJmp}Tj06bSy9)q-8x?40004=n ztNqsT@bG{_p?S8p6Es@7g+*^f#L%Ek(`!9;+#M_7C@91c;RKj-Mty~ZnQ0D^#?i#z zDNF8|l6w|cU9L~9t9xQt93P!TCMNvz0EAf@-)Ay6_$G`Hg`3hPR5?WlV36+eCS=;h z)Wvr3@wg1iA;fRrCbCt*LeZMxaIB?=@8r>|R+$bek7>tX9UtD{NxHaz{?rnXJ_TwP zY82uy{B~wt)q%So-9bvVI8(8S>kWiY9nF#)U56XAa7EiGl*8%+SAudx+60flRb86S z>wW>%ipd7ZN*eLQtsjgkqmW=4y}qK}6aeYs<_GoyNO>5GNZU||~D zWqwSMSc+AcN__fME`tMpOKEvOhEDPQI+1?8G<_mpcK)P6BlzBR>-TQTg1PNp(krWk zVa^+v{fD?4x<)mz$>o4M-~_V1%$r4bYSai^j;x`a`0|71n;LMjREX}lSH$Qdxdr`BcsoL=Psm655Ea>vY6xH0JQ1D0K@d($dp z2t~k&U}WV)&aD;uXT>U~EkiNr4r1lE+JI7{@e%-phRokUUk#WXW8EZQRLY#%kDK&6 zf40szrlm2Qf~6?SyCA)_)!)k1Ihov_0JrOa3LIv63k&RI>wgnJSF4o8Q*V}Lqxv7S zwB}&a#x}`Q`zQUbF)&}0-j{WWgJgdq&Ko%nmp<3Qe|C0{aV#5Q$454-_%J$;aEiml zgbAE*vAOYM^PKZzt7vNB@JU)YPV6ul|9HWRs_60ecc=GbTZIOTx$ipmZpX4y0l6^p z7CHTpyyaMZxT0~a< zNj@Lk%BiPxE}C(&Ae4S-$v#?EZc&*mv{uzv4g2h+C?;H29#ZaG?_OSW5_I9Np)rt{ zRYniX;6<0Ei{e#ZSElb?$Rh1M4|S{&8{^gAkC-ze#!2W?BU0HgCZ49&r3L8$ z!I*=&pK%9vT;lI4jRp$j^JUo&l*R&~G{IfPb4C{Ii{{^Wd=-OQ5h2xpv2BF(hrYZw z*dkQ|@0$zF%BN{{Xsih8Lf@fHT8mZl`q?+8TRz4gNV#uDYD2MGKA!o1tHOLOn!0&f zDKg5~u{(!5m&zx#5xj8B7%_#7AhQ+07@C&%42C00m^RLZm^3#B(7STqw6-P=3?lsP zkxihSoSd>(H8so^b2pdww=RW+{}O;k&!t)R&oAB#2EU-6*$b-rgzsto(^%y4f?IIZ%5?o6uaBMS3m44pB7`zuly)=2}+n*S?JM2GNqG;=ASpY zN~10y`f#W$e8DS=pvYB>uCq%JGf!$K;2rdwUS;>uUrzVs^m7(*lTRz|DCEtAY;NlP zC*0g-Clt&W`ovwPCLf1Ts_c}6s7j%4wI`HmSK1R<(P{f!T-7{mM8u5K-rz@kiR+U`N-?o&Ux&ERRd*@_zv0QXx#`Z>%aYw}Tt;xh;sbC3Bh2B>U zaHtsE=QR7L;#*DSS)zB$a{9w}2WOA)v8g_gx^C;eaa*tX6K*4VQ0R#- z;XOUq>`L)A&GcUD$7HXV|M-t8iz0SHPnX p)TmQY!Bja|UB;siw0-6i=;p4T?0G~#``!FDxBeSpRcYZF_djU;oX!9M delta 1611 zcmY+Bdsxy}7{`A`Svph8q-kO8Vosdq(k_VR{emVK8YXmMu_PUn<|Py_Ke}j6aUt4L z(W!*XjOk3Wz}qS@O|zL32bHE`VqO3h^Aa}l*|R-6f1L9<&-Xc>=Y8Lkv#HgX1vLR) zZGZp(@VqqO6aeV0$+cbrOM`=7)Yj&Dd37fx4ZZWV)5Uu6Sac}h@%pbw-KB{hb~N7S zbQ~!*>TG-zH3k3@i*uee8DDTTU9S?RX6fTd@9@WsS{>Vw+vj*WAptdIjZMEAi&(c` zTDO3*hGTGt#XDd4p0iuH^iw>wHKMp4+5I!#Wt1~=-YH#l7@U62f?RGs^agsrEcig4 z44e7=xx0USUHR6%U*r8Jqge7=G=GPJ%g^XpL~*+#b{_FGOaIe;rJL%1>Z7;~l$Foi zTE`69Z#>#s&CRJkWA3bmt@EqPrK`uo8Z}j$~3p*be~fY*0R)VTr|4vQ*k; z|1J8eC|1=cKH#UswdZ~Dluu0ClPP>zIEgRYx1?T8X$6j*LyM!u+ha?T zB85&3s>@!wq3D)}L&`%wlJH8>)~0_m@**pgD3LNfx4oV22rtCm_BIF{EFXn2RPZ16 zZo5=G2g48OnQ{a8(lR-3s%MXhhnk>)_eSpv01;8if>uaKV=2B_$%R-*7qKZUeA+9X z-uMSBz^5rb;2zDvQP(vBlC39)!{HTe#Q#VyjkVH~)pq}EO$!>Z86Yzv1$8EQ$X!Y^ z>Y(%Wa5>P96u-RNrM?vl$V-N&39lEfB7lyjVI`rB+4nD*gDwC!3~pOPiR5GnkI3Nu z{RH^cyI)$W-cKfWz}q=kVWas!Oyfz2IlK2$->DH0qHdKWR`CaRE5mTh+~`*c`Y-j)(?L$15{X4CQe zmTpl5S7EC5l2!^Ug?SrQDKp-PF6^aaQ_O_xcg}7wz4!)0qm@b$)_u$56`kqYaT=M! zhXfbGyiKY)8+cpzJ$cc6eopirN|?RnStk&gVa0oKquNT3$@9}hl=m5)6yVdzefn{Q z&!u1CJO?J74X1E(JK%=gK8MP&!UM>*UG3Msf&_%2h5{|rejdb%3SlJkwX1Xau$>)q zDN%&m;1nG6I_C5 zFn#kzmf`#tho3%tYj<*l?={6((cY3~q2DftaP_eFt!&|E<~irf*}?8?_LdX!?5$V` zdtEZGvg{>geMaCuZ9pJfX=ZwYlRfSVxkiY{H!rVSsiz&Q&(L!o*e31-|FGeh6`{a{FUI$zH%hjj$b zSQqr-jCw7k|Fr2i3t8TA%${{cBfc^T68Fd#PPo^3cgg_e1UcbM)V5d2TBemf71CH! zI&j@OhN0BxVW-X7>?>h`kJU|SveXCn5(M5TL^Ifr88@4-;9DH(Qa3frY$SD|P6Y)c z$*C2gT_!`~mhR;fC#Sc}K8#b>%r^I5ql;Id^$Yz;gA+E%;+1*9DrVm&o}G<7uswD+ zkxIpEi-HpJ_flh=EpLj|iCvi=PhwtA7+>y%q(O|Y$e~91d8ufK@h`Jb$FV0lKY|!J zl=et zHujvlm#nkfjw^4OtXfCMFuD`_tO1l?tin+avj@O@lPY}esDr`(q_}~W{*&^o1_~KP zQ%v-Ib*FaN0eQK)rrAu?CfbvEARC^IG{0&kk B5ikG% diff --git a/icons/mob/inhands/equipment/custodial_righthand.dmi b/icons/mob/inhands/equipment/custodial_righthand.dmi index 33e708f8c9a7c6f259decbae0dbaf8a01fb6fa4b..dc7ee742a327fea9fa793ace09b0057911e68401 100644 GIT binary patch delta 1919 zcmY*ac|6o>7ypehBZjfewIpg>OG?>ZOL8$7U4(>d3nPri^4el7FZVY@bS+Jm5E)w+ zR}x0HTw^UuwxKebY)v7AxrHoqM}6MUecyl1`JD4S=bZ2Ne9m*8A!M>BSwa{B9DxD= z5b)610RSLMb&7%z5QoF5tE*G2t>4tukx;1N=;%8pCiL-(9Z%Ib9FC$7V9kwygxlHJ z1DN-(eYr+&jDvGH7JuD4%r7L|FE|JQq6*W;>yTY&5%}!Uq6BKSMonvLp3d(#;*!e> zlL)C0*VSpn`NeS>F*g=m%OE${#|61Mx=WugtFr`euRKRiCuCNL*?jfwD8rU6KiJiI z8E=a7Wy)T~W?lX}7v89V~J8QxF73PLazJ`HIN1Mf89r?HO?MO4!5xbJP?Iz-K3u5Z_<>Sm>%X#ii@S z6ZElN#k)<$2<&b)S!;1wii&w8O)G|NP6F_=hU>^h}m0%#(D&?+2h0wF}+32a)*OHm@>&6d5_n;4VY;KU?Tm-D5HNF zlnxl@s=NsRJHQjCNf_k4?fm=*hyeQT4OJ(fV(9UqVME}%6}9UWdBy4Ri=T}eq&!=1C z42FABFPbP(W@!?(moDeCN7YES|LU3}dAWDU?@*(b-8!u(_zRu_MB&s;bgf zp$0=EY6hC8X$$zP{L(5fJozOgonC2PAwBqcEr7q4*0s6my(KOktW}`$LY(uOu?#Yn z{e4w1--otkoo+uMEcG0Lr34*h@-v(Ae$V*AW=s? z=#It3#nGS3W$U0>Y;eaq>PC>uK~w3Hh}ALj=FXllT=+|b?jWs`qNBiKM?Zxm1XQh} zgW|)vk>@l2bZGF4fa^=ot7j6;T0gKSZKf-M)!|vN5RH`ggC?F__MT!e#4>_|gOm9p ziNx{?8TL_(H5xmTaS4$D)lVyTA17!zr3tJDIyon-wuAeg{6r!W$$}|6+q9zz7qySw zH(|EywTY6t39ctTX|+%Fs61|L+Z~Ea>TBBC+WNA!=bg-#%*R(Ra4w=ENDmI;d+Xj< z@kKOS%KtNciR5ELV{CbhU`D|D{I((*{w!j9W0Jk-^}J_f|!-TwHOJ2%(-hj$Cf->MXJ#2@6`;^qvVf$poIOqKozq)4U?$jpnd zV4du98EP%x%qqgtD}L( z4_E483$TrtaL|3oBV4G-$J}sXKp9b{LLe9VB)PlN2zT4>iyMWkYKU~lQaeFk4OFG^1xT_GLh_7V@zuTQ^% z%zdJF&!}x7uKmZZUwZ2|`E*~QSYfGCS%mbq{U)_rzQPLz#S{f~>Mvs}qO4P7RGJar eA+~p^v)~HmV|ONIV3hk&0v2XA*heOw34a4Ssf7pt delta 1602 zcmYjRdpy%?9RAT}%`&$zmo%DkNa@NcAuTqGQzVqKB&D4*V~ZyCbBjeTZMjsk5OO35 zEsn)pBXTKn9de?JOLEU_XS#e&&p+?`ectc$yzl4vd_QlLViPh!RUQ~zy$S$;UJlL! z0Hibu_0~v%VzHQGXV+I)7^1BFl1{&FWktS*&6IRW(H!g@0n3ptFG;}*JnBNjo~54g z^QO?eeaHZCDK)m8hpa*?z&@*|g%#&*W8`nij{QI!7&`vas`xdfxQDAoYt0HB-?F$& z4Tx|{ZKOKIymgp@8-3t2Gff|ur0y%BHJX4+>(0qu%<1Fmz>vW=O9CL_yN3^5An4R} zcUZ-z3q)=fW*OP)y_#kEq|-D;?R}~$ZddC;o!OY)#UeeyX=G@JJLKOReu{Dlk-~(j zEBNA9a(erf!N$t-yB)U1y*%iu#^FrKZ0ot*sX7?g2>?(vJa+%lOR3}iB*$LswK5=4 zC2AwT&X<5Ay+!PXqnLkP_*2hK+0UE(MCTs9=QlgCc;G%{LD$<^5a8_LG;N;N5Y=B~ zGuPJEv*Wh9RuuCa9(=7cw!g^h>g!9TZ)RZ(&Y^P3PMx3VG`b70i2C@5uX2ZSp)4jZ zP6n3?O$CBxPnrO;uIcmv>o(IF`cLR7Ve_$)9;6eTi$0NLjYUX$A)DJWkBku*`&d z$C9$P#Rp+EqyGJ?Gn1FA?{1` zu-VbLIbCNgG=&A$aFVOE-Sh3x{*T9kbvtCu%9))wr8l}=!+9m}8oMOJj_5!bAtOg` zY9x#LUX8WJ>f`!)z^tEp$hdv0yR-HhLl-?1dlasK2 z5OnW6c=IXRIjy*?%s|U$r$!s!t0>p^>Zc^V!#AU*u; zswt6!Vs@R{(i5)jh69vt=DTTnxm4A>!|&lwp<`(+0fDS%*SNzok$W{*r#-q;`llCd z3-X*o$UX}e_6cj0UqnW1`sg@5F(F&Ow9KGUj8Qn{Qu2g17v^5^CioWhq-k}{W5ZZ$ z(t$jnWiCSR{p9)xf-y=$^7^0wZLLk^N zsiHo)UTbXq7_2@H8IP1dt3n}>n|*hQ8lyj5GCaAn`jYyO>5~L0=PwkZR?F0@l$+Aw zknmxHQ#=M)dyO7^51s0us4w8uWQB8L43LIwGu diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 9128654a5bab2bb3a6950afd52bbecf6f9c0d312..802e165550e053ffd68dfe8c475c27eb08385dff 100644 GIT binary patch literal 27189 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

+m zi2WPjm-ji12UP`umA2h4J8|E1hkvu{7VI$A;pGd#)U)NnR?A-Zs|G^!-HW%0A@x5< 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

vYQiUx#;=i8%vKf0;Za-=Z9oN5&fS#e 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 Mx}I8@icQ%60G2$GasU7T From 139508a9a4357f79490caf03e7056c6b9d77ae6a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 17 Feb 2020 22:36:57 -0700 Subject: [PATCH 141/221] Update drag_drop.dm --- code/_onclick/drag_drop.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index dc18107a95..9638b040f9 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -42,7 +42,7 @@ selected_target[1] = object selected_target[2] = params while(selected_target[1]) - Click(selected_target[1], location, control, selected_target[2]) + Click(selected_target[1], location, control, selected_target[2], TRUE) sleep(delay) active_mousedown_item = mob.canMobMousedown(object, location, params) if(active_mousedown_item) @@ -145,4 +145,4 @@ if (middragatom == src_object) middragtime = 0 middragatom = null - ..() \ No newline at end of file + ..() From ed46d3ca1c035d242fe107033fd0e33cfffb632f Mon Sep 17 00:00:00 2001 From: Winter Flare <7543955+Owai-Seek@users.noreply.github.com> Date: Tue, 18 Feb 2020 00:37:28 -0500 Subject: [PATCH 142/221] Typo --- code/modules/research/designs/misc_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 34e07a600b..df1c1edd9c 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -291,7 +291,7 @@ /datum/design/broom name = "Broom" - desc = "Just your everyday standard mop." + desc = "Just your everyday standard broom." id = "broom" build_type = PROTOLATHE materials = list(MAT_METAL = 1000, MAT_GLASS = 600) From 9dbc6ca18355e225900042f2241a5ce6e1e755c7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 17 Feb 2020 22:37:58 -0700 Subject: [PATCH 143/221] Update client_procs.dm --- code/modules/client/client_procs.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index e05cee3487..dc550179f8 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -737,13 +737,13 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) message_admins("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.") ip_intel = res.intel -/client/Click(atom/object, atom/location, control, params) +/client/Click(atom/object, atom/location, control, params, ignore_spam = FALSE) var/ab = FALSE var/list/L = params2list(params) if (object && object == middragatom && L["left"]) ab = max(0, 5 SECONDS-(world.time-middragtime)*0.1) var/mcl = CONFIG_GET(number/minute_click_limit) - if (!holder && mcl) + if (!holder && !ignore_spam && mcl) var/minute = round(world.time, 600) if (!clicklimiter) clicklimiter = new(LIMITER_SIZE) @@ -768,7 +768,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) return var/scl = CONFIG_GET(number/second_click_limit) - if (!holder && scl) + if (!holder && !ignore_spam && scl) var/second = round(world.time, 10) if (!clicklimiter) clicklimiter = new(LIMITER_SIZE) From 6a97006b12b28e00059033f326576b9050eac34b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 01:41:28 -0700 Subject: [PATCH 144/221] Update pai_defense.dm --- code/modules/mob/living/silicon/pai/pai_defense.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index d8e910642d..93cf10706a 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -56,7 +56,8 @@ if(P.stun) fold_in(force = TRUE) visible_message("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!") - return ..() + . = ..() + return BULLET_ACT_FORCE_PIERCE /mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") From 9264163d9390fb935abc273cb170970d8063e8e3 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 01:47:20 -0700 Subject: [PATCH 145/221] Update pai.dm --- code/modules/mob/living/silicon/pai/pai.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 409665f792..ebfe271609 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -74,7 +74,7 @@ var/emitteroverloadcd = 100 var/radio_short = FALSE - var/radio_short_cooldown = 5 MINUTES + var/radio_short_cooldown = 3 MINUTES var/radio_short_timerid canmove = FALSE From d6fe0df7ace9a71187f018c5b3e63f4292046ff5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 02:10:03 -0700 Subject: [PATCH 146/221] Update pai.dm --- code/modules/mob/living/silicon/pai/pai.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 409665f792..3197b16b1f 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -2,7 +2,6 @@ name = "pAI" icon = 'icons/mob/pai.dmi' icon_state = "repairbot" - mouse_opacity = MOUSE_OPACITY_OPAQUE density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_TINY From be45f89d8ec764bdcffbe7fe8d67873f506889e9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:12:54 -0600 Subject: [PATCH 147/221] Automatic changelog generation for PR #11119 [ci skip] --- html/changelogs/AutoChangeLog-pr-11119.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11119.yml diff --git a/html/changelogs/AutoChangeLog-pr-11119.yml b/html/changelogs/AutoChangeLog-pr-11119.yml new file mode 100644 index 0000000000..4a0dc59c65 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11119.yml @@ -0,0 +1,6 @@ +author: "Ghommie" +delete-after: True +changes: + - rscdel: "Renamed \"blaster carbine\" and \"blaster rifles\" back to \"energy gun\" and \"laser gun\" respectively" + - bugfix: "Fixed magnetic rifles & co being inconsistent with printed energy guns and start with an empty power cell." + - imagedel: "Reverted practice laser gun sprites back to their former glory. Mostly." From 1cf45e43151d2134edeead874f7573859f714840 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:13:55 -0600 Subject: [PATCH 148/221] Automatic changelog generation for PR #11104 [ci skip] --- html/changelogs/AutoChangeLog-pr-11104.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11104.yml diff --git a/html/changelogs/AutoChangeLog-pr-11104.yml b/html/changelogs/AutoChangeLog-pr-11104.yml new file mode 100644 index 0000000000..205af650a9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11104.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - server: "Express console is now logging what it buys, like the normal console should" From 97462c6ffb0370927f2c5cf4084e52a69f04dc06 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:18:06 -0600 Subject: [PATCH 149/221] Automatic changelog generation for PR #11111 [ci skip] --- html/changelogs/AutoChangeLog-pr-11111.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11111.yml diff --git a/html/changelogs/AutoChangeLog-pr-11111.yml b/html/changelogs/AutoChangeLog-pr-11111.yml new file mode 100644 index 0000000000..4e947ed297 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11111.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed virology being unable to be done with synthetic blood." From a221280ab5dbfa0dae53554a4852a44ac076f1b6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:19:00 -0600 Subject: [PATCH 150/221] Automatic changelog generation for PR #11112 [ci skip] --- html/changelogs/AutoChangeLog-pr-11112.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11112.yml diff --git a/html/changelogs/AutoChangeLog-pr-11112.yml b/html/changelogs/AutoChangeLog-pr-11112.yml new file mode 100644 index 0000000000..f54e2e0192 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11112.yml @@ -0,0 +1,9 @@ +author: "necromanceranne" +delete-after: True +changes: + - balance: "Reverted #9092, crew mecha no longer spawn with tracking beacons." + - balance: "[Port] Mecha ballistics weapons now require ammo created from an Exosuit Fabricator or the Security Protolathe, though they will start with a full magazine and in most cases enough for one full reload. Reloading these weapons no longer chunks your power cell. Clown (and mime) mecha equipment have not changed." + - balance: "[Port] The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8)." + - balance: "[Port] Both Missile Launchers and the Clusterbang Launcher do not have an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded ammo has been spent, you can use the appropriate ammo box to load the weapon directly." + - rscadd: "[Port] Utility mechs that have a clamp equipped can load ammo from their own cargo hold into other mechs." + - rscadd: "[Port] Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, should they run low." From 47adcaa5c59de7c39df3bba6b89b516720d0e8d0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:21:19 -0600 Subject: [PATCH 151/221] Automatic changelog generation for PR #11087 [ci skip] --- html/changelogs/AutoChangeLog-pr-11087.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11087.yml diff --git a/html/changelogs/AutoChangeLog-pr-11087.yml b/html/changelogs/AutoChangeLog-pr-11087.yml new file mode 100644 index 0000000000..179ef6a2b7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11087.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed solar panels/trackers (de)construction being a bit wonky." From 1c156996f4a2995372b2964c575fb2436e1864eb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 03:21:39 -0600 Subject: [PATCH 152/221] Automatic changelog generation for PR #11082 [ci skip] --- html/changelogs/AutoChangeLog-pr-11082.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11082.yml diff --git a/html/changelogs/AutoChangeLog-pr-11082.yml b/html/changelogs/AutoChangeLog-pr-11082.yml new file mode 100644 index 0000000000..89d9b4ca52 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11082.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "Preservahyde! Made with water, bromine, and formaldehyde, it doesn't decay into histamine. Instead, it just prevents your organs from rotting into nothing." From 53d7192c9c5087ca0a9a6e0905e0c0b2ae52aaf9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 03:12:57 -0700 Subject: [PATCH 153/221] k --- .../bloodsucker/datum_bloodsucker.dm | 4 +- .../powers/{bs_brawn.dm => brawn.dm} | 0 .../powers/{bs_cloak.dm => cloak.dm} | 0 .../powers/{bs_feed.dm => feed.dm} | 0 .../powers/{bs_fortitude.dm => fortitude.dm} | 0 .../powers/{bs_gohome.dm => go_home.dm} | 14 ++-- .../powers/{bs_haste.dm => haste.dm} | 65 ++++++++++--------- .../powers/{bs_lunge.dm => lunge.dm} | 0 .../{bs_masquerade.dm => masquerade.dm} | 0 .../powers/{bs_mesmerize.dm => mesmerize.dm} | 0 .../powers/{v_recuperate.dm => recuperate.dm} | 0 .../powers/{bs_trespass.dm => trespass.dm} | 0 .../powers/{bs_veil.dm => veil.dm} | 0 tgstation.dme | 24 +++---- 14 files changed, 55 insertions(+), 52 deletions(-) rename code/modules/antagonists/bloodsucker/powers/{bs_brawn.dm => brawn.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_cloak.dm => cloak.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_feed.dm => feed.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_fortitude.dm => fortitude.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_gohome.dm => go_home.dm} (97%) rename code/modules/antagonists/bloodsucker/powers/{bs_haste.dm => haste.dm} (53%) rename code/modules/antagonists/bloodsucker/powers/{bs_lunge.dm => lunge.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_masquerade.dm => masquerade.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_mesmerize.dm => mesmerize.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{v_recuperate.dm => recuperate.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_trespass.dm => trespass.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_veil.dm => veil.dm} (100%) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 24e967f00b..5207f7a66d 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -286,10 +286,10 @@ var/mob/living/L = owner.current level_bloodcost = maxBloodVolume * 0.2 //If the blood volume of the bloodsucker is lower than the cost to level up, return and inform the bloodsucker - + //TODO: Make this into a radial, or perhaps a tgui next UI // Purchase Power Prompt - var/list/options = list() + var/list/options = list() for(var/pickedpower in typesof(/datum/action/bloodsucker)) var/datum/action/bloodsucker/power = pickedpower // If I don't own it, and I'm allowed to buy it. diff --git a/code/modules/antagonists/bloodsucker/powers/bs_brawn.dm b/code/modules/antagonists/bloodsucker/powers/brawn.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_brawn.dm rename to code/modules/antagonists/bloodsucker/powers/brawn.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm b/code/modules/antagonists/bloodsucker/powers/cloak.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_cloak.dm rename to code/modules/antagonists/bloodsucker/powers/cloak.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_feed.dm rename to code/modules/antagonists/bloodsucker/powers/feed.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_fortitude.dm rename to code/modules/antagonists/bloodsucker/powers/fortitude.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm b/code/modules/antagonists/bloodsucker/powers/go_home.dm similarity index 97% rename from code/modules/antagonists/bloodsucker/powers/bs_gohome.dm rename to code/modules/antagonists/bloodsucker/powers/go_home.dm index 476f8ae012..87c3d4ab0d 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm +++ b/code/modules/antagonists/bloodsucker/powers/go_home.dm @@ -28,9 +28,9 @@ to_chat(owner, "Your coffin has been destroyed!") return FALSE return TRUE - + /datum/action/bloodsucker/gohome/proc/flicker_lights(var/flicker_range, var/beat_volume) - for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) + for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, 1) @@ -45,7 +45,7 @@ flicker_lights(4, 40) sleep(50) flicker_lights(4, 60) - for(var/obj/machinery/light/L in view(6, get_turf(owner))) + for(var/obj/machinery/light/L in view(6, get_turf(owner))) L.flicker(5) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', 60, 1) // ( STEP TWO: Lights OFF? ) @@ -56,7 +56,7 @@ if(!owner) return // SEEN?: (effects ONLY if there are witnesses! Otherwise you just POOF) - + var/am_seen = FALSE // Do Effects (seen by anyone) var/drop_item = FALSE // Drop Stuff (seen by non-vamp) if(isturf(owner.loc)) // Only check if I'm not in a Locker or something. @@ -95,12 +95,12 @@ puff.effect_type = /obj/effect/particle_effect/smoke/vampsmoke puff.set_up(3, 0, get_turf(owner)) puff.start() - + //STEP FIVE: Create animal at prev location var/mob/living/simple_animal/SA = pick(/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse, /mob/living/simple_animal/hostile/retaliate/bat) //prob(300) /mob/living/simple_animal/mouse, new SA (owner.loc) // TELEPORT: Move to Coffin & Close it! - do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) + do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) user.resting = TRUE user.Stun(30,1) // CLOSE LID: If fail, force me in. @@ -112,4 +112,4 @@ bloodsuckerdatum.coffin.update_icon() // Lock Coffin bloodsuckerdatum.coffin.LockMe(owner) - + diff --git a/code/modules/antagonists/bloodsucker/powers/bs_haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm similarity index 53% rename from code/modules/antagonists/bloodsucker/powers/bs_haste.dm rename to code/modules/antagonists/bloodsucker/powers/haste.dm index a1aaf50499..ba656626cc 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -14,6 +14,9 @@ message_Trigger = ""//"Whom will you subvert to your will?" bloodsucker_can_buy = TRUE must_be_capacitated = TRUE + var/list/hit //current hit, set while power is in use as we can't pass the list as an extra calling argument in registersignal. + /// If set, uses this speed in deciseconds instead of world.tick_lag + var/speed_override /datum/action/bloodsucker/targeted/haste/CheckCanUse(display_error) . = ..() @@ -43,43 +46,43 @@ return TRUE /datum/action/bloodsucker/targeted/haste/FireTargetedPower(atom/A) - // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. + // This is a non-async proc to make sure the power is "locked" until this finishes. + RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) var/mob/living/user = owner var/turf/T = isturf(A) ? A : get_turf(A) // Pulled? Not anymore. - owner.pulledby = null - // Step One: Heatseek toward Target's Turf - walk_to(owner, T, 0, 0.01, 20) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. + user.pulledby?.stop_pulling() + // Go to target turf + // DO NOT USE WALK TO. playsound(get_turf(owner), 'sound/weapons/punchmiss.ogg', 25, 1, -1) - var/safety = 20 - while(get_turf(owner) != T && safety > 0 && !(isliving(target) && target.Adjacent(owner))) - user.canmove = FALSE //Dont move while doing the thing, or itll break - safety -- - // Did I get knocked down? - if(owner && owner.incapacitated(ignore_restraints=TRUE, ignore_grab=TRUE))// owner.incapacitated()) - // We're gonna cancel. But am I on the ground? Spin me! - if(user.resting) - var/send_dir = get_dir(owner, T) - new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) - owner.spin(10) + var/safety = get_dist(user, T) * 3 + 1 + var/consequetive_failures = 0 + var/speed = isnull(speed_override)? world.tick_lag : speed_override + while(--safety && (get_turf(user) != T)) + var/success = step_towards(user, T) //This does not try to go around obstacles. + if(!success) + success = step_to(user, T) //this does + if(!sucecss) + if(++consequetive_failures > 3) //if 3 steps don't work + break //just stop + else + consequetive_failures = 0 + if(user.resting) + user.setDir(turn(user.dir, 90)) //down? spin2win :^) + if(user.incapacitated(ignore_restraints = TRUE, ignore_grab = TRUE)) //actually down? stop. break - // Spin/Stun people we pass. - //var/mob/living/newtarget = locate(/mob/living) in oview(1, owner) - var/list/mob/living/foundtargets = list() - for(var/mob/living/newtarget in oview(1, owner)) - if (newtarget && newtarget != target && !(newtarget in foundtargets))//!newtarget.IsKnockdown()) - if (rand(0, 5) < level_current) - playsound(get_turf(newtarget), "sound/weapons/punch[rand(1,4)].ogg", 15, 1, -1) - newtarget.Knockdown(10 + level_current * 5) - if(newtarget.IsStun()) - newtarget.spin(10,1) - if (rand(0,4)) - newtarget.drop_all_held_items() - foundtargets += newtarget - sleep(1) - if(user) - user.update_canmove() //Let the poor guy move again + sleep(speed) + UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) + user.update_canmove() /datum/action/bloodsucker/targeted/haste/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE user.update_canmove() + +/datum/action/bloodsucker/targeted/haste/proc/on_move() + for(var/mob/living/L in dview(1, get_turf(owner))) + if(hit[AM] && (AM != owner)) + hit[L] = TRUE + playsound(L, "sound/weapons/punch[rand(1,4)].ogg", 15, 1, -1) + L.Knockdown(10 + level_current * 5, override_hardstun = 0.1) + L.spin(10, 1) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_lunge.dm rename to code/modules/antagonists/bloodsucker/powers/lunge.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_masquerade.dm b/code/modules/antagonists/bloodsucker/powers/masquerade.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_masquerade.dm rename to code/modules/antagonists/bloodsucker/powers/masquerade.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm rename to code/modules/antagonists/bloodsucker/powers/mesmerize.dm diff --git a/code/modules/antagonists/bloodsucker/powers/v_recuperate.dm b/code/modules/antagonists/bloodsucker/powers/recuperate.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/v_recuperate.dm rename to code/modules/antagonists/bloodsucker/powers/recuperate.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_trespass.dm b/code/modules/antagonists/bloodsucker/powers/trespass.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_trespass.dm rename to code/modules/antagonists/bloodsucker/powers/trespass.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_veil.dm b/code/modules/antagonists/bloodsucker/powers/veil.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_veil.dm rename to code/modules/antagonists/bloodsucker/powers/veil.dm diff --git a/tgstation.dme b/tgstation.dme index 0b7ad871c3..138d586fc4 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1298,18 +1298,18 @@ #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm" #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm" #include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_brawn.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_cloak.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_feed.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_fortitude.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_gohome.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_haste.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_lunge.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_masquerade.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_mesmerize.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_trespass.dm" -#include "code\modules\antagonists\bloodsucker\powers\bs_veil.dm" -#include "code\modules\antagonists\bloodsucker\powers\v_recuperate.dm" +#include "code\modules\antagonists\bloodsucker\powers\brawn.dm" +#include "code\modules\antagonists\bloodsucker\powers\cloak.dm" +#include "code\modules\antagonists\bloodsucker\powers\feed.dm" +#include "code\modules\antagonists\bloodsucker\powers\fortitude.dm" +#include "code\modules\antagonists\bloodsucker\powers\go_home.dm" +#include "code\modules\antagonists\bloodsucker\powers\haste.dm" +#include "code\modules\antagonists\bloodsucker\powers\lunge.dm" +#include "code\modules\antagonists\bloodsucker\powers\masquerade.dm" +#include "code\modules\antagonists\bloodsucker\powers\mesmerize.dm" +#include "code\modules\antagonists\bloodsucker\powers\recuperate.dm" +#include "code\modules\antagonists\bloodsucker\powers\trespass.dm" +#include "code\modules\antagonists\bloodsucker\powers\veil.dm" #include "code\modules\antagonists\brainwashing\brainwashing.dm" #include "code\modules\antagonists\brother\brother.dm" #include "code\modules\antagonists\changeling\cellular_emporium.dm" From 1e57463d1b1b42cf0e767ac58f45e9fdc33e1907 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 03:16:47 -0700 Subject: [PATCH 154/221] k --- code/modules/antagonists/bloodsucker/powers/haste.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index ba656626cc..77f8e74efc 100644 --- a/code/modules/antagonists/bloodsucker/powers/haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -62,7 +62,7 @@ var/success = step_towards(user, T) //This does not try to go around obstacles. if(!success) success = step_to(user, T) //this does - if(!sucecss) + if(!success) if(++consequetive_failures > 3) //if 3 steps don't work break //just stop else @@ -81,7 +81,7 @@ /datum/action/bloodsucker/targeted/haste/proc/on_move() for(var/mob/living/L in dview(1, get_turf(owner))) - if(hit[AM] && (AM != owner)) + if(!hit[L] && (L != owner)) hit[L] = TRUE playsound(L, "sound/weapons/punch[rand(1,4)].ogg", 15, 1, -1) L.Knockdown(10 + level_current * 5, override_hardstun = 0.1) From ef05410b758835f7986115f04a8b76089eb1fd58 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 03:32:04 -0700 Subject: [PATCH 155/221] k --- code/modules/antagonists/bloodsucker/powers/haste.dm | 2 ++ code/modules/antagonists/bloodsucker/powers/masquerade.dm | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index 77f8e74efc..7a86a6dd3d 100644 --- a/code/modules/antagonists/bloodsucker/powers/haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -47,6 +47,7 @@ /datum/action/bloodsucker/targeted/haste/FireTargetedPower(atom/A) // This is a non-async proc to make sure the power is "locked" until this finishes. + hit = list() RegisterSignal(owner, COMSIG_MOVABLE_MOVED, .proc/on_move) var/mob/living/user = owner var/turf/T = isturf(A) ? A : get_turf(A) @@ -73,6 +74,7 @@ break sleep(speed) UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) + hit = null user.update_canmove() /datum/action/bloodsucker/targeted/haste/DeactivatePower(mob/living/user = owner, mob/living/target) diff --git a/code/modules/antagonists/bloodsucker/powers/masquerade.dm b/code/modules/antagonists/bloodsucker/powers/masquerade.dm index 0435ddccd5..7d41899dc2 100644 --- a/code/modules/antagonists/bloodsucker/powers/masquerade.dm +++ b/code/modules/antagonists/bloodsucker/powers/masquerade.dm @@ -54,8 +54,8 @@ REMOVE_TRAIT(user, TRAIT_VIRUSIMMUNE, "bloodsucker") var/obj/item/organ/heart/vampheart/H = user.getorganslot(ORGAN_SLOT_HEART) var/obj/item/organ/eyes/vassal/bloodsucker/E = user.getorganslot(ORGAN_SLOT_EYES) - E.flash_protect = 0 - + E.flash_protect = 0 + // WE ARE ALIVE! // bloodsuckerdatum.poweron_masquerade = TRUE while(bloodsuckerdatum && ContinueActive(user)) From 3785c94a1b0280fba4f3cfb68127eb369e9d1b8a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Feb 2020 03:57:39 -0700 Subject: [PATCH 156/221] more responsive --- code/modules/antagonists/bloodsucker/powers/haste.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/haste.dm b/code/modules/antagonists/bloodsucker/powers/haste.dm index 7a86a6dd3d..47c93b794e 100644 --- a/code/modules/antagonists/bloodsucker/powers/haste.dm +++ b/code/modules/antagonists/bloodsucker/powers/haste.dm @@ -64,7 +64,7 @@ if(!success) success = step_to(user, T) //this does if(!success) - if(++consequetive_failures > 3) //if 3 steps don't work + if(++consequetive_failures >= 3) //if 3 steps don't work break //just stop else consequetive_failures = 0 @@ -72,7 +72,8 @@ user.setDir(turn(user.dir, 90)) //down? spin2win :^) if(user.incapacitated(ignore_restraints = TRUE, ignore_grab = TRUE)) //actually down? stop. break - sleep(speed) + if(success) //don't sleep if we failed to move. + sleep(speed) UnregisterSignal(owner, COMSIG_MOVABLE_MOVED) hit = null user.update_canmove() From 541ecffa1aa3f1eefc4d9e2fb3a2d83b623963cd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 08:52:20 -0600 Subject: [PATCH 157/221] Automatic changelog generation for PR #11134 [ci skip] --- html/changelogs/AutoChangeLog-pr-11134.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11134.yml diff --git a/html/changelogs/AutoChangeLog-pr-11134.yml b/html/changelogs/AutoChangeLog-pr-11134.yml new file mode 100644 index 0000000000..8ec6c97164 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11134.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - bugfix: "mechs with stock parts now have icons" From 698f0b8177c7c17019b8b25582f2a6499b5fd898 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 18 Feb 2020 16:20:44 +0100 Subject: [PATCH 158/221] Something about pAIs and silicon access priviledges. --- code/__DEFINES/robots.dm | 8 +++++++- code/game/machinery/bloodbankgen.dm | 16 ++++++++-------- code/game/machinery/computer/camera_advanced.dm | 2 +- code/game/machinery/cryopod.dm | 2 +- code/game/machinery/iv_drip.dm | 2 +- code/game/objects/items/RCD.dm | 2 +- code/modules/admin/admin_verbs.dm | 2 +- .../antagonists/bloodsucker/powers/bs_feed.dm | 2 +- .../antagonists/bloodsucker/powers/bs_gohome.dm | 16 ++++++++-------- code/modules/atmospherics/machinery/airalarm.dm | 12 +++++++----- code/modules/cargo/expressconsole.dm | 2 +- .../kitchen_machinery/icecream_vat.dm | 2 +- code/modules/mob/dead/observer/login.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 3 +++ code/modules/mob/living/carbon/human/human.dm | 3 --- code/modules/mob/living/silicon/pai/pai.dm | 1 + code/modules/mob/living/silicon/silicon.dm | 2 +- code/modules/mob/living/simple_animal/bot/bot.dm | 2 +- .../mob/living/simple_animal/bot/mulebot.dm | 8 ++++---- .../simple_animal/friendly/drone/_drone.dm | 2 +- .../mob/living/simple_animal/hostile/statue.dm | 2 +- code/modules/mob/mob_defines.dm | 2 +- code/modules/mob/mob_helpers.dm | 6 +++--- code/modules/oracle_ui/hookup_procs.dm | 4 ++-- code/modules/power/apc.dm | 14 +++++++------- .../chemistry/machinery/chem_dispenser.dm | 2 +- .../reagents/chemistry/machinery/chem_heater.dm | 2 +- .../reagents/chemistry/machinery/chem_master.dm | 4 ++-- .../reagents/chemistry/machinery/pandemic.dm | 8 ++++---- .../chemistry/machinery/reagentgrinder.dm | 2 +- 30 files changed, 73 insertions(+), 64 deletions(-) diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm index a05e6f6160..affa23d30a 100644 --- a/code/__DEFINES/robots.dm +++ b/code/__DEFINES/robots.dm @@ -53,4 +53,10 @@ //Checks to determine borg availability depending on the server's config. These are defines in the interest of reducing copypasta -#define BORG_SEC_AVAILABLE (!CONFIG_GET(flag/disable_secborg) && GLOB.security_level >= CONFIG_GET(number/minimum_secborg_alert)) \ No newline at end of file +#define BORG_SEC_AVAILABLE (!CONFIG_GET(flag/disable_secborg) && GLOB.security_level >= CONFIG_GET(number/minimum_secborg_alert)) + +//silicon_priviledges flags +#define PRIVILEDGES_SILICON (1<<0) +#define PRIVILEDGES_PAI (1<<1) +#define PRIVILEDGES_BOT (1<<2) +#define PRIVILEDGES_DRONE (1<<3) diff --git a/code/game/machinery/bloodbankgen.dm b/code/game/machinery/bloodbankgen.dm index cb25adc126..19632711fc 100644 --- a/code/game/machinery/bloodbankgen.dm +++ b/code/game/machinery/bloodbankgen.dm @@ -274,20 +274,20 @@ return TRUE -/obj/machinery/bloodbankgen/proc/detachinput() +/obj/machinery/bloodbankgen/proc/detachinput(mob/user) if(bag) bag.forceMove(drop_location()) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) - usr.put_in_hands(bag) + if(user && Adjacent(usr) && user.can_hold_items()) + user.put_in_hands(bag) bag = null draining = null update_icon() -/obj/machinery/bloodbankgen/proc/detachoutput() +/obj/machinery/bloodbankgen/proc/detachoutput(mob/user) if(outbag) outbag.forceMove(drop_location()) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) - usr.put_in_hands(outbag) + if(user && Adjacent(user) && user.can_hold_items()) + user.put_in_hands(outbag) outbag = null filling = null update_icon() @@ -325,12 +325,12 @@ activateinput() else if(href_list["detachinput"]) - detachinput() + detachinput(usr) else if(href_list["activateoutput"]) activateoutput() else if(href_list["detachoutput"]) - detachoutput() + detachoutput(usr) updateUsrDialog() diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index e5ac9a0f78..5fe62ebb76 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -72,7 +72,7 @@ playsound(src, 'sound/machines/terminal_off.ogg', 25, 0) /obj/machinery/computer/camera_advanced/check_eye(mob/user) - if( (stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.eye_blind || user.incapacitated() ) + if( (stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && hasSiliconAccessInArea(user)) || user.eye_blind || user.incapacitated() ) user.unset_machine() /obj/machinery/computer/camera_advanced/Destroy() diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index b33b87f8b1..92927d047d 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -116,7 +116,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) I.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(I) frozen_items -= I updateUsrDialog() diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 6d19776d86..b3f0ce9693 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -184,7 +184,7 @@ if(usr.incapacitated()) return if(beaker) - if(usr && Adjacent(usr) && !issiliconoradminghost(usr)) + if(usr && Adjacent(usr) && usr.can_hold_items()) if(!usr.put_in_hands(beaker)) beaker.forceMove(drop_location()) beaker = null diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 3f57fa7cdf..3fad8cc53d 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -196,7 +196,7 @@ RLD /obj/item/construction/rcd/verb/change_airlock_access(mob/user) - if (!ishuman(user) && !user.has_unlimited_silicon_privilege) + if (!ishuman(user) && !user.silicon_privileges) return var/t1 = "" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index f23fc5c070..3ccd113864 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -714,7 +714,7 @@ GLOBAL_PROTECT(admin_verbs_hideable) AI_Interact = !AI_Interact if(mob && IsAdminGhost(mob)) - mob.has_unlimited_silicon_privilege = AI_Interact + mob.silicon_privileges = AI_Interact ? ALL : NONE log_admin("[key_name(usr)] has [AI_Interact ? "activated" : "deactivated"] Admin AI Interact") message_admins("[key_name_admin(usr)] has [AI_Interact ? "activated" : "deactivated"] their AI interaction") diff --git a/code/modules/antagonists/bloodsucker/powers/bs_feed.dm b/code/modules/antagonists/bloodsucker/powers/bs_feed.dm index 2da84b6075..f9ff31d94a 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_feed.dm @@ -170,7 +170,7 @@ // Warn Feeder about Witnesses... var/was_unnoticed = TRUE for(var/mob/living/M in viewers(notice_range, owner)) - if(M != owner && M != target && iscarbon(M) && M.mind && !M.has_unlimited_silicon_privilege && !M.eye_blind && !M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + if(M != owner && M != target && iscarbon(M) && M.mind && !M.silicon_privileges && !M.eye_blind && !M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) was_unnoticed = FALSE break if(was_unnoticed) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm b/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm index 476f8ae012..3fa8a07299 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_gohome.dm @@ -28,9 +28,9 @@ to_chat(owner, "Your coffin has been destroyed!") return FALSE return TRUE - + /datum/action/bloodsucker/gohome/proc/flicker_lights(var/flicker_range, var/beat_volume) - for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) + for(var/obj/machinery/light/L in view(flicker_range, get_turf(owner))) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, 1) @@ -45,7 +45,7 @@ flicker_lights(4, 40) sleep(50) flicker_lights(4, 60) - for(var/obj/machinery/light/L in view(6, get_turf(owner))) + for(var/obj/machinery/light/L in view(6, get_turf(owner))) L.flicker(5) playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', 60, 1) // ( STEP TWO: Lights OFF? ) @@ -56,7 +56,7 @@ if(!owner) return // SEEN?: (effects ONLY if there are witnesses! Otherwise you just POOF) - + var/am_seen = FALSE // Do Effects (seen by anyone) var/drop_item = FALSE // Drop Stuff (seen by non-vamp) if(isturf(owner.loc)) // Only check if I'm not in a Locker or something. @@ -65,7 +65,7 @@ if(T && T.lighting_object && T.get_lumcount()>= 0.1) // B) Check for Viewers for(var/mob/living/M in viewers(get_turf(owner))) - if(M != owner && isliving(M) && M.mind && !M.has_unlimited_silicon_privilege && !M.eye_blind) // M.client <--- add this in after testing! + if(M != owner && isliving(M) && M.mind && !M.silicon_privileges && !M.eye_blind) // M.client <--- add this in after testing! am_seen = TRUE if (!M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) drop_item = TRUE @@ -95,12 +95,12 @@ puff.effect_type = /obj/effect/particle_effect/smoke/vampsmoke puff.set_up(3, 0, get_turf(owner)) puff.start() - + //STEP FIVE: Create animal at prev location var/mob/living/simple_animal/SA = pick(/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse,/mob/living/simple_animal/mouse, /mob/living/simple_animal/hostile/retaliate/bat) //prob(300) /mob/living/simple_animal/mouse, new SA (owner.loc) // TELEPORT: Move to Coffin & Close it! - do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) + do_teleport(owner, bloodsuckerdatum.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) user.resting = TRUE user.Stun(30,1) // CLOSE LID: If fail, force me in. @@ -112,4 +112,4 @@ bloodsuckerdatum.coffin.update_icon() // Lock Coffin bloodsuckerdatum.coffin.LockMe(owner) - + diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index e85cf1efa6..36a128f2eb 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -229,7 +229,7 @@ . += "Alt-click to [locked ? "unlock" : "lock"] the interface." /obj/machinery/airalarm/ui_status(mob/user) - if(user.has_unlimited_silicon_privilege && aidisabled) + if(hasSiliconAccessInArea(user) && aidisabled) to_chat(user, "AI control has been disabled.") else if(!shorted) return ..() @@ -245,7 +245,7 @@ /obj/machinery/airalarm/ui_data(mob/user) var/data = list( "locked" = locked, - "siliconUser" = user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user), + "siliconUser" = hasSiliconAccessInArea(user), "emagged" = (obj_flags & EMAGGED ? 1 : 0), "danger_level" = danger_level, ) @@ -288,7 +288,7 @@ "danger_level" = cur_tlv.get_danger_level(environment.gases[gas_id] * partial_pressure) )) - if(!locked || user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user)) + if(!locked || hasSiliconAccessInArea(user, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE)) data["vents"] = list() for(var/id_tag in A.air_vent_names) var/long_name = A.air_vent_names[id_tag] @@ -368,12 +368,14 @@ /obj/machinery/airalarm/ui_act(action, params) if(..() || buildstage != 2) return - if((locked && !usr.has_unlimited_silicon_privilege && !hasSiliconAccessInArea(usr)) || (usr.has_unlimited_silicon_privilege && aidisabled)) + var/silicon_access = hasSiliconAccessInArea(usr) + var/bot_priviledges = silicon_access || (usr.silicon_privileges & PRIVILEDGES_DRONE) + if((locked && !bot_priviledges) || (silicon_access && aidisabled)) return var/device_id = params["id_tag"] switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege && !wires.is_cut(WIRE_IDSCAN)) + if(bot_priviledges && !wires.is_cut(WIRE_IDSCAN)) locked = !locked . = TRUE if("power", "toggle_filter", "widenet", "scrubbing") diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 20dc724707..dbf10e837f 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -97,7 +97,7 @@ var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? var/list/data = list() data["locked"] = locked//swipe an ID to unlock - data["siliconUser"] = user.has_unlimited_silicon_privilege + data["siliconUser"] = hasSiliconAccessInArea(user) data["beaconzone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui data["usingBeacon"] = usingBeacon //is the mode set to deliver to the beacon or the cargobay? data["canBeacon"] = !usingBeacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 71becf0542..4fc55ba4c3 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -319,7 +319,7 @@ /obj/machinery/icecream_vat/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 1b328dbc69..8daf8ec052 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -6,7 +6,7 @@ var/preferred_form = null if(IsAdminGhost(src)) - has_unlimited_silicon_privilege = 1 + silicon_privileges = ALL if(client.prefs.unlock_content) preferred_form = client.prefs.ghost_form diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6460d8331d..b5e9e4f1d7 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -987,3 +987,6 @@ return TRUE if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS)) return TRUE + +/mob/living/carbon/can_hold_items() + return TRUE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ef3d4cbb98..f41b19aa83 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -823,9 +823,6 @@ . += dna.species.check_weakness(weapon, attacker) /mob/living/carbon/human/is_literate() - return 1 - -/mob/living/carbon/human/can_hold_items() return TRUE /mob/living/carbon/human/update_gravity(has_gravity,override = 0) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 409665f792..ee78a8a5d6 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -11,6 +11,7 @@ health = 500 maxHealth = 500 layer = BELOW_MOB_LAYER + silicon_privileges = PRIVILEDGES_PAI var/datum/element/mob_holder/current_mob_holder //because only a few of their chassis can be actually held. var/network = "ss13" diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 72e98e348c..531faff056 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -1,6 +1,6 @@ /mob/living/silicon gender = NEUTER - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_SILICON verb_say = "states" verb_ask = "queries" verb_exclaim = "declares" diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 7da0ad13da..3a28a32f9c 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -15,7 +15,7 @@ maxbodytemp = INFINITY minbodytemp = 0 blood_volume = 0 - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_BOT sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush verb_say = "states" diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index b23f3f2baa..be9ffb7479 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -180,7 +180,7 @@ var/list/data = list() data["on"] = on data["locked"] = locked - data["siliconUser"] = user.has_unlimited_silicon_privilege + data["siliconUser"] = hasSiliconAccessInArea(usr) data["mode"] = mode ? mode_name[mode] : "Ready" data["modeStatus"] = "" switch(mode) @@ -205,11 +205,12 @@ return data /mob/living/simple_animal/bot/mulebot/ui_act(action, params) - if(..() || (locked && !usr.has_unlimited_silicon_privilege)) + var/silicon_access = hasSiliconAccessInArea(usr) + if(..() || (locked && silicon_access)) return switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege) + if(silicon_access) locked = !locked . = TRUE if("power") @@ -766,4 +767,3 @@ /obj/machinery/bot_core/mulebot req_access = list(ACCESS_CARGO) - \ No newline at end of file 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 7dd373b49f..43149e6ba7 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -41,7 +41,7 @@ bubble_icon = "machine" initial_language_holder = /datum/language_holder/drone mob_size = MOB_SIZE_SMALL - has_unlimited_silicon_privilege = 1 + silicon_privileges = PRIVILEDGES_DRONE damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) hud_possible = list(DIAG_STAT_HUD, DIAG_HUD, ANTAG_HUD) unique_name = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 5ad787b143..2bab332cd0 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -126,7 +126,7 @@ // This loop will, at most, loop twice. for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) - if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) + if(M.client && CanAttack(M) && !M.silicon_privileges) if(!M.eye_blind) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 6d5ae72e77..c45f6eec13 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -95,7 +95,7 @@ var/digitalinvis = 0 //Are they ivisible to the AI? var/image/digitaldisguise = null //what does the AI see instead of them? - var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics + var/silicon_privileges = NONE // Can they interact with station electronics var/obj/control_object //Used by admins to possess objects. All mobs should have this var var/atom/movable/remote_control //Calls relaymove() to whatever it is diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index b25531f0e0..12d74d2f8f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -406,8 +406,8 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return return TRUE -/atom/proc/hasSiliconAccessInArea(mob/user) - return user && (issilicon(user) || (user.siliconaccesstoggle && (get_area(src) in user.siliconaccessareas))) +/atom/proc/hasSiliconAccessInArea(mob/user, flags = PRIVILEDGES_SILICON) + return user.silicon_privileges & (flags) || (user.siliconaccesstoggle && (get_area(src) in user.siliconaccessareas)) /mob/proc/toggleSiliconAccessArea(area/area) if (area in siliconaccessareas) @@ -555,4 +555,4 @@ It's fairly easy to fix if dealing with single letters but not so much with comp //Can the mob see reagents inside of containers? /mob/proc/can_see_reagents() - return stat == DEAD || has_unlimited_silicon_privilege //Dead guys and silicons can always see reagents + return stat == DEAD || silicon_privileges //Dead guys and silicons can always see reagents diff --git a/code/modules/oracle_ui/hookup_procs.dm b/code/modules/oracle_ui/hookup_procs.dm index 18d7bbfd8c..30db9d92b9 100644 --- a/code/modules/oracle_ui/hookup_procs.dm +++ b/code/modules/oracle_ui/hookup_procs.dm @@ -5,7 +5,7 @@ return "Default Implementation" /datum/proc/oui_canuse(mob/user) - if(isobserver(user) && !user.has_unlimited_silicon_privilege) + if(isobserver(user) && !user.silicon_privileges) return FALSE return oui_canview(user) @@ -35,7 +35,7 @@ return ..() /obj/machinery/oui_canview(mob/user) - if(user.has_unlimited_silicon_privilege || hasSiliconAccessInArea(user)) + if(hasSiliconAccessInArea(user, ALL)) return TRUE if(!can_interact(user)) return FALSE diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 982afa49c8..db3e3c83c6 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -846,7 +846,7 @@ return /obj/machinery/power/apc/oui_canview(mob/user) - if(user.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(user)) + if(area.hasSiliconAccessInArea(user)) //some APCs are mapped outside their assigned area, so this is required. return TRUE return ..() @@ -864,7 +864,7 @@ if (H && !H.stealthmode && H.toggled) abilitiesavail = TRUE var/list/data = list( - "locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user), + "locked" = locked && !(integration_cog && is_servant_of_ratvar(user)) && !area.hasSiliconAccessInArea(user, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE), "lock_nightshift" = nightshift_requires_auth, "failTime" = failure_timer, "isOperating" = operating, @@ -874,7 +874,7 @@ "chargingStatus" = charging, "totalLoad" = DisplayPower(lastused_total), "coverLocked" = coverlocked, - "siliconUser" = user.has_unlimited_silicon_privilege || user.using_power_flow_console() || area.hasSiliconAccessInArea(user), + "siliconUser" = user.using_power_flow_console() || area.hasSiliconAccessInArea(user), "malfStatus" = get_malf_status(user), "emergencyLights" = !emergency_lights, "nightshiftLights" = nightshift_lights, @@ -951,7 +951,7 @@ return TRUE if (user == hijacker || (area.hasSiliconAccessInArea(user) && !aidisabled)) return TRUE - if(user.has_unlimited_silicon_privilege) + if(user.silicon_privileges & PRIVILEDGES_SILICON) var/mob/living/silicon/ai/AI = user var/mob/living/silicon/robot/robot = user if (src.aidisabled || malfhack && istype(malfai) && ((istype(AI) && (malfai!=AI && malfai != AI.parent)) || (istype(robot) && (robot in malfai.connected_robots)))) @@ -985,7 +985,7 @@ if (action == "hijack" && can_use(usr, 1)) //don't need auth for hijack button hijack(usr) return - var/authorized = (!locked || usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr) || (integration_cog && (is_servant_of_ratvar(usr)))) + var/authorized = (!locked || area.hasSiliconAccessInArea(usr, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE) || (integration_cog && (is_servant_of_ratvar(usr)))) if((action == "toggle_nightshift") && (!nightshift_requires_auth || authorized)) toggle_nightshift_lights() return TRUE @@ -993,7 +993,7 @@ return switch(action) if("lock") - if(usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr)) + if(area.hasSiliconAccessInArea(usr)) if((obj_flags & EMAGGED) || (stat & (BROKEN|MAINT))) to_chat(usr, "The APC does not respond to the command.") else @@ -1027,7 +1027,7 @@ update() return TRUE if("overload") - if(usr.has_unlimited_silicon_privilege || area.hasSiliconAccessInArea(usr)) + if(area.hasSiliconAccessInArea(usr)) overload_lighting() return TRUE if("hack") diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index ed68c25cb6..be15bb70cf 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -408,7 +408,7 @@ if(beaker) var/obj/item/reagent_containers/B = beaker B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) if(new_beaker) beaker = new_beaker diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 189d09b06f..4c4d0fdb6e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -38,7 +38,7 @@ /obj/machinery/chem_heater/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 66c663e2e4..abfd00ed90 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -129,7 +129,7 @@ if(beaker) var/obj/item/reagent_containers/B = beaker B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) if(new_beaker) beaker = new_beaker @@ -139,7 +139,7 @@ if(bottle) var/obj/item/storage/pill_bottle/B = bottle B.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(B) else adjust_item_drop_location(B) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 3dea44cf40..7b25aa769d 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -192,7 +192,7 @@ update_icon() var/turf/source_turf = get_turf(src) log_virus("A culture bottle was printed for the virus [A.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]") - + . = TRUE if("create_vaccine_bottle") wait = TRUE @@ -202,9 +202,9 @@ var/obj/item/reagent_containers/glass/bottle/B = new(drop_location()) B.name = "[D.name] vaccine bottle" B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) - + update_icon() - + . = TRUE /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) @@ -229,7 +229,7 @@ /obj/machinery/computer/pandemic/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) if(!user.put_in_hands(beaker)) beaker.forceMove(drop_location()) if(new_beaker) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index b17c2dfb37..85cdc33e72 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -75,7 +75,7 @@ /obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(beaker) beaker.forceMove(drop_location()) - if(user && Adjacent(user) && !issiliconoradminghost(user)) + if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(beaker) if(new_beaker) beaker = new_beaker From e860a36c3d928bd7b4fc1bd64797205b4fad3936 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 10:02:20 -0600 Subject: [PATCH 159/221] Automatic changelog generation for PR #11131 [ci skip] --- html/changelogs/AutoChangeLog-pr-11131.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11131.yml diff --git a/html/changelogs/AutoChangeLog-pr-11131.yml b/html/changelogs/AutoChangeLog-pr-11131.yml new file mode 100644 index 0000000000..9a14049c2f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11131.yml @@ -0,0 +1,4 @@ +author: "Seris02" +delete-after: True +changes: + - balance: "bloodcrawl's cooldown" From 33c0422453b3aa81cb7c2d2feedbf92e82bd4887 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 10:11:52 -0600 Subject: [PATCH 160/221] Automatic changelog generation for PR #11091 [ci skip] --- html/changelogs/AutoChangeLog-pr-11091.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11091.yml diff --git a/html/changelogs/AutoChangeLog-pr-11091.yml b/html/changelogs/AutoChangeLog-pr-11091.yml new file mode 100644 index 0000000000..5d43d7dbdf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11091.yml @@ -0,0 +1,5 @@ +author: "BlueWildrose" +delete-after: True +changes: + - bugfix: "podpeople tail wagging" + - tweak: "lifebringer ghost role fixes" From 19ca51a6395c6d9b67459d1ec0670e35ed0ccfaa Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 12:02:37 -0600 Subject: [PATCH 161/221] Automatic changelog generation for PR #11083 [ci skip] --- html/changelogs/AutoChangeLog-pr-11083.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11083.yml diff --git a/html/changelogs/AutoChangeLog-pr-11083.yml b/html/changelogs/AutoChangeLog-pr-11083.yml new file mode 100644 index 0000000000..757d9fcb63 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11083.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "You can now purify eldritch longswords with a bible. This creates purified longswords, which do not have anti-magic properties, but are still good for swinging at cultists." From 2834994587c04972e294c86fe6af3c0f4d966a22 Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 18 Feb 2020 11:34:09 -0800 Subject: [PATCH 162/221] why didn't we do this sooner --- code/modules/power/supermatter/supermatter.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 0b0d968919..21003b5e86 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -346,6 +346,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) // Pass all the gas related code an empty gas container removed = new() + damage = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) // hardcap any direct damage taken before doing atmos damage damage_archived = damage if(!removed || !removed.total_moles() || isspaceturf(T)) //we're in space or there is no gas to process if(takes_damage) From a9edff6e561dbd726fd3c8b7db367078a76766c1 Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 18 Feb 2020 11:51:03 -0800 Subject: [PATCH 163/221] Supermatter sabotage no longer shows up with no supermatter --- code/game/gamemodes/objective.dm | 2 +- code/game/gamemodes/objective_sabotage.dm | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 459ff2f3d6..20a45b2102 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -1096,7 +1096,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages) var/approved_targets = list() check_sabotages: for(var/datum/sabotage_objective/possible_sabotage in GLOB.possible_sabotages) - if(!is_unique_objective(possible_sabotage.sabotage_type) || possible_sabotage.check_conditions()) + if(!is_unique_objective(possible_sabotage.sabotage_type) || possible_sabotage.check_conditions() || !possible_sabotage.can_run()) continue for(var/datum/mind/M in owners) if(M.current.mind.assigned_role in possible_sabotage.excludefromjob) diff --git a/code/game/gamemodes/objective_sabotage.dm b/code/game/gamemodes/objective_sabotage.dm index 248524f1d2..1094dd2f36 100644 --- a/code/game/gamemodes/objective_sabotage.dm +++ b/code/game/gamemodes/objective_sabotage.dm @@ -12,6 +12,9 @@ /datum/sabotage_objective/proc/check_conditions() return TRUE +/datum/sabotage_objective/proc/can_run() + return TRUE + /datum/sabotage_objective/processing var/won = FALSE @@ -79,6 +82,9 @@ won = max(1-((S.get_integrity()-50)/50),won) return FALSE +/datum/sabotage_objective/processing/supermatter/can_run() + return (locate(/obj/machinery/power/supermatter_crystal) in GLOB.machines) + /datum/sabotage_objective/station_integrity name = "Make sure the station is at less than 80% integrity by the end. Smash walls, windows etc. to reach this goal." sabotage_type = "integrity" From 4f13765f3ccce96546f1223c1fc70f0b8ee3d800 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 19:09:04 -0600 Subject: [PATCH 164/221] Automatic changelog generation for PR #11103 [ci skip] --- html/changelogs/AutoChangeLog-pr-11103.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11103.yml diff --git a/html/changelogs/AutoChangeLog-pr-11103.yml b/html/changelogs/AutoChangeLog-pr-11103.yml new file mode 100644 index 0000000000..f38e23f76e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11103.yml @@ -0,0 +1,5 @@ +author: "PersianXerxes" +delete-after: True +changes: + - rscadd: "Better clarified the comment explaining the contraband tag." + - tweak: "Cargo nuclear defusal kits now require an emag'd drop pod console to be purchased." From 9a51caf834309dfcc62b4b803af8cb2fa0bc210c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 19:10:28 -0600 Subject: [PATCH 165/221] Automatic changelog generation for PR #10980 [ci skip] --- html/changelogs/AutoChangeLog-pr-10980.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10980.yml diff --git a/html/changelogs/AutoChangeLog-pr-10980.yml b/html/changelogs/AutoChangeLog-pr-10980.yml new file mode 100644 index 0000000000..3701aea6e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10980.yml @@ -0,0 +1,7 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "Medical locked crates" + - balance: "Russian gear crates have less gear in some cases but all will cost more" + - bugfix: "Medical locked crates that were not locked" + - spellcheck: "Crates that were out of date are corrected" From fef9cc83ac05c32d46c25dc108c61e1af18fefd8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 18 Feb 2020 19:12:44 -0600 Subject: [PATCH 166/221] Automatic changelog generation for PR #11138 [ci skip] --- html/changelogs/AutoChangeLog-pr-11138.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11138.yml diff --git a/html/changelogs/AutoChangeLog-pr-11138.yml b/html/changelogs/AutoChangeLog-pr-11138.yml new file mode 100644 index 0000000000..fd0e53bb73 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11138.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - tweak: "the game's built in autoclicker aka CanMobAutoclick no longer triggers client/Click()'s anti clickspam guard." From 60f819465c1a2cdc69fcf393f128e0e983057ab5 Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 18 Feb 2020 18:30:15 -0800 Subject: [PATCH 167/221] what. what. what. what. what. --- code/modules/mining/machine_vending.dm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 54f8e11b07..78b1a665db 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -122,13 +122,10 @@ to_chat(usr, "Error: Insufficient credits for [prize.equipment_name] on [I]!") flick(icon_deny, src) else - if (I.mining_points -= prize.cost) - to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") - new prize.equipment_path(src.loc) - SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) - else - to_chat(usr, "Error: Transaction failure, please try again later!") - flick(icon_deny, src) + I.mining_points -= prize.cost + to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") + new prize.equipment_path(src.loc) + SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]")) else to_chat(usr, "Error: An ID with a registered account is required!") flick(icon_deny, src) From 6aec971b4e6f834b7f28988682b3d8e2178042bd Mon Sep 17 00:00:00 2001 From: Putnam Date: Tue, 18 Feb 2020 21:41:00 -0800 Subject: [PATCH 168/221] haha i'm dumb --- code/controllers/subsystem/ticker.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index fe994facdc..9d87568de6 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -480,12 +480,16 @@ SUBSYSTEM_DEF(ticker) switch(vote_type) if("PLURALITY") SSvote.initiate_vote("map","server",hideresults=TRUE) + return if("APPROVAL") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = APPROVAL_VOTING) + return if("IRV") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = INSTANT_RUNOFF_VOTING) + return if("SCORE") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = MAJORITY_JUDGEMENT_VOTING) + return // fallback SSvote.initiate_vote("map","server",hideresults=TRUE) From 37ba75ec12a3bf2181b67e5d957497c0fca286f7 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 19 Feb 2020 14:07:11 +0100 Subject: [PATCH 169/221] Fixing addiction moodlets not going away and secret sauce recipe paper. --- code/modules/mob/living/carbon/carbon.dm | 6 +++++- code/modules/reagents/chemistry/holder.dm | 14 +++++++++++--- code/modules/reagents/chemistry/recipes/special.dm | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6460d8331d..cbb2cdb5c2 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -840,6 +840,9 @@ var/obj/item/organ/brain/B = getorgan(/obj/item/organ/brain) if(B) B.brain_death = FALSE + for(var/O in internal_organs) + var/obj/item/organ/organ = O + organ.setOrganDamage(0) for(var/thing in diseases) var/datum/disease/D = thing if(D.severity != DISEASE_SEVERITY_POSITIVE) @@ -852,7 +855,8 @@ qdel(R) update_handcuffed() if(reagents) - reagents.addiction_list = list() + for(var/addi in reagents.addiction_list) + reagents.remove_addiction(addi) cure_all_traumas(TRAUMA_RESILIENCE_MAGIC) ..() // heal ears after healing traits, since ears check TRAIT_DEAF trait diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 4c240660a9..8635626209 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -77,6 +77,8 @@ /datum/reagents/Destroy() . = ..() + //We're about to delete all reagents, so lets cleanup + addiction_list.Cut() var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) var/datum/reagent/R = reagent @@ -332,9 +334,7 @@ if(R.addiction_stage3_end to R.addiction_stage4_end) need_mob_update += R.addiction_act_stage4(C) if(R.addiction_stage4_end to INFINITY) - to_chat(C, "You feel like you've gotten over your need for [R.name].") - SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_addiction") - cached_addictions.Remove(R) + remove_addiction(R) else SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") addiction_tick++ @@ -344,6 +344,12 @@ C.update_stamina() update_total() +/datum/reagents/proc/remove_addiction(datum/reagent/R) + to_chat(my_atom, "You feel like you've gotten over your need for [R.name].") + SEND_SIGNAL(my_atom, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") + addiction_list.Remove(R) + qdel(R) + //Signals that metabolization has stopped, triggering the end of trait-based effects /datum/reagents/proc/end_metabolization(mob/living/carbon/C, keep_liverless = TRUE) var/list/cached_reagents = reagent_list @@ -762,6 +768,8 @@ R.metabolizing = FALSE R.on_mob_end_metabolize(M) R.on_mob_delete(M) + //Clear from relevant lists + addiction_list -= R qdel(R) reagent_list -= R update_total() diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index cc63a8c692..fb4552f96b 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -168,7 +168,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related /obj/item/paper/secretrecipe name = "old recipe" - var/recipe_id = "secretsauce" + var/recipe_id = /datum/reagent/consumable/secretsauce /obj/item/paper/secretrecipe/examine(mob/user) //Extra secret if(isobserver(user)) From 057b6f591cc5313adaa098f0ad14f16a366deaa2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 19 Feb 2020 14:23:12 +0100 Subject: [PATCH 170/221] HEEY --- code/__DEFINES/components.dm | 2 +- code/datums/components/mood.dm | 4 +++- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/species_types/dullahan.dm | 7 ++++--- code/modules/mob/living/living.dm | 10 ++-------- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index c4c9d815a0..ab86761542 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -193,13 +193,13 @@ // #define SPEECH_FORCED 7 // /mob/living signals -#define COMSIG_LIVING_FULLY_HEAL "living_fully_healed" //from base of /mob/living/fully_heal(): (admin_revive) #define COMSIG_LIVING_REGENERATE_LIMBS "living_regenerate_limbs" //from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs) #define COMSIG_LIVING_RESIST "living_resist" //from base of mob/living/resist() (/mob/living) #define COMSIG_LIVING_IGNITED "living_ignite" //from base of mob/living/IgniteMob() (/mob/living) #define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living) #define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage) #define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: () +#define COMSIG_LIVING_REVIVE "living_revive" //from base of mob/living/revive() (full_heal, admin_revive) #define COMSIG_MOB_CLIENT_LOGIN "comsig_mob_client_login" //sent when a mob/login() finishes: (client) #define COMSIG_LIVING_GUN_PROCESS_FIRE "living_gun_process_fire" //from base of /obj/item/gun/proc/process_fire(): (atom/target, params, zone_override) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 2ecd77546d..64f0522460 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -21,6 +21,7 @@ RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT, .proc/add_event) RegisterSignal(parent, COMSIG_CLEAR_MOOD_EVENT, .proc/clear_event) RegisterSignal(parent, COMSIG_MODIFY_SANITY, .proc/modify_sanity) + RegisterSignal(parent, COMSIG_LIVING_REVIVE, .proc/on_revive) RegisterSignal(parent, COMSIG_MOB_HUD_CREATED, .proc/modify_hud) var/mob/living/owner = parent @@ -81,7 +82,8 @@ msg += "I don't have much of a reaction to anything right now.\n" to_chat(user || parent, msg) -/datum/component/mood/proc/update_mood() //Called whenever a mood event is added or removed +///Called after moodevent/s have been added/removed. +/datum/component/mood/proc/update_mood() mood = 0 shown_mood = 0 for(var/i in mood_events) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ef3d4cbb98..a8217c5fe3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -803,7 +803,7 @@ hud_used.staminas?.update_icon_state() hud_used.staminabuffer?.update_icon_state() -/mob/living/carbon/human/fully_heal(admin_revive = 0) +/mob/living/carbon/human/fully_heal(admin_revive = FALSE) if(admin_revive) regenerate_limbs() regenerate_organs() diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 220e639e34..499e3b0276 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -135,7 +135,7 @@ RegisterSignal(owner, COMSIG_CLICK_SHIFT, .proc/examinate_check) RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, .proc/include_owner) RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, .proc/unlist_head) - RegisterSignal(owner, COMSIG_LIVING_FULLY_HEAL, .proc/retrieve_head) + RegisterSignal(owner, COMSIG_LIVING_REVIVE, .proc/retrieve_head) /obj/item/dullahan_relay/proc/examinate_check(atom/source, mob/user) if(user.client.eye == src) @@ -148,8 +148,9 @@ /obj/item/dullahan_relay/proc/unlist_head(datum/source, noheal = FALSE, list/excluded_limbs) excluded_limbs |= BODY_ZONE_HEAD // So we don't gib when regenerating limbs. -/obj/item/dullahan_relay/proc/retrieve_head(datum/source, admin_revive = FALSE) - if(admin_revive) //retrieving the owner's head for ahealing purposes. +//Retrieving the owner's head for better ahealing. +/obj/item/dullahan_relay/proc/retrieve_head(datum/source, full_heal, admin_revive) + if(admin_revive) var/obj/item/bodypart/head/H = loc var/turf/T = get_turf(owner) if(H && istype(H) && T && !(H in owner.GetAllContents())) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0c11d6ab42..212ea79e9d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -482,7 +482,8 @@ med_hud_set_status() //proc used to ressuscitate a mob -/mob/living/proc/revive(full_heal = 0, admin_revive = 0) +/mob/living/proc/revive(full_heal = FALSE, admin_revive = FALSE) + SEND_SIGNAL(src, COMSIG_LIVING_REVIVE, full_heal, admin_revive) if(full_heal) fully_heal(admin_revive) if(stat == DEAD && can_be_revived()) //in some cases you can't revive (e.g. no brain) @@ -528,11 +529,6 @@ fire_stacks = 0 confused = 0 update_canmove() - var/datum/component/mood/mood = GetComponent(/datum/component/mood) - if (mood) - QDEL_LIST_ASSOC_VAL(mood.mood_events) - mood.sanity = SANITY_GREAT - mood.update_mood() //Heal all organs if(iscarbon(src)) var/mob/living/carbon/C = src @@ -540,8 +536,6 @@ for(var/organ in C.internal_organs) var/obj/item/organ/O = organ O.setOrganDamage(0) - SEND_SIGNAL(src, COMSIG_LIVING_FULLY_HEAL, admin_revive) - //proc called by revive(), to check if we can actually ressuscitate the mob (we don't want to revive him and have him instantly die again) /mob/living/proc/can_be_revived() From ee1f61b5de65dbe13faa74bfb235cded4c19c94b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 19 Feb 2020 14:26:11 +0100 Subject: [PATCH 171/221] F --- code/datums/components/mood.dm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 64f0522460..e71cd5a43e 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -236,6 +236,15 @@ qdel(event) update_mood() +/datum/component/mood/proc/remove_temp_moods() //Removes all temp moodsfor(var/i in mood_events) + for(var/i in mood_events) + var/datum/mood_event/moodlet = mood_events[i] + if(!moodlet || !moodlet.timeout) + continue + mood_events -= moodlet.category + qdel(moodlet) + update_mood() + /datum/component/mood/proc/modify_hud(datum/source) var/mob/living/owner = parent var/datum/hud/hud = owner.hud_used @@ -272,5 +281,12 @@ if(0 to NUTRITION_LEVEL_STARVING) add_event(null, "nutrition", /datum/mood_event/starving) +///Called when parent is ahealed. +/datum/component/mood/proc/on_revive(datum/source, full_heal) + if(!full_heal) + return + remove_temp_moods() + setSanity(initial(sanity)) + #undef MINOR_INSANITY_PEN #undef MAJOR_INSANITY_PEN From eb342d15919015d935f6cca1b16615c1f838c978 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 19 Feb 2020 17:14:30 +0100 Subject: [PATCH 172/221] Update mood.dm --- code/datums/components/mood.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index e71cd5a43e..5e9382f88e 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -241,7 +241,7 @@ var/datum/mood_event/moodlet = mood_events[i] if(!moodlet || !moodlet.timeout) continue - mood_events -= moodlet.category + mood_events -= i qdel(moodlet) update_mood() From c920d198e220971c0fd59b13f7de4822d66fd5f7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 19 Feb 2020 12:17:57 -0500 Subject: [PATCH 173/221] Update Viro to /tg/ standards --- .../advance/symptoms/disfiguration.dm | 50 ++++++++ code/datums/diseases/advance/symptoms/skin.dm | 79 +++---------- .../diseases/advance/symptoms/symptoms.dm | 5 +- .../antagonists/disease/disease_abilities.dm | 108 +++++++++--------- tgstation.dme | 2 + 5 files changed, 122 insertions(+), 122 deletions(-) create mode 100644 code/datums/diseases/advance/symptoms/disfiguration.dm diff --git a/code/datums/diseases/advance/symptoms/disfiguration.dm b/code/datums/diseases/advance/symptoms/disfiguration.dm new file mode 100644 index 0000000000..4a4b704dc0 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/disfiguration.dm @@ -0,0 +1,50 @@ +/* +////////////////////////////////////// +Disfiguration + + Hidden. + No change to resistance. + Increases stage speed. + Slightly increases transmittability. + Critical Level. + +BONUS + Adds disfiguration trait making the mob appear as "Unknown" to others. + +////////////////////////////////////// +*/ + +/datum/symptom/disfiguration + + name = "Disfiguration" + desc = "The virus liquefies facial muscles, disfiguring the host." + stealth = 2 + resistance = 0 + stage_speed = 3 + transmittable = 1 + level = 5 + severity = 1 + symptom_delay_min = 25 + symptom_delay_max = 75 + +/datum/symptom/disfiguration/Activate(datum/disease/advance/A) + . = ..() + if(!.) + return + var/mob/living/M = A.affected_mob + if (HAS_TRAIT(M, TRAIT_DISFIGURED)) + return + switch(A.stage) + if(5) + ADD_TRAIT(M, TRAIT_DISFIGURED, DISEASE_TRAIT) + M.visible_message("[M]'s face appears to cave in!", "You feel your face crumple and cave in!") + else + M.visible_message("[M]'s face begins to contort...", "Your face feels wet and malleable...") + + +/datum/symptom/disfiguration/End(datum/disease/advance/A) + . = ..() + if(!.) + return + if(A.affected_mob) + REMOVE_TRAIT(A.affected_mob, TRAIT_DISFIGURED, DISEASE_TRAIT) \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index 300eecc80e..e35fe741fd 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -1,68 +1,22 @@ /* ////////////////////////////////////// -Vitiligo +Polyvitiligo - Hidden. - No change to resistance. - Increases stage speed. - Slightly increases transmittability. - Critical Level. - -BONUS - Makes the mob lose skin pigmentation. - -////////////////////////////////////// -*/ - -/datum/symptom/vitiligo - - name = "Vitiligo" - desc = "The virus destroys skin pigment cells, causing rapid loss of pigmentation in the host." - stealth = 2 - resistance = 0 - stage_speed = 3 - transmittable = 1 - level = 5 - severity = 1 - symptom_delay_min = 25 - symptom_delay_max = 75 - -/datum/symptom/vitiligo/Activate(datum/disease/advance/A) - if(!..()) - return - var/mob/living/M = A.affected_mob - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.skin_tone == "albino") - return - switch(A.stage) - if(5) - H.skin_tone = "albino" - H.update_body(0) - else - H.visible_message("[H] looks a bit pale...", "Your skin suddenly appears lighter...") - - -/* -////////////////////////////////////// -Revitiligo - - Slightly noticable. + Noticeable. Increases resistance. Increases stage speed slightly. Increases transmission. Critical Level. BONUS - Makes the mob gain skin pigmentation. + Makes the mob gain a random crayon powder colorful reagent. ////////////////////////////////////// */ -/datum/symptom/revitiligo - - name = "Revitiligo" - desc = "The virus causes increased production of skin pigment cells, making the host's skin grow darker over time." +/datum/symptom/polyvitiligo + name = "Polyvitiligo" + desc = "The virus replaces the melanin in the skin with reactive pigment." stealth = -1 resistance = 3 stage_speed = 1 @@ -72,17 +26,16 @@ BONUS symptom_delay_min = 7 symptom_delay_max = 14 -/datum/symptom/revitiligo/Activate(datum/disease/advance/A) +/datum/symptom/polyvitiligo/Activate(datum/disease/advance/A) if(!..()) return var/mob/living/M = A.affected_mob - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.skin_tone == "african2") - return - switch(A.stage) - if(5) - H.skin_tone = "african2" - H.update_body(0) - else - H.visible_message("[H] looks a bit dark...", "Your skin suddenly appears darker...") + switch(A.stage) + if(5) + var/static/list/banned_reagents = list(/datum/reagent/colorful_reagent/crayonpowder/invisible, /datum/reagent/colorful_reagent/crayonpowder/white) + var/color = pick(subtypesof(/datum/reagent/colorful_reagent/crayonpowder) - banned_reagents) + if(M.reagents.total_volume <= (M.reagents.maximum_volume/10)) // no flooding humans with 1000 units of colorful reagent + M.reagents.add_reagent(color, 5) + else + if (prob(50)) // spam + M.visible_message("[M] looks rather vibrant...", "The colors, man, the colors...") \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm index fef6453b3a..a6ea7de5a0 100644 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -38,10 +38,11 @@ return CRASH("We couldn't assign an ID!") -// Called when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease. +// Called when processing of the advance disease, which holds this symptom, starts. /datum/symptom/proc/Start(datum/disease/advance/A) if(neutered) return FALSE + next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) //so it doesn't instantly activate on infection return TRUE // Called when the advance disease is going to be deleted or when the advance disease stops processing. @@ -59,7 +60,7 @@ next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10) return TRUE -/datum/symptom/proc/on_stage_change(datum/disease/advance/A) +/datum/symptom/proc/on_stage_change(new_stage, datum/disease/advance/A) if(neutered) return FALSE return TRUE diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm index 7b30d10c5d..e8dcaf9cc7 100644 --- a/code/modules/antagonists/disease/disease_abilities.dm +++ b/code/modules/antagonists/disease/disease_abilities.dm @@ -5,49 +5,49 @@ is currently following. */ GLOBAL_LIST_INIT(disease_ability_singletons, list( - new /datum/disease_ability/action/cough, - new /datum/disease_ability/action/sneeze, - new /datum/disease_ability/action/infect, - new /datum/disease_ability/symptom/mild/cough, - new /datum/disease_ability/symptom/mild/sneeze, - new /datum/disease_ability/symptom/medium/shedding, - new /datum/disease_ability/symptom/medium/beard, - new /datum/disease_ability/symptom/medium/hallucigen, - new /datum/disease_ability/symptom/medium/choking, - new /datum/disease_ability/symptom/medium/confusion, - new /datum/disease_ability/symptom/medium/vomit, - new /datum/disease_ability/symptom/medium/voice_change, - new /datum/disease_ability/symptom/medium/visionloss, - new /datum/disease_ability/symptom/medium/deafness, - new /datum/disease_ability/symptom/powerful/narcolepsy, - new /datum/disease_ability/symptom/medium/fever, - new /datum/disease_ability/symptom/medium/shivering, - new /datum/disease_ability/symptom/medium/headache, - new /datum/disease_ability/symptom/medium/nano_boost, - new /datum/disease_ability/symptom/medium/nano_destroy, - new /datum/disease_ability/symptom/medium/viraladaptation, - new /datum/disease_ability/symptom/medium/viralevolution, - new /datum/disease_ability/symptom/medium/vitiligo, - new /datum/disease_ability/symptom/medium/revitiligo, - new /datum/disease_ability/symptom/medium/itching, - new /datum/disease_ability/symptom/medium/heal/weight_loss, - new /datum/disease_ability/symptom/medium/heal/sensory_restoration, - new /datum/disease_ability/symptom/medium/heal/mind_restoration, - new /datum/disease_ability/symptom/powerful/fire, - new /datum/disease_ability/symptom/powerful/flesh_eating, -// new /datum/disease_ability/symptom/powerful/genetic_mutation, - new /datum/disease_ability/symptom/powerful/inorganic_adaptation, - new /datum/disease_ability/symptom/powerful/heal/starlight, - new /datum/disease_ability/symptom/powerful/heal/oxygen, - new /datum/disease_ability/symptom/powerful/heal/chem, - new /datum/disease_ability/symptom/powerful/heal/metabolism, - new /datum/disease_ability/symptom/powerful/heal/dark, - new /datum/disease_ability/symptom/powerful/heal/water, - new /datum/disease_ability/symptom/powerful/heal/plasma, - new /datum/disease_ability/symptom/powerful/heal/radiation, - new /datum/disease_ability/symptom/powerful/heal/coma, - new /datum/disease_ability/symptom/powerful/youth - )) +new /datum/disease_ability/action/cough, +new /datum/disease_ability/action/sneeze, +new /datum/disease_ability/action/infect, +new /datum/disease_ability/symptom/mild/cough, +new /datum/disease_ability/symptom/mild/sneeze, +new /datum/disease_ability/symptom/medium/shedding, +new /datum/disease_ability/symptom/medium/beard, +new /datum/disease_ability/symptom/medium/hallucigen, +new /datum/disease_ability/symptom/medium/choking, +new /datum/disease_ability/symptom/medium/confusion, +new /datum/disease_ability/symptom/medium/vomit, +new /datum/disease_ability/symptom/medium/voice_change, +new /datum/disease_ability/symptom/medium/visionloss, +new /datum/disease_ability/symptom/medium/deafness, +new /datum/disease_ability/symptom/powerful/narcolepsy, +new /datum/disease_ability/symptom/medium/fever, +new /datum/disease_ability/symptom/medium/shivering, +new /datum/disease_ability/symptom/medium/headache, +new /datum/disease_ability/symptom/medium/nano_boost, +new /datum/disease_ability/symptom/medium/nano_destroy, +new /datum/disease_ability/symptom/medium/viraladaptation, +new /datum/disease_ability/symptom/medium/viralevolution, +new /datum/disease_ability/symptom/medium/disfiguration, +new /datum/disease_ability/symptom/medium/polyvitiligo, +new /datum/disease_ability/symptom/medium/itching, +new /datum/disease_ability/symptom/medium/heal/weight_loss, +new /datum/disease_ability/symptom/medium/heal/sensory_restoration, +new /datum/disease_ability/symptom/medium/heal/mind_restoration, +new /datum/disease_ability/symptom/powerful/fire, +new /datum/disease_ability/symptom/powerful/flesh_eating, +new /datum/disease_ability/symptom/powerful/genetic_mutation, +new /datum/disease_ability/symptom/powerful/inorganic_adaptation, +new /datum/disease_ability/symptom/powerful/heal/starlight, +new /datum/disease_ability/symptom/powerful/heal/oxygen, +new /datum/disease_ability/symptom/powerful/heal/chem, +new /datum/disease_ability/symptom/powerful/heal/metabolism, +new /datum/disease_ability/symptom/powerful/heal/dark, +new /datum/disease_ability/symptom/powerful/heal/water, +new /datum/disease_ability/symptom/powerful/heal/plasma, +new /datum/disease_ability/symptom/powerful/heal/radiation, +new /datum/disease_ability/symptom/powerful/heal/coma, +new /datum/disease_ability/symptom/powerful/youth +)) /datum/disease_ability var/name @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( var/short_desc = "" var/long_desc = "" var/stat_block = "" - var/threshold_block = list() + var/threshold_block = "" var/category = "" var/list/symptoms @@ -76,7 +76,7 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( resistance += initial(S.resistance) stage_speed += initial(S.stage_speed) transmittable += initial(S.transmittable) - threshold_block += initial(S.threshold_desc) + threshold_block += "

[initial(S.threshold_desc)]" stat_block = "Resistance: [resistance]
Stealth: [stealth]
Stage Speed: [stage_speed]
Transmissibility: [transmittable]

" if(symptoms.len == 1) //lazy boy's dream name = initial(S.name) @@ -106,10 +106,8 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( for(var/T in symptoms) var/datum/symptom/S = new T() SD.symptoms += S - S.OnAdd(SD) if(SD.processing) - if(S.Start(SD)) - S.next_activation = world.time + rand(S.symptom_delay_min * 10, S.symptom_delay_max * 10) + S.Start(SD) SD.Refresh() for(var/T in actions) var/datum/action/A = new T() @@ -136,7 +134,6 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( var/datum/symptom/S = locate(T) in SD.symptoms if(S) SD.symptoms -= S - S.OnRemove(SD) if(SD.processing) S.End(SD) qdel(S) @@ -296,7 +293,6 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( cost = 8 category = "Symptom (Strong+)" - /******MILD******/ /datum/disease_ability/symptom/mild/cough @@ -377,11 +373,11 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/medium/viralevolution symptoms = list(/datum/symptom/viralevolution) -/datum/disease_ability/symptom/medium/vitiligo - symptoms = list(/datum/symptom/vitiligo) +/datum/disease_ability/symptom/medium/polyvitiligo + symptoms = list(/datum/symptom/polyvitiligo) -/datum/disease_ability/symptom/medium/revitiligo - symptoms = list(/datum/symptom/revitiligo) +/datum/disease_ability/symptom/medium/disfiguration + symptoms = list(/datum/symptom/disfiguration) /datum/disease_ability/symptom/medium/itching symptoms = list(/datum/symptom/itching) @@ -409,11 +405,9 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/powerful/flesh_eating symptoms = list(/datum/symptom/flesh_eating) -/* /datum/disease_ability/symptom/powerful/genetic_mutation symptoms = list(/datum/symptom/genetic_mutation) cost = 8 -*/ /datum/disease_ability/symptom/powerful/inorganic_adaptation symptoms = list(/datum/symptom/inorganic_adaptation) @@ -457,4 +451,4 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list( /datum/disease_ability/symptom/powerful/heal/coma symptoms = list(/datum/symptom/heal/coma) short_desc = "Cause victims to fall into a healing coma when hurt." - long_desc = "Cause victims to fall into a healing coma when hurt." + long_desc = "Cause victims to fall into a healing coma when hurt." \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 28f469ac25..b5feb7caa6 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -460,10 +460,12 @@ #include "code\datums\diseases\advance\symptoms\confusion.dm" #include "code\datums\diseases\advance\symptoms\cough.dm" #include "code\datums\diseases\advance\symptoms\deafness.dm" +#include "code\datums\diseases\advance\symptoms\disfiguration.dm" #include "code\datums\diseases\advance\symptoms\dizzy.dm" #include "code\datums\diseases\advance\symptoms\fever.dm" #include "code\datums\diseases\advance\symptoms\fire.dm" #include "code\datums\diseases\advance\symptoms\flesh_eating.dm" +#include "code\datums\diseases\advance\symptoms\genetics.dm" #include "code\datums\diseases\advance\symptoms\hallucigen.dm" #include "code\datums\diseases\advance\symptoms\headache.dm" #include "code\datums\diseases\advance\symptoms\heal.dm" From f532c1a44464f5518e5eb3bb60632b6c2bce3b04 Mon Sep 17 00:00:00 2001 From: Kraseo Date: Wed, 19 Feb 2020 18:40:30 +0100 Subject: [PATCH 174/221] i spent 2 hours figuring out how to fix this --- .../living/carbon/human/species_types/shadowpeople.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 49af501942..8670e9ee4b 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -213,6 +213,16 @@ PDA.f_lum = 0 PDA.update_icon() visible_message("The light in [PDA] shorts out!") + else if(istype(O, /obj/item/gun)) + var/obj/item/gun/weapon = O + if(weapon.gun_light) + var/obj/item/flashlight/seclite/light = weapon.gun_light + light.on = FALSE + light.brightness_on = 0 + light.flashlight_power = 0 + light.update_brightness() + weapon.update_gunlight() + visible_message("[light] on [O] flickers out and dies!") else visible_message("[O] is disintegrated by [src]!") O.burn() From af6df2784cc39b498afb91df95870e16ffacbd40 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Thu, 20 Feb 2020 04:46:30 +1100 Subject: [PATCH 175/221] holy shit this was still in the fucking game --- code/game/objects/items/devices/chameleonproj.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index c4ffa9f0ff..e87987600a 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -49,6 +49,10 @@ return if(istype(target, /obj/structure/falsewall)) return + if(target.alpha != 255) + return + if(target.invisibility != 0) + return if(iseffect(target)) if(!(istype(target, /obj/effect/decal))) //be a footprint return From 395fb8de3e540d206e92c0c6496a187f72b8dee0 Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 10:49:26 -0800 Subject: [PATCH 176/221] Added licking pref. --- code/modules/vore/eating/vore.dm | 1 + code/modules/vore/eating/vorepanel.dm | 38 +++++++++++++++------------ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/code/modules/vore/eating/vore.dm b/code/modules/vore/eating/vore.dm index 29391547bd..35f0653617 100644 --- a/code/modules/vore/eating/vore.dm +++ b/code/modules/vore/eating/vore.dm @@ -40,6 +40,7 @@ GLOBAL_LIST_EMPTY(vore_preferences_datums) var/digestable = FALSE var/devourable = FALSE var/feeding = FALSE + var/lickable = FALSE // var/allowmobvore = TRUE var/list/belly_prefs = list() var/vore_taste = "nothing in particular" diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index 962fe54af7..937bac9e57 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -242,22 +242,15 @@ dat += "Reload Slot Prefs" dat += "


" - switch(user.digestable) - if(TRUE) - dat += "
Toggle Digestable (Currently: ON)" - if(FALSE) - dat += "
Toggle Digestable (Currently: OFF)" - switch(user.devourable) - if(TRUE) - dat += "
Toggle Devourable (Currently: ON)" - if(FALSE) - dat += "
Toggle Devourable (Currently: OFF)" - switch(user.feeding) - if(TRUE) - dat += "
Toggle Feeding (Currently: ON)" - if(FALSE) - dat += "
Toggle Feeding (Currently: OFF)" - + var/pref_on = "#173d15" + var/pref_off = "#990000" + dat += "
Toggle Digestable (Currently: [user.digestable ? "ON" : "OFF"])" + dat += "
Toggle Devourable (Currently: [user.devourable ? "ON" : "OFF"])" + dat += "
Toggle Feeding (Currently: [user.feeding ? "ON" : "OFF"])" + if(user.client.prefs_vr) + dat += "
Toggle Licking (Currently: [user.client.prefs_vr.lickable ? "ON" : "OFF"])" + else + dat += "
Licking not toggleable (OFF))" //Returns the dat html to the vore_look return dat @@ -734,5 +727,16 @@ if(user.client.prefs_vr) user.client.prefs_vr.feeding = user.feeding + if(href_list["toggledlickable"]) + if(user.client.prefs_vr) + var/choice = alert(user, "This button is to toggle your ability to be licked. Being licked is currently: [user.client.prefs_vr.lickable ? "Allowed" : "Prevented"]", "", "Allow Licking", "Cancel", "Prevent Licking") + switch(choice) + if("Cancel") + return FALSE + if("Allow Licking") + user.client.prefs_vr.lickable = TRUE + if("Prevent Licking") + user.client.prefs_vr.lickable = FALSE + //Refresh when interacted with, returning 1 makes vore_look.Topic update - return TRUE \ No newline at end of file + return TRUE From b76b346f2dec83d95b3f140e8c77f1f97f06fe75 Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 10:56:43 -0800 Subject: [PATCH 177/221] whoops --- code/modules/vore/eating/vorepanel.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/modules/vore/eating/vorepanel.dm b/code/modules/vore/eating/vorepanel.dm index 937bac9e57..a2746f35e8 100644 --- a/code/modules/vore/eating/vorepanel.dm +++ b/code/modules/vore/eating/vorepanel.dm @@ -245,12 +245,10 @@ var/pref_on = "#173d15" var/pref_off = "#990000" dat += "
Toggle Digestable (Currently: [user.digestable ? "ON" : "OFF"])" - dat += "
Toggle Devourable (Currently: [user.devourable ? "ON" : "OFF"])" - dat += "
Toggle Feeding (Currently: [user.feeding ? "ON" : "OFF"])" + dat += "
Toggle Devourable (Currently: [user.devourable ? "ON" : "OFF"])" + dat += "
Toggle Feeding (Currently: [user.feeding ? "ON" : "OFF"])" if(user.client.prefs_vr) - dat += "
Toggle Licking (Currently: [user.client.prefs_vr.lickable ? "ON" : "OFF"])" - else - dat += "
Licking not toggleable (OFF))" + dat += "
Toggle Licking (Currently: [user.client.prefs_vr.lickable ? "ON" : "OFF"])" //Returns the dat html to the vore_look return dat From 3bf1ac590c4a22a85539811e6c9487a9499e53ec Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 11:00:56 -0800 Subject: [PATCH 178/221] it's probably better that it works --- code/modules/vore/eating/living.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index bf41c46332..5f280fb04d 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -384,6 +384,9 @@ if(!istype(tasted)) return + if(!tasted.client?.prefs_vr.lickable) + return + if(src == stat) return From dd3520896a5cd82ba1297020aec55cdef189dace Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 11:45:37 -0800 Subject: [PATCH 179/221] wow there's an else --- code/controllers/subsystem/ticker.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 9d87568de6..606aca2d3a 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -480,18 +480,15 @@ SUBSYSTEM_DEF(ticker) switch(vote_type) if("PLURALITY") SSvote.initiate_vote("map","server",hideresults=TRUE) - return if("APPROVAL") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = APPROVAL_VOTING) - return if("IRV") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = INSTANT_RUNOFF_VOTING) - return if("SCORE") SSvote.initiate_vote("map","server",hideresults=TRUE,votesystem = MAJORITY_JUDGEMENT_VOTING) - return + else + SSvote.initiate_vote("map","server",hideresults=TRUE) // fallback - SSvote.initiate_vote("map","server",hideresults=TRUE) /datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING From cd56e29a98d7dd0b832c8bb5fff6cd8ad44d5677 Mon Sep 17 00:00:00 2001 From: Kraseo Date: Thu, 20 Feb 2020 00:18:43 +0100 Subject: [PATCH 180/221] drink my ass kevinz --- .../living/carbon/human/species_types/shadowpeople.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 8670e9ee4b..70abba5a01 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -217,12 +217,12 @@ var/obj/item/gun/weapon = O if(weapon.gun_light) var/obj/item/flashlight/seclite/light = weapon.gun_light - light.on = FALSE - light.brightness_on = 0 - light.flashlight_power = 0 - light.update_brightness() + light.forceMove(get_turf(weapon)) + light.burn() + weapon.gun_light = null weapon.update_gunlight() - visible_message("[light] on [O] flickers out and dies!") + QDEL_NULL(weapon.alight) + visible_message("[light] on [O] flickers out and disintegrates!") else visible_message("[O] is disintegrated by [src]!") O.burn() From 901b54b7e8d79d59eb51b9387d2bf4d4aaa1628c Mon Sep 17 00:00:00 2001 From: Arturlang Date: Thu, 20 Feb 2020 01:38:28 +0200 Subject: [PATCH 181/221] Webedit man to the doom and rescue --- code/modules/research/nanites/public_chamber.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index 4d30d091ea..76392c66e9 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -163,7 +163,7 @@ return if(L.mob_biotypes & (MOB_ORGANIC | MOB_UNDEAD)) inject_nanites(attacker) -5 + /obj/machinery/public_nanite_chamber/open_machine() if(state_open) return FALSE From 6b1a721f1ccd2841112bdf8e0bab16c3a8ce420e Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Wed, 19 Feb 2020 17:51:18 -0600 Subject: [PATCH 182/221] literally a mouth cover check --- code/modules/food_and_drinks/food/snacks_pie.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 0c3623efda..87c5fdc100 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -53,7 +53,8 @@ H.adjust_blurriness(1) H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!") playsound(H, "desceration", 50, TRUE) - reagents.trans_to(H,15) //Cream pie combat + if(H.is_mouth_covered()) + reagents.trans_to(H,15) //Cream pie combat if(!H.creamed) // one layer at a time H.add_overlay(creamoverlay) H.creamed = TRUE From 8be22278e478ab16f397662266794b06b17d2587 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 19:59:13 -0600 Subject: [PATCH 183/221] Automatic changelog generation for PR #11145 [ci skip] --- html/changelogs/AutoChangeLog-pr-11145.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11145.yml diff --git a/html/changelogs/AutoChangeLog-pr-11145.yml b/html/changelogs/AutoChangeLog-pr-11145.yml new file mode 100644 index 0000000000..2ad26003fb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11145.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "pAIs are yet again unable to perform certain silicon interactions with machineries yet again." From a7cf5b63eef2a8def61cfb91750fd06d1e18f358 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 19:59:31 -0600 Subject: [PATCH 184/221] Automatic changelog generation for PR #11147 [ci skip] --- html/changelogs/AutoChangeLog-pr-11147.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11147.yml diff --git a/html/changelogs/AutoChangeLog-pr-11147.yml b/html/changelogs/AutoChangeLog-pr-11147.yml new file mode 100644 index 0000000000..0978b2b184 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11147.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "Supermatter sabotage objective no longer shows up with no supermatter" From 548baf14b610723cad5e86ce56cf91ee1dde3cbd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:00:05 -0600 Subject: [PATCH 185/221] Automatic changelog generation for PR #11133 [ci skip] --- html/changelogs/AutoChangeLog-pr-11133.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11133.yml diff --git a/html/changelogs/AutoChangeLog-pr-11133.yml b/html/changelogs/AutoChangeLog-pr-11133.yml new file mode 100644 index 0000000000..8cedc300c7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11133.yml @@ -0,0 +1,5 @@ +author: "Ghommie" +delete-after: True +changes: + - balance: "Nerfed the fermenting barrel export industry." + - tweak: "Reagent dispensers selling price no longer takes in account the reagents volume. It's already handled by reagents export." From 36579229905a98be889da9053b3678219f636831 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:00:26 -0600 Subject: [PATCH 186/221] Automatic changelog generation for PR #10904 [ci skip] --- html/changelogs/AutoChangeLog-pr-10904.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10904.yml diff --git a/html/changelogs/AutoChangeLog-pr-10904.yml b/html/changelogs/AutoChangeLog-pr-10904.yml new file mode 100644 index 0000000000..112c0bc593 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10904.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "The ships often crashed by Free Golems on Lavaland now have GPSes. They're off, by default, but an awakening Golem could easily turn one on." From 7c3308d59384c12a4fed013d482d364be5ade87f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:00:35 -0600 Subject: [PATCH 187/221] Automatic changelog generation for PR #10910 [ci skip] --- html/changelogs/AutoChangeLog-pr-10910.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10910.yml diff --git a/html/changelogs/AutoChangeLog-pr-10910.yml b/html/changelogs/AutoChangeLog-pr-10910.yml new file mode 100644 index 0000000000..2b11650c80 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10910.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed a little issue with sleeper UI and blood types." From 36f9edbfefc3ba0f3f7a6a714cc27abb7776014c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:00:55 -0600 Subject: [PATCH 188/221] Automatic changelog generation for PR #10953 [ci skip] --- html/changelogs/AutoChangeLog-pr-10953.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10953.yml diff --git a/html/changelogs/AutoChangeLog-pr-10953.yml b/html/changelogs/AutoChangeLog-pr-10953.yml new file mode 100644 index 0000000000..67c2c915ad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10953.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Missing words replacement file for the gondola mask." From 9929cecec5ad22b995ccc282bfe3973624e93804 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Wed, 19 Feb 2020 20:01:40 -0600 Subject: [PATCH 189/221] wack --- code/modules/food_and_drinks/food/snacks_pie.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 87c5fdc100..1533f067ab 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -53,7 +53,7 @@ H.adjust_blurriness(1) H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!") playsound(H, "desceration", 50, TRUE) - if(H.is_mouth_covered()) + if(!H.is_mouth_covered()) reagents.trans_to(H,15) //Cream pie combat if(!H.creamed) // one layer at a time H.add_overlay(creamoverlay) From e47d7c0ddfe2c84beb60edebfffb4c0b61f5ecba Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:03:37 -0600 Subject: [PATCH 190/221] Automatic changelog generation for PR #11113 [ci skip] --- html/changelogs/AutoChangeLog-pr-11113.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11113.yml diff --git a/html/changelogs/AutoChangeLog-pr-11113.yml b/html/changelogs/AutoChangeLog-pr-11113.yml new file mode 100644 index 0000000000..b3c0bb34a8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11113.yml @@ -0,0 +1,4 @@ +author: "CameronWoof" +delete-after: True +changes: + - rscadd: "Ammonia and saltpetre can now be made at the biogenerator." From 7151f3d2ea11c3a7481a1d3d8f0d0602ef0fcfed Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 20:05:52 -0600 Subject: [PATCH 191/221] Automatic changelog generation for PR #11098 [ci skip] --- html/changelogs/AutoChangeLog-pr-11098.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11098.yml diff --git a/html/changelogs/AutoChangeLog-pr-11098.yml b/html/changelogs/AutoChangeLog-pr-11098.yml new file mode 100644 index 0000000000..5ca7b7dd1e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11098.yml @@ -0,0 +1,4 @@ +author: "Raiq & Linzolle" +delete-after: True +changes: + - rscadd: "Bone bow - Ash walkers crafting , bone arrows - Ash walkers crafting, silk string used in bow crafting, harden arrows - Ash walkers crafting, ash walker only crafting book, basic pipe bow, and bow & arrow selling. Quivers for ash walkers as well, just to hold some arrows well out on the hunt!" From c498b1df95ef65a7fe9b4fdbf9f8eea5ba33e443 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Wed, 19 Feb 2020 22:00:15 -0500 Subject: [PATCH 192/221] Quick TEG update asdf --- .../StationRuins/Box/Engine/engine_teg.dmm | 104 +++++++++--------- 1 file changed, 51 insertions(+), 53 deletions(-) diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm index 42ed0035ce..6a134fca70 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_teg.dmm @@ -189,8 +189,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "gA" = ( -/obj/machinery/igniter{ - id = "TEG_igniter" +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 1; + injecting = 50; + on = 1 }, /turf/open/floor/engine/vacuum, /area/engine/engineering) @@ -390,21 +392,23 @@ /turf/open/floor/plating, /area/engine/engineering) "nc" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/engine/vacuum, /area/engine/engineering) "nk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +/obj/machinery/atmospherics/components/binary/pump{ + name = "Hot to Burn Chamber" }, -/turf/closed/wall/r_wall, +/turf/open/floor/plasteel, /area/engine/engineering) "nD" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/engine/vacuum, /area/engine/engineering) "nL" = ( @@ -461,10 +465,11 @@ /turf/open/floor/plasteel, /area/engine/engineering) "oQ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/sign/warning/securearea{ pixel_x = -32 }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, /turf/open/floor/engine/vacuum, /area/engine/engineering) "oS" = ( @@ -728,16 +733,16 @@ /area/engine/engineering) "vq" = ( /obj/structure/table/reinforced, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed{ - pixel_x = 3; - pixel_y = 3 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ c_tag = "TEG - South West"; dir = 4 }, +/obj/item/analyzer, +/obj/item/analyzer{ + pixel_x = 7; + pixel_y = 3 + }, /turf/open/floor/plasteel, /area/engine/engineering) "vG" = ( @@ -798,17 +803,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "xD" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Mix to Engine" }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Atmos to Loop" - }, /turf/open/floor/plasteel, /area/engine/engineering) "yf" = ( @@ -837,11 +835,7 @@ /area/engine/engineering) "zx" = ( /obj/structure/table/wood, -/obj/item/electronics/apc, -/obj/item/electronics/apc{ - pixel_x = 3; - pixel_y = 3 - }, +/obj/item/analyzer, /turf/open/floor/plasteel, /area/engine/engineering) "zG" = ( @@ -855,8 +849,8 @@ /turf/open/space/basic, /area/space) "Am" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +/obj/machinery/igniter{ + id = "TEG_igniter" }, /turf/open/floor/engine/vacuum, /area/engine/engineering) @@ -962,10 +956,11 @@ /turf/open/floor/plasteel, /area/engine/engineering) "BY" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/sign/warning/securearea{ pixel_x = 32 }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, /turf/open/floor/engine/vacuum, /area/engine/engineering) "CH" = ( @@ -1099,7 +1094,8 @@ /area/engine/engineering) "FW" = ( /obj/machinery/atmospherics/components/binary/pump{ - dir = 1 + dir = 1; + name = "Burn Chamber to Hot" }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light{ @@ -1177,7 +1173,9 @@ /turf/open/floor/plating/airless, /area/engine/engineering) "Hp" = ( -/obj/machinery/atmospherics/components/binary/pump, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Space Loop Bypass" + }, /turf/open/floor/plasteel, /area/engine/engineering) "HF" = ( @@ -1204,11 +1202,10 @@ /turf/open/floor/plasteel, /area/engine/engineering) "IA" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 }, -/turf/open/floor/engine/vacuum, +/turf/closed/wall/r_wall, /area/engine/engineering) "IP" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -1290,11 +1287,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"Kx" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction, -/turf/open/floor/plasteel, -/area/engine/engineering) "KA" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/bot, @@ -1441,6 +1433,7 @@ }, /obj/machinery/airalarm{ dir = 1; + locked = 0; pixel_y = -22 }, /obj/machinery/light, @@ -1593,7 +1586,9 @@ /turf/open/floor/plasteel, /area/engine/engineering) "SE" = ( -/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Mix To Burn Chamber" + }, /turf/open/floor/plasteel, /area/engine/engineering) "ST" = ( @@ -1715,7 +1710,7 @@ "Vs" = ( /obj/machinery/atmospherics/components/binary/valve/digital/on{ dir = 4; - name = "Output Release" + name = "Cold to Space Loop" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -1780,7 +1775,7 @@ "XD" = ( /obj/machinery/atmospherics/components/binary/valve/digital/on{ dir = 4; - name = "Output Release" + name = "Space Loop to Cold" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ @@ -1799,6 +1794,9 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/engine/vacuum, /area/engine/engineering) "XP" = ( @@ -1857,8 +1855,8 @@ /area/engine/engineering) "YP" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/item/pipe_dispenser, /turf/open/floor/plasteel, /area/engine/engineering) "YQ" = ( @@ -1917,7 +1915,7 @@ /area/engine/engineering) "ZC" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible, -/turf/open/floor/engine/vacuum, +/turf/open/space/basic, /area/engine/engineering) "ZT" = ( /turf/template_noop, @@ -2531,9 +2529,9 @@ Xe aR ZY QH -Hp -Kx -kS +nk +le +ZC oQ kS kS @@ -2588,11 +2586,11 @@ sH sH gq FW -Kx -kS +le +ZC BY kS -IA +kS nD ek Le @@ -2620,8 +2618,8 @@ yN yN yN yN -nk -MP +yN +IA fO Rh Rh From 00618dbc9bdebc3e8967e18e3932aefc8cb9a32d Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 20:58:06 -0800 Subject: [PATCH 193/221] whoops option is a number --- code/controllers/subsystem/vote.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 9924ed7917..f3513b7af7 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -216,7 +216,7 @@ SUBSYSTEM_DEF(vote) for(var/ckey in voted) cur_choices[cur_choices[voted[ckey][1]]]++ // jesus christ how horrifying var/least_vote = 100000 - var/least_voted + var/least_voted = 1 for(var/i in 1 to cur_choices.len) var/option = cur_choices[i] if(cur_choices[option] > voted.len/2) @@ -227,8 +227,8 @@ SUBSYSTEM_DEF(vote) already_lost_runoff += cur_choices[least_voted] for(var/ckey in voted) voted[ckey] -= least_voted - for(var/option in cur_choices) - cur_choices[option] = 0 + for(var/i in 1 to cur_choices.len) + cur_choices[cur_choices[i]] = 0 /datum/controller/subsystem/vote/proc/announce_result() var/vote_title_text From d7403b3436b14299efe09b2e1133ecd327825bf5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 19 Feb 2020 22:26:10 -0700 Subject: [PATCH 194/221] john doe --- code/modules/shuttle/emergency.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 2a33576373..a3cbe2c82d 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -206,7 +206,7 @@ return if(STAGE_1) var/datum/species/S = new - msg = "AUTHENTICATING - FAIL. AUTHENTICATING - FAIL. AUTHENTICATING - FAI###### Welcome, technician [S.random_name(pick(MALE, FEMALE))]." + msg = "AUTHENTICATING - FAIL. AUTHENTICATING - FAIL. AUTHENTICATING - FAI###### Welcome, technician JOHN DOE." qdel(S) if(STAGE_2) msg = "Warning: Navigational route fails \"IS_AUTHORIZED\". Please try againNN[scramble_message_replace_chars("againagainagainagainagain", 70)]." From 71c71766e68a3c5365b1f18fbdf74b50ba0cfccf Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 19 Feb 2020 21:53:22 -0800 Subject: [PATCH 195/221] one of those runtimes that will never show up in play but boy howdy --- code/game/gamemodes/dynamic/dynamic_storytellers.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index 303c436f99..069c73a421 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -57,7 +57,8 @@ Property weights are: mean += 2.5 if(CHAOS_MAX) mean += 5 - GLOB.dynamic_curve_centre += (mean/voters) + if(voters) + GLOB.dynamic_curve_centre += (mean/voters) GLOB.dynamic_forced_threat_level = forced_threat_level /datum/dynamic_storyteller/proc/get_midround_cooldown() From ca7e4842ee399cd9276585d68da375237d643b32 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 19 Feb 2020 23:57:01 -0600 Subject: [PATCH 196/221] Automatic changelog generation for PR #11168 [ci skip] --- html/changelogs/AutoChangeLog-pr-11168.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11168.yml diff --git a/html/changelogs/AutoChangeLog-pr-11168.yml b/html/changelogs/AutoChangeLog-pr-11168.yml new file mode 100644 index 0000000000..93caacdad1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11168.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Runtime if nobody has a chaos pref set" From 296e845183433616188b14e5d4fcc804316045be Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:00:04 -0600 Subject: [PATCH 197/221] Automatic changelog generation for PR #11160 [ci skip] --- html/changelogs/AutoChangeLog-pr-11160.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11160.yml diff --git a/html/changelogs/AutoChangeLog-pr-11160.yml b/html/changelogs/AutoChangeLog-pr-11160.yml new file mode 100644 index 0000000000..cf0fc3253e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11160.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "Pie reagent transfer now requires an uncovered mouth." From ad337901e2e853a1bb5305a3c730822d233974bd Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:07:54 -0600 Subject: [PATCH 198/221] Automatic changelog generation for PR #11149 [ci skip] --- html/changelogs/AutoChangeLog-pr-11149.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11149.yml diff --git a/html/changelogs/AutoChangeLog-pr-11149.yml b/html/changelogs/AutoChangeLog-pr-11149.yml new file mode 100644 index 0000000000..bc9ce5eb9e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11149.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Mining vendors no longer fail and eat your points iff you have precisely enough points to pay for an item" From 1cff36babdeae775f9b87e0243da1d7665766e0f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:08:17 -0600 Subject: [PATCH 199/221] Automatic changelog generation for PR #11146 [ci skip] --- html/changelogs/AutoChangeLog-pr-11146.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11146.yml diff --git a/html/changelogs/AutoChangeLog-pr-11146.yml b/html/changelogs/AutoChangeLog-pr-11146.yml new file mode 100644 index 0000000000..09d3b0134b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11146.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "all supermatter damage is now hardcapped" From 5f44230442ad56c3120154e93c2ff9d6dbfebe6f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:08:30 -0600 Subject: [PATCH 200/221] Automatic changelog generation for PR #11141 [ci skip] --- html/changelogs/AutoChangeLog-pr-11141.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11141.yml diff --git a/html/changelogs/AutoChangeLog-pr-11141.yml b/html/changelogs/AutoChangeLog-pr-11141.yml new file mode 100644 index 0000000000..68de20a632 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11141.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "pais are no longer fulltile click opacity." From 1b518b69c45ab3e936b92ca58c83f23c57fb01af Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:09:06 -0600 Subject: [PATCH 201/221] Automatic changelog generation for PR #11139 [ci skip] --- html/changelogs/AutoChangeLog-pr-11139.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11139.yml diff --git a/html/changelogs/AutoChangeLog-pr-11139.yml b/html/changelogs/AutoChangeLog-pr-11139.yml new file mode 100644 index 0000000000..99a7027977 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11139.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "pais can no longer bodyblock bullets" From ca7e4de5d4204aa8745b26489939c53c7bd27959 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:09:49 -0600 Subject: [PATCH 202/221] Automatic changelog generation for PR #11080 [ci skip] --- html/changelogs/AutoChangeLog-pr-11080.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11080.yml diff --git a/html/changelogs/AutoChangeLog-pr-11080.yml b/html/changelogs/AutoChangeLog-pr-11080.yml new file mode 100644 index 0000000000..1dd764cfc3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11080.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Stunbatons changed yet again." From e36c5a10b32076a1ba8e99ab90e3dcd60f0ea8b0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:14:17 -0600 Subject: [PATCH 203/221] Automatic changelog generation for PR #11166 [ci skip] --- html/changelogs/AutoChangeLog-pr-11166.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11166.yml diff --git a/html/changelogs/AutoChangeLog-pr-11166.yml b/html/changelogs/AutoChangeLog-pr-11166.yml new file mode 100644 index 0000000000..c812c77ad8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11166.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Fixed IRV." From c39d51465e484b439357adedb97f5ef9a90da6eb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:24:53 -0600 Subject: [PATCH 204/221] Automatic changelog generation for PR #11033 [ci skip] --- html/changelogs/AutoChangeLog-pr-11033.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11033.yml diff --git a/html/changelogs/AutoChangeLog-pr-11033.yml b/html/changelogs/AutoChangeLog-pr-11033.yml new file mode 100644 index 0000000000..c5b9a2f65a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11033.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - rscadd: "cmo now gets advanced surgery drapes that techweb-sync for advanced surgeries without an operating console." From 6cb07e2c9059fd3aaa2daa55d67d36501cf9f93f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:26:19 -0600 Subject: [PATCH 205/221] Automatic changelog generation for PR #11140 [ci skip] --- html/changelogs/AutoChangeLog-pr-11140.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11140.yml diff --git a/html/changelogs/AutoChangeLog-pr-11140.yml b/html/changelogs/AutoChangeLog-pr-11140.yml new file mode 100644 index 0000000000..1054039b53 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11140.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "pai radio short changed to 3 minutes down from 5" From 385cf77c6e0d9d528f04c0065e9dbcb04f474132 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:27:51 -0600 Subject: [PATCH 206/221] Automatic changelog generation for PR #11025 [ci skip] --- html/changelogs/AutoChangeLog-pr-11025.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11025.yml diff --git a/html/changelogs/AutoChangeLog-pr-11025.yml b/html/changelogs/AutoChangeLog-pr-11025.yml new file mode 100644 index 0000000000..af9ac20f62 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11025.yml @@ -0,0 +1,5 @@ +author: "Arturlang" +delete-after: True +changes: + - rscadd: "Nanite interfaces have gotten a rework to TGUI Next, and can now support sub-programs. +add:Adds the nanite sting program, which will allow you to manually sting people to give them nanites, changeling style." From c5c29faf4b4056aa7bc00734f18474a377205f47 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 04:48:08 -0600 Subject: [PATCH 207/221] Automatic changelog generation for PR #11136 [ci skip] --- html/changelogs/AutoChangeLog-pr-11136.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11136.yml diff --git a/html/changelogs/AutoChangeLog-pr-11136.yml b/html/changelogs/AutoChangeLog-pr-11136.yml new file mode 100644 index 0000000000..5289fc3492 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11136.yml @@ -0,0 +1,5 @@ +author: "Owai-Seek" +delete-after: True +changes: + - rscadd: "BROOM" + - tweak: "Janitor Vendor now has gear for two Janitors." From 6ffde67b7888372f4d179e228111c2431d953633 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 07:17:36 -0600 Subject: [PATCH 208/221] Automatic changelog generation for PR #11153 [ci skip] --- html/changelogs/AutoChangeLog-pr-11153.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11153.yml diff --git a/html/changelogs/AutoChangeLog-pr-11153.yml b/html/changelogs/AutoChangeLog-pr-11153.yml new file mode 100644 index 0000000000..bba1af88db --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11153.yml @@ -0,0 +1,5 @@ +author: "BuffEngineering, nemvar." +delete-after: True +changes: + - bugfix: "Addicts can now feel like they're getting their fix or kicking it." + - bugfix: "Aheals now remove addictions and restore your mood to default." From 549e3d7fbdcb8cb5397101aee2b39766460517a2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 07:40:11 -0600 Subject: [PATCH 209/221] Automatic changelog generation for PR #10649 [ci skip] --- html/changelogs/AutoChangeLog-pr-10649.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10649.yml diff --git a/html/changelogs/AutoChangeLog-pr-10649.yml b/html/changelogs/AutoChangeLog-pr-10649.yml new file mode 100644 index 0000000000..04e3569ad3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10649.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - rscadd: "Shuttle hijacking has been completely reworked. Alt-click the shuttle as a hijack-capable mind (so traitors, and especially traitors with hijack) to begin or continue a hacking process." From ee07f1312eec495c1e4dd22725155e9937a7814b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 08:31:42 -0600 Subject: [PATCH 210/221] Automatic changelog generation for PR #11142 [ci skip] --- html/changelogs/AutoChangeLog-pr-11142.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11142.yml diff --git a/html/changelogs/AutoChangeLog-pr-11142.yml b/html/changelogs/AutoChangeLog-pr-11142.yml new file mode 100644 index 0000000000..35c4033e2c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11142.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - refactor: "vampire \"immortal haste\" has been reworked to be more reliable and consistent." From 0892837e5ae74635011b0998cacdca20f9946bf0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 08:33:30 -0600 Subject: [PATCH 211/221] Automatic changelog generation for PR #10572 [ci skip] --- html/changelogs/AutoChangeLog-pr-10572.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10572.yml diff --git a/html/changelogs/AutoChangeLog-pr-10572.yml b/html/changelogs/AutoChangeLog-pr-10572.yml new file mode 100644 index 0000000000..d18e2d9e93 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10572.yml @@ -0,0 +1,5 @@ +author: "Tupinambis" +delete-after: True +changes: + - tweak: "the portion of laws that require harm prevention by silicons has been removed." + - server: "silicon_laws.txt config file is required to be modified for full implementation." From 505c93a68b4d2ba75cb9accc1d53ba302ef4f8be Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 13:52:32 -0600 Subject: [PATCH 212/221] Automatic changelog generation for PR #11154 [ci skip] --- html/changelogs/AutoChangeLog-pr-11154.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11154.yml diff --git a/html/changelogs/AutoChangeLog-pr-11154.yml b/html/changelogs/AutoChangeLog-pr-11154.yml new file mode 100644 index 0000000000..03e1898b60 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11154.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - bugfix: "Nightmares no longer delete entire guns from existence for merely having a light on them." From 116d2b190d325ca005a97bc0ce52ed802f62a114 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 13:53:30 -0600 Subject: [PATCH 213/221] Automatic changelog generation for PR #11157 [ci skip] --- html/changelogs/AutoChangeLog-pr-11157.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11157.yml diff --git a/html/changelogs/AutoChangeLog-pr-11157.yml b/html/changelogs/AutoChangeLog-pr-11157.yml new file mode 100644 index 0000000000..5843c5f0e4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11157.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "Licking pref" From a80a770310a3a1b127f185a05cc820f76dd89b03 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 16:50:11 -0600 Subject: [PATCH 214/221] Automatic changelog generation for PR #11155 [ci skip] --- html/changelogs/AutoChangeLog-pr-11155.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11155.yml diff --git a/html/changelogs/AutoChangeLog-pr-11155.yml b/html/changelogs/AutoChangeLog-pr-11155.yml new file mode 100644 index 0000000000..069cdbdedf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11155.yml @@ -0,0 +1,4 @@ +author: "necromanceranne" +delete-after: True +changes: + - bugfix: "Literally unclickability with a cham projector" From 8d00f11fc105b6b7e20e56ecfd35edd873caa350 Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 20 Feb 2020 16:01:06 -0800 Subject: [PATCH 215/221] maybe this'll work. --- code/controllers/subsystem/vote.dm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index f3513b7af7..532fe2b97c 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -211,20 +211,19 @@ SUBSYSTEM_DEF(vote) var/already_lost_runoff = list() var/list/cur_choices = choices.Copy() for(var/ckey in voted) - choices[choices[voted[ckey][1]]]++ // jesus christ how horrifying + choices["[voted[ckey][1]]"]++ // jesus christ how horrifying for(var/_this_var_unused_ignore_it in 1 to choices.len) // if it takes more than this something REALLY wrong happened for(var/ckey in voted) - cur_choices[cur_choices[voted[ckey][1]]]++ // jesus christ how horrifying + cur_choices["[voted[ckey][1]]]"]++ // oh god it's being done AGAIN var/least_vote = 100000 - var/least_voted = 1 - for(var/i in 1 to cur_choices.len) - var/option = cur_choices[i] - if(cur_choices[option] > voted.len/2) - return list(option) - else if(cur_choices[option] < least_vote && !(option in already_lost_runoff)) - least_vote = cur_choices[option] - least_voted = i - already_lost_runoff += cur_choices[least_voted] + var/least_voted = -1 + for(var/option in cur_choices) + if(cur_choices["[option]"] > voted.len/2) + return list("[option]") + else if(cur_choices["[option]"] < least_vote && !("[option]" in already_lost_runoff)) + least_vote = cur_choices["[option]"] + least_voted = option + already_lost_runoff += cur_choices["[least_voted]"] for(var/ckey in voted) voted[ckey] -= least_voted for(var/i in 1 to cur_choices.len) @@ -411,12 +410,12 @@ SUBSYSTEM_DEF(vote) return vote if(SCHULZE_VOTING,INSTANT_RUNOFF_VOTING) if(usr.ckey in voted) - if(vote in voted[usr.ckey]) - voted[usr.ckey] -= vote + if(choices[vote] in voted[usr.ckey]) + voted[usr.ckey] -= choices[vote] else voted += usr.ckey voted[usr.ckey] = list() - voted[usr.ckey] += vote + voted[usr.ckey] += choices[vote] saved -= usr.ckey if(SCORE_VOTING,MAJORITY_JUDGEMENT_VOTING) if(!(usr.ckey in voted)) From a49260e0ac93003dfcfd78c94e70e981297df407 Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 20 Feb 2020 16:03:00 -0800 Subject: [PATCH 216/221] Revert "maybe this'll work." This reverts commit 8d00f11fc105b6b7e20e56ecfd35edd873caa350. --- code/controllers/subsystem/vote.dm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 532fe2b97c..f3513b7af7 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -211,19 +211,20 @@ SUBSYSTEM_DEF(vote) var/already_lost_runoff = list() var/list/cur_choices = choices.Copy() for(var/ckey in voted) - choices["[voted[ckey][1]]"]++ // jesus christ how horrifying + choices[choices[voted[ckey][1]]]++ // jesus christ how horrifying for(var/_this_var_unused_ignore_it in 1 to choices.len) // if it takes more than this something REALLY wrong happened for(var/ckey in voted) - cur_choices["[voted[ckey][1]]]"]++ // oh god it's being done AGAIN + cur_choices[cur_choices[voted[ckey][1]]]++ // jesus christ how horrifying var/least_vote = 100000 - var/least_voted = -1 - for(var/option in cur_choices) - if(cur_choices["[option]"] > voted.len/2) - return list("[option]") - else if(cur_choices["[option]"] < least_vote && !("[option]" in already_lost_runoff)) - least_vote = cur_choices["[option]"] - least_voted = option - already_lost_runoff += cur_choices["[least_voted]"] + var/least_voted = 1 + for(var/i in 1 to cur_choices.len) + var/option = cur_choices[i] + if(cur_choices[option] > voted.len/2) + return list(option) + else if(cur_choices[option] < least_vote && !(option in already_lost_runoff)) + least_vote = cur_choices[option] + least_voted = i + already_lost_runoff += cur_choices[least_voted] for(var/ckey in voted) voted[ckey] -= least_voted for(var/i in 1 to cur_choices.len) @@ -410,12 +411,12 @@ SUBSYSTEM_DEF(vote) return vote if(SCHULZE_VOTING,INSTANT_RUNOFF_VOTING) if(usr.ckey in voted) - if(choices[vote] in voted[usr.ckey]) - voted[usr.ckey] -= choices[vote] + if(vote in voted[usr.ckey]) + voted[usr.ckey] -= vote else voted += usr.ckey voted[usr.ckey] = list() - voted[usr.ckey] += choices[vote] + voted[usr.ckey] += vote saved -= usr.ckey if(SCORE_VOTING,MAJORITY_JUDGEMENT_VOTING) if(!(usr.ckey in voted)) From f0599e292530bea22de3997d6e377c8462191a3a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 19:43:06 -0600 Subject: [PATCH 217/221] Automatic changelog generation for PR #10541 [ci skip] --- html/changelogs/AutoChangeLog-pr-10541.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10541.yml diff --git a/html/changelogs/AutoChangeLog-pr-10541.yml b/html/changelogs/AutoChangeLog-pr-10541.yml new file mode 100644 index 0000000000..f59ebe0e75 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10541.yml @@ -0,0 +1,5 @@ +author: "Detective-Google" +delete-after: True +changes: + - rscadd: "the POOL. +remove: boxstation dorms 7" From 1f843e6c4bc67ceced28ef1900f6479c9df24ed1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 19:43:33 -0600 Subject: [PATCH 218/221] Automatic changelog generation for PR #11163 [ci skip] --- html/changelogs/AutoChangeLog-pr-11163.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11163.yml diff --git a/html/changelogs/AutoChangeLog-pr-11163.yml b/html/changelogs/AutoChangeLog-pr-11163.yml new file mode 100644 index 0000000000..5492ad563b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11163.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "TEG" From 62ad68f1ef9b3080705a007153c89eb755ed382e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 19:47:21 -0600 Subject: [PATCH 219/221] Automatic changelog generation for PR #11156 [ci skip] --- html/changelogs/AutoChangeLog-pr-11156.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11156.yml diff --git a/html/changelogs/AutoChangeLog-pr-11156.yml b/html/changelogs/AutoChangeLog-pr-11156.yml new file mode 100644 index 0000000000..dc684eb4ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11156.yml @@ -0,0 +1,8 @@ +author: "Psody-Mordheim" +delete-after: True +changes: + - rscadd: "Disfiguration Symptom." + - rscadd: "Deoxyribonucleic Acid Saboteur Symptom." + - rscadd: "Polyvitiligo Symptom." + - rscdel: "Revitiligo Symptom." + - rscdel: "Vitiligo Symptom." From 9f9881b57e35a7ee717a31c6814c08aa94364fc9 Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 20 Feb 2020 18:43:36 -0800 Subject: [PATCH 220/221] this is so sad --- code/controllers/subsystem/vote.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index f3513b7af7..0bd4840c7d 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -211,24 +211,24 @@ SUBSYSTEM_DEF(vote) var/already_lost_runoff = list() var/list/cur_choices = choices.Copy() for(var/ckey in voted) - choices[choices[voted[ckey][1]]]++ // jesus christ how horrifying + choices["[choices[voted[ckey][1]]]"]++ // jesus christ how horrifying for(var/_this_var_unused_ignore_it in 1 to choices.len) // if it takes more than this something REALLY wrong happened for(var/ckey in voted) - cur_choices[cur_choices[voted[ckey][1]]]++ // jesus christ how horrifying + cur_choices["[cur_choices[voted[ckey][1]]]]"]++ // jesus christ how horrifying var/least_vote = 100000 var/least_voted = 1 for(var/i in 1 to cur_choices.len) var/option = cur_choices[i] - if(cur_choices[option] > voted.len/2) - return list(option) - else if(cur_choices[option] < least_vote && !(option in already_lost_runoff)) - least_vote = cur_choices[option] + if(cur_choices["[option]"] > voted.len/2) + return list("[option]") + else if(cur_choices["[option]"] < least_vote && !("[option]" in already_lost_runoff)) + least_vote = cur_choices["[option]"] least_voted = i already_lost_runoff += cur_choices[least_voted] for(var/ckey in voted) voted[ckey] -= least_voted for(var/i in 1 to cur_choices.len) - cur_choices[cur_choices[i]] = 0 + cur_choices["[cur_choices[i]]"] = 0 /datum/controller/subsystem/vote/proc/announce_result() var/vote_title_text From 0cffb2e6729997fa7511931254e846ec23b2635d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 20 Feb 2020 20:50:50 -0600 Subject: [PATCH 221/221] Automatic changelog generation for PR #11176 [ci skip] --- html/changelogs/AutoChangeLog-pr-11176.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11176.yml diff --git a/html/changelogs/AutoChangeLog-pr-11176.yml b/html/changelogs/AutoChangeLog-pr-11176.yml new file mode 100644 index 0000000000..98c7619990 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11176.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "IRV fixed... again"