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/392] 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 zcma)j1yo$m(&ruA9fAjk!QCN1(81kFa3{D0cMHK?gS%^RcbA|+f=d!Kg6xp|-}l~r zyXV{O)6=JK*X^pVs$cc3E2C^_sSdyZ|CCF(zn$0m;2ID)$o-A8iM7kq5J$xo<)@kdRi0)(Q3AGjjIo3s|F<#<`$O>u*6F(5P$?7;ZUF$448@21OO}mcufPwNVJdx z7bWF0c%>!DKJ^CKBh!*12MJAMIEMb!P;i^!0{|Qlzo5hTMMBqw2cUKllcfyBQ+sMmA}GTMp-nic^9W^0mNN=t zX6>z@Ysj~*1z zwMZZknPEvFJ+Y4f7pFNxS^ZUu0tkSr3CP6b$<^VF*O5-n(kNdrtK#y^a!ILcC~88B zo1wP5`Les)vb(QtTBv@juWoCo{-;pG+fZY|uz%_g-_N&C^^fWlARv!gAY~W)fr|LU zj=%@lkg!S^!0gE+6vzow;DiFXVhfvU>&#}Wie~%qdgk$Zv_Gdnefk#?dDa=l|3|gZ zO)>v}S23#*MnDW|%V8(dVJ8|XHJV{(X2d@h9s!^}6;op#bmo?E;U0DohE^F@$vgF?EoOgK|1I}ItsOh8q2&hkG6}*vWwy})D%w^`JYSRAG|;nq0F{Ou?axp ziZlLWmH;SQ!hEEcXn!R^Pl(9>LXk0(aXBe~k+GLohL<_t8>x{=-&U5E`NxBHQ$)K^ zUxLTd2lLWrGF+zQ&@zht_PlU15v$7PpkqV_Sr|h^#?bSu=Q0q>R&=0qb!Rg6OWW|E zy~w0Y`ldFGzx@7zMVV37RIk7`bVlTArfnOtA+-0?EbDv{`DyIG!$%D2H{(x)L)k$T zzOe`$Fu^&_{M1zTPYIsX_G7(7!!M` zwS*dea{IjO`+51@t7l>V9a#SrIRG?hLjJ^Ll1U85a8|IA1oB@8|0{Bw@P^|_N8@Sa z>uD6{m?tl|l`pwxaivtb71i+#XYt+U3Cz`b4d;2x=QYh2-OX2;&GlP+b({YQn7?83 zdD-nhBIhYYs03nnWfS239XWXnu{->+)N%Y9rT-4B9BT&?Ard7mMRJ_vA#Ff&-*PKsL)NHb!<~Co^(A*%< zTx>R9BkPaWY)*uc-aZC+&{q)zuaCr%%-Os*@q7lXiBWV(@rz#c_LC zd%MF)yVFFoJ!wJtaTnuwU+q}^*OPX(MmI`TO}C9C!(DBt9`>(1a`bOQ>+OZQtA39` z8O;3yvQ}sUhYUsX%P=la|zM>xvgl&L|2AAl58Nb9y#qLkoH_*rr&V2Zd%+ za>zxEPXs8dgS zA&$NrcnDA3o@FS5dWZtbYV=9?9~paTNl;el!3hvZRdRybL{{PxtKe9O9Jo0Fq5xeL z1X35Orf0{ol%;0J16>uARRYA0Wk^q7p~($P5B1Ngs+zQHZK{T#!fA^LMY}GPGn; z^(36JE;#`ze1BChMj&a<1j;HwEe1M6->$7V#Rf{qP>XKbUv;tLxmnPwe3Bs#y+XLW zZ@bol?m7XmfLH*sdEV0&@)Wk>5o%L%)>zIH0*uHK69V*Q&I%G>u;zp~5^d9z02n;D zB!EO)L?F+|GN@$>21B)A0f4+eVT+&`IS4{Q*F^>-p;0_U0o`{Hh>8e8c5TFX0WHw1)cuc zM`(dKL_mzN04i6&63b*l;Eqa!pUs#P^}35w5y?wK%v*VCQ}5kSmOk_Hb^BqgXp z#X(gnb4G*OZcyuqkfe7?0fmMgk2@9=RzrF(AytDqw$+qHOD2^(%TN$E?Pu6Rpak2= zHULY>XDJFbMJ)jrar~D%Z zN`M{?K?wo}q)$zjOYFZBlYjS+|1V0ELGvtZE$G#Hh>!&7Z&ogi^XJgi?w=$*?eF1# z-v6hbzHJp0a{t)?V%;c+z#}4wmJC0b7?t@+M=T6zqSv1WT`>Y#NErCAFa+wJ z{Fe{`23jaez+fnRpb?#<2T6BPQ)8qpN_pBk7W5!2P~M2NMN4WnP$_~)MU4wjqCSbs zf{T{)qFJCJ2Z0`%#PEcvK~EX{WKzjdIHv}UPeRj5XaMQiLYHpK0&ZF|iD`n`AG$*< znMCs}>7fE!4vs*8Y^_sRa$!T??A9M&Q$mw%i9gnUx-n3L`XcWMEtHZFD5{r&N1nv(QLvWy}ToRP? z-?1bdsEj}9U6R@pBB7>vBK(2spB^&hlezw!O!;^2Q!WUFDD2ZNOnpdGFh*s^z1;_^ zVl@H*0?+`!>66U~cxi-UFe@ZQJ|xZ=%Y+qMElNP9&RmvgkZ>`HqXC*kI+HG!7UH`U?K?U7`z@q3_yGLt}z<*kh2HgaNUg}gaVE-Vi1HE z7Z8l=;JJgY+}evQC{={<_XZdQkOM#hIt3L~hCnRFd(1ejc3gkdXe~s=)o}|GhyLd-<3Abc6gPW>1zwfrE>c zm6MKvj+vQ;RhWmHRe+0?i;LrtXsCB!VEE%KJ(!k`5zNNM2BxE9Wg8wE?i;eh4unsc z#==hE%lA!IA&7k;^s(JZ;9xoTh0ftw*8B6-nuepZ$2kH)SttBRjXCALAixJZy3H64 zE>6}TV}!u9$NW+&7B!kPFYs3dB6*hoZxq7xpcjZ_MEh&>#Ljsd>)$(;!sPK=Yr4o7 z(N@n#1!>bL$8Z;R7UP#v<5yPYJKjqVjP2h$-Mvv`BnBpqd}jD>cE=GKt+6S zS;XI)?IS2x%lp-i-}=4?!2p$K?sCcu9dP>!WhEB9JrK`^1?j4w!{io9=fln*A((P| zni&GMQyjSSs5%fnp=_go8*CXVUMwM)Q;WvOD!=6S%_gHFzVAb;=%fOG2IC=Li)0)* z7}5YL#YWKVX-*E+_eq?)^gvjDaAS-@>JFTM!zG$pPlN%489Re`joh24xbTcm0dF!5 z&~pcU3r>a~8?q#c7Fy@dD{x|X9b#|IHv6$d81K;lxF6p&EdWw-*6tW=xFzybcY-F# z_X{2`g_KG*mIMJGx_bovmk8G9_<78h84BYLzH?fWO^hGRKBttG2p1$(&E;&ko6B={ zWy18~09O(mT&rfKL6W^4wi<{OO@K+BY_W@FKelzNj<0DnhdHy?iS@(5Rr8tVFBNyv zAC9tL*72P|cPXfB0F6f=XwlQ$WO~1*)HMI)cM=5Pt$m5lD}0vc6*v|=Z*F8t(LT%7!5^tR+Q`*4wC;S}5H_QcY?ta^IofByc`^DdrbEgN0v<3Ucj?)J&SblCIH zOV2Ry>FSzPz90Oyyo9TCM$IIfx{2=Ue~3hXHv(V`w3aOIZgQ?_T1<48@@T$gB)CG{ zft?=pa~i$R4&Jg_wYc*RMPN>2KLgHHMgbY-!cGHZ_sipG`=hLQkif&>;I;iLqt@5= zp*^$8OBje~9!GHH-@9rRPMXCC=IY;+eyDzE`|cr0;5!@cMVA{aN&u zo7=|uDGqQKHj9qer(`!ymKU`L%4%82lU}S&xs$Q0lgjZGenVmu=9cD1K*wlZvbqrO zs7^6(2VBK2f+%tYNj(s2r#b^jc?dL^=5=+iN9Rr2Srae#S{7=HuMt9EsqkJKz$~~jzc_=%dN2^pwaxjeG!^?J zu*l=~VO$#)({J-DGIcWtaabKQp~ukdz}?%^-}UgQsY(PV)*h=XId=ASe*N1==6>XB zPCgyFyeW&E{%3t1Qo1Q#)Hk6v=`A@zNS2vBbnr@RdK}P904+Rw9DX}os>hybE3;Kf z$r9@mK(veMNPXbwGA$?TxJ_!{?yY68I%M*Zq?>Iw1pXIDpw=Fia0gam=V#kyiacfA zrvQ6&1FTQ0UBZ?l1g)rbdvt(|5YLy=sWSSEMgAtlb z>au{P?zI!4G0W5dSCE4_b1d+fi~&4+EONpKLDw2l`)oiHpdb&6kHIHMz|@A>Q|%^JN#eK`~rokk|_7m2zyeYB)8 z)x>aBTi43!{t@_9h6De zQ*4*;v&o(l@?TB7heYMo3zMp5@{MmM(++7~8J$l(tDSHSoITAH5B7Nlq8gz5>T7VK zpi9u=1_DznDycyqp+5Yg5kuk63(tC3l6wIGmD}QyWve*DY*hp*Xa3HxZh8D(lAd{{ zeCaRqvq}D~UUX|%7r|v<3mIvuiJaf9wS^*u|1;R$r9%u-SKR{+c}@p8T&;CIr(oyj zXi?uO$XCWQX8;ecJ`;U89CwnnI%Z48fubp)u*7eqD~aMVtWO zCrBHBstW_&oiwfiWRd*PS2Y;r60Abj0nb-lD`eqnDDIVeykCyXo}I3xPd2*oP)VuPwyo&dO?4bqK)WAYT1}SwAuzQE zA1t|zSu)8HASZb5lf!z2>R=8s$$PPX$H_%E5$y8z42wNHt15v3jP&-bkHVy1Vha4! z3_)O?MOUGvuYV;mt_z3tQ^cD`|9j^HUL|TlX7N`AnmQ-bt_s(e>nv0&l#zW9#G+Fk z7~DXdj2rpU`JJ90Cm&IGxZ^fa7EASU9a&CGzYp_bb!~%-@1Yx643Z(v4y-gg{+_=5u&y?6o5VrvYr-mshhi>{`|} z7ZMr-pu6^;^}Z9GnR{yvkFu9ve?5v+2;5!tu>P(QqW=mO>2)6nB9nr#PD3P%x3-Qi$iiJbPu)fwmUo)AJicRO?!Z^qg%CVCpY2ZdJ z4r66$?5+Qr-SIwWcvt+nj3E`fA+>%1b%NJP?t)^hyl)EZRKSq4-dP++IWzOd6`rA| z@y?b_T&r30QmU*x*cQ0j)OWliB76XAilGy}4$Qh?1kkt@wpw!7llf`s0q)P2@dJA( z-Xmh2-&|vUyR58hbrqH$TL&E}b|+WVSc8wS@mie<-h4rpt0}{5V?y$eFwkJvorV#m zt4Q{H4bLPi8KL;Yd$zKvq9}^VnWqT0Cb(CL)32Uhgt;unN0Hf)FSjs0B>e_^n&y;Z z7H`^JoXbx!4u4&A+RRdRXN`O#Zfny1?S65dpTeiU!)oTQS4od~dvtnr=g4DIZXC)0 z;QmuXjMPjeuv3iXy13=&jw+HrC7+E#Nd#_~TX*_H=Yi1(jS&};56m7g-d2Mz*C+@CX~kdm7Pg&ii9!;L(6&qU0* z9g>|XGMbTG=n`m5zrr-%|LKoqc|7HVYHpsPAn9$+^wPVPSY2A!()?#Lig_n_|H7@3 z7YratC!a(%W7qo`aK+dQ*uglcSOX(}Opx=Hg7~}Q?=9&foXb)*z-6(5%ucx;+PFU? zk0`*-khDJHhEc|=X}VITMYC1CMW+ItOyK!`7vvE}kXL;-klN1=>Dk&o*LAUB$;Z46 zr%iLkp3Kz^u7vmEI|%{Vk>9VM>xk}AU}O%8?QE6pIj}9s(m83T@$A}5i6S$ZHSHT# z0~!dOb7G&Y#CEG2XlDTOrHd(NVak}XQF3-(Q}a*culM5OR*O+%8A1WHhp_j7&D zUp_!MD1Qjv(L=1IBEk&J|2nbR0#$kVVj%-HvlAXolHhvafs(eM zHU@L}OE=kjrrWRReN$One#>!wV@yLnUI{Wc{3hB8s}t_rqtG|1OL>tL{ZXERXj-fZ#w}%@S+Sk%ylanSTalziN82ikrWSQ(%j0NmW>+~t7$G{{i7iq% zAp0$Mk9=AzI4a?#@eZ>9t@#o)^r zQ_~x#y~ zRhONmmrK~s(!=@v+wT)RAJ>+hW$Y)CY2$Tr&+e)Ek`YBTOpJ0oU>Kc}(o+NQ-Y=wo zbJ4aJuNLm-;M0ZO6AxSoTsXev@4>8=vG~G4AdS~S7%Ew$VzXoxe^rLn?qIV_3Ywkv-kr zo_O1J@B8fW`X%2b$%ltWYhZ!ZaMEf7X zbOyMBQk@Z8l^c{Zmn>Q}*4f@A@`rU|%lsP6Gb%_sWl+w+6Wu*8H`e*3 zi}gHN)eowIGxE*KPHkCW=p6T$%JME0&z5HWgVTNIP76cEwqncvx@MJ!kheEt5(9Ja zgML(32XAitS&`p5#Qxz;jCJ{=4OvK_5SjX$Os*AW*~=0((Z}HXmOKCuEgw*V{RPt? zp}5Iv#6J7nM!{q!DUu5GTFKvSg0;}%xxvITS62pC^XOMy?dtK5wtQTQBSkvF*9m+m zdRxxecjZj&W6>D!W4gyVL|@s_FBTAF8gsdjUBl)=m~+2Xz+N1&SXl$C z;dJJ?9>$_AOn|FXOz`Lqi&_vH{MrVtZR8p&m}m%{Z-m??VZ3^*ird=oxb6DCc>9WY z7h6oqpnVk+dvvT!I#aYniW%}6L~$sY|5~R53w1;Wx6}X%(kV()t?2~5tBT@JBdN1U zgn*6T!03RwGl+CemX5MnHwPHb4zv0 zb#GZeclf(kS?eP=PwDlm{#>uY!A?I)r-iMM3$sdNt>7EhL4KT?@#94G1-XQ6M}FK_ zuL#6bcxFdDM6WZ$;P~nf7drZ2zW>%4o~@}gyBI)XLGV7Ya?--q%_rED(AtZvA+eG8 zt}fsc*>f^R@|s0nl!bytL+^!R0j=j;+q;027lu+|PPB=QliT)0YdQ+a<))zYQZ}uX z$%2wIw61-EUHM1fuJxxc9d3TmWP_!#kkak>zG-qTa=fFI9Lg^au4DXF z$OikH&*#c{p!E2y=!x~JmUGPc$KG^{?j?a8GB1k6iD-U!n9h0EfO`Tn6IIe&1L}j* zh(osYoB|ALYf0u5xYF5 zx@e^mxCP7*n%HcU^-f@6*d=+L(PwakwvG@4dZIE^i}!!NrteY=QKa0Y+j|VudUu7~ zZRwpZZyENA4d6#JAh(8*PDS9265sg^57bkF$)|4gX_l@}7cbtcY32rDQ8>1Ll* zxX+^~h>PhAqC6D_3E7eGrRnR9#8s8zMKiuL{4#Bx)`h+(HZxY|0qh=tNn$3?=KRTQ zI8NXbXVUPZDo?EyS}vAQLE;T-ySnXLF%wlj)8@OyInE(QKmh}u>@r}lx1gBlMIAy8sK+JmrWhLBK+0e zZfFR$T-vZm9yuG|Q!&&FktB=PJkgtrYuU=r>9;mn_WC3-iHLN;izc{m!t81U7w5nV zirb)(`;B+b$h)*$o8#kq?@Dyya{#BKWs=CkO+?n^`jQH@MowXX1ogv^5jgV@&C}b@l|{nbQ`eAIy{0ZTrU% zyG_SOZJebuYRsR#{@G5v-z)F%qZgMep8outh(vpD(WM3#5MAXifV%?mxQ*O9a{PRb zz`h2VKYUgel7OK@{@&nM_8W84&e2R?zk&AD>6@a@?Y;!u&9`+I`ack(b6R4uh{cLg zekfu6R+Wi|&3`9LnzWX%EWMsSvx)rf1M5UQY_tu%D?_<)t*`gY07L@4qDtANqG5if zmO;$_cvLw>X#C-jQ1ZgKl4f6~ni1*nv`>}-4}a8|W;69!J5h}A>M5T4kMe4?(a{!e z$zN$>7PK#JjkFi%9wRK8;OkVT%5Z>y6aO}J-qwi-BroBf(xruO{g^<{ufU~>+E?{z zf|7xp1ywTnLW$37j^dvynp;6H9-KcgVyP__$R`D)eOGfcv%51W&IVf_@{E5fT#lf? zrwx>AtGJBuZQ)>scy6PGDm<_=9uu4N=~OpVqztQg`k8vklPA8a8jSQKIw#@VIsE{3 z^OT>L_$2>f8D6i?r|d*zcJ4!FL}KNkfKE6w-O;lLhcY=)7SzzFKSkFBZ7kKO0XPkzbB&G zEfx+sQitZFg5YqXvCO$UFcT!oTwzDpmyq%TKMr_n%E#B$QS%G*t$I5Y6a~TB0%$=KsPrYDM`qMctO}$81lFlgpRWgTWyi ze883Ne%67HC_az;w@p6tI$w;PgQz(bK5GN&YSlZ+1kt9?{Wb*|=3!GdEqWDH=z48v zt_5>GwS;xgPD|;?H@P>JSS1^Nmgr!WGQOb8aFs-S{hGq}MHaHs$)x(uOwmua-*rSH zVCN>oxDV+($y7+R*G1ddKFX-jXArpih|yuczbYiXe#@E#V+Irx5x71oG=vQf^I&fU zlzTG43>#9iaQ9WB!RC2>kBYa}H36e{3YLcEyf1n5j+*7iw;)WB_1W826^}Z4H|XD@ z(Pbsl#1y|G+m}bt=o{rvS{rYtG^7V{9Nzg6)-HR_rcq$h0wk4%llaMLG{GK&=3$yT zY37y&lIb6Iw{H8b*;w^?Yy8vnbG$hX`=zIySm#o^PI3b_ zK1RuWj~TdaUH(XRgoZO=i6}VQ4hR;E-NtXR%Ey3`aKi~Gdu3iVxXc{Yxn6ex66Txv zJ=m&+dc!fN!KALQK9){qwB0WS2UZIt2xln3pL_7o9Vx6enb#s&Ja5ywI23VQk#ZKF z>K*?f!5C6`|HageLLiu^Hf)VU=@b8Zlv_lLpTZn{7JO$~}7&0?*&N`N}UCz*iAQ z2z;>DpLww_$|Uz*KZ1mHG~!Ywv_k2NY>+|f+;hJTROuo$yG4|wPzffU6_^xi3DU-z|a**{$yALI%*LDw(@r9~TG9bw5Ro@Yv?x)pu~9rC^L zU^5Tp;JNd*%)Loovuv*ZK0I`0yz0KySER7Yv~}ZCkA5*Nwee1ogS-Ho=OnsFr_1#6 zC*QDLf`gBWWPT3f^kl;c1jDPl9Q_SCmyD(1C`Epe!royxYEEGPprxg}eVO#L3lSR1 zDn;p;_;vdsLG`J&=Hd3Nwr+SK9gTU59M_(l2a}?&NC!pavNOgZ+}V6^JK>Sy-+Zh- zh_Q5P`C0Y9K!>Uz3ZW@R8o)fCd&%K{_D{~7q@yZ^hWem z$8FDix3nU9SJo#lByJNBviBptc1e3r2`GIX4K<Ia_|8@*q~f$t{|qvk{=hA0_E0mZ*q(_djC zkPR8%H&uV?L_*RNaww%C<>N-;y8T)k>6a>KDGPUAM;+DK&Gj;$=i3tRoWk*G3H62T z)F{m(?N%lY%4rk~!v zItpK>@3)_P*%7+otKv-XqA;*;+I}G4YtvkZ1|0(FSvJ}uL3|F+l4UqWe!h=jM%Yw{w~$RG%|7*LpvXgU74e~)}mV1st=muddlH*`&t%cxHNF;8{>%7hkd zX7YxSR3ixmA5#-8*ODS)gKJKO0sM;2cj`CWhdl$xH3Kjs&-_8{mlY}ieJxj97mb$UpgNB5Tq-^j7$UKx-G&fBml?nUX zq2^Col1V`j`{sErRuqzloBkRfa+|)q0`H#rZ|!-%9C@04i3bvc?5z4`o;U#&B7fLd z8Br*6AB}noMU8qJucF^%7buo1@a~+xt9B-1j2xH5!vXs)2IbhAhfu%e#TI{KbefqH zguBM_dL4@=ek`sUdv7?%#DAO8D}IDrb@osoAhj#2AY(mi8(H%GiS<{x8>>MNCfI#t z76Cgw;rN@ic>^KfDCA-ebwP7FApxQCNC5!I<;=ujk$}UNWnu&EIH0lMbTpD+mGKC+ z3sYJEttgSrX=dULSXhMnjq>N(j7pKlb(?1^`S^&8NcEe^ZKd5RqTYRIangd zK0IjGgeU`NSYW;#sNTX+a{8*_NlT2;J<|_Tnay?9 zo>kzp_UI1LWPN*+$J~{+)q!T7KG&lXD#UkF#%ZXDRlwxz)*<%ut#5?UpE-WVfC|RE z7KnplrOpldH93AHjg>^;Qf`ChTe;;}-%D7HqYet}{r;BWBg=l|8S*|TxnOWAHXLWq z!|m{AFr2m7jiFobdQ=5$I)zRwU?F?>da^%c7mImWQ-pEXBtxQenQMZro7Pf<5m(2J}!vc4Ut`pSn+hg(C zRvu`m1g`y*ICaUp8FA5fvIqLIhpE3yyr?M8Po@O^GK(vA^biO-qjPJj{OY9^Yrf1!L(4=ghQ8 z@~3FR2VvmL28z|1tQp!tK%)hShWtS>^O-aY$FtVv8rDdc7yG;lX7y%j&k^AE8OCbI z^^(PCy>wx%x9zdRjTYJ&$n;`^>mtaL+?{=Sk_UE`&ic!j$zNoG);GAb4>FT-&GRxi zJhUZre{|YnQpP$J>*Bwn?OH3ck{-*$Rw5a*S3&{1l{~^s96{O;2Q|@FzE*6=6>i%l zVyqHg=dp3zL@y929x@#%Pn%dpz3M*xhT~oUy1Pc<7h)`z)H2l{M3XHHL@P(9wZ@)G zjxGIaOCzd4Bl&$H@!)|6INiRBVJSDMr8928YIWxKpE(Z@Phj0J+IX3MEcNLoNZ!*^ zcu9Uq1Zdp$3Hr{V6N7YB%mf6ZJ^RJa$3R&lzujyi)O*%N?Pjch4T9+6{e7?i7oqc% zI{?7brxH(}P@IPPqP(J`V_;)rWo6@>0W;7t&@nNwa&mGoGBPnR(6O?QPR>m*&@(V{ zuyZmqL0dLf7FH&DFqoBXrq3Vr|5MiY#-y;?eX!PlNYlRl))N_7u7gAGFS3N0>z3>x z&lPw{9z?wa`m*AVu=0izL3Ys#H(;Ruej!j?5>O53A9x&?mOV2jIF#2G2LbCFC|DGl zImmJl`r&}ymnQ}SJ6Z%|liifEm#p1A&(PZt+V2J*6o9*p4mh*lJW)k>r!U18`ZU7Y z+)U?ZCd3duY_dOj%iFwM&iIUu=Aq~EYi_fOhvsz8CuP0LV7;KDAS`^Ec8j2yX|1X? zgskE7CHMLL^5X$%B<9Z-%&v}P7XDW023bc@*f*5#yh3FCv|yWGTaM+S`L(x;Vh*X;c`oyk(aLO5Y!CI(dA-P1Lq~{&U!7mg-^*-k7ZJZIKUFm1)s< zYea5_=^6V}r)Cz}Mz|+gT(=T$rLJvAZ3uF6m1`*y&(|;yWaGBl~Ui#&^iGNL&vwCFNxU z#Q3ia!}EcGy(o5FL1V=B*54uMSRsg?Niu1cW*LuRZL4sdeLbEl{<2J6m3@u`%G!44 zXg6OZ$g@ijc-6xYtR0+hXhwS!PjsqlMEhdZFtsoBnfT^c*uo=s7pxIjpCJKdiV&oq zt2a~?5z}L&=Nj^UyTI5mlNyQgIC94dByx^X6*v6XB|@PJi2@aR3at%@fjeUYuk)1> z^>+x);0zh`d0yp)(R^uov2TE1HGmeYoIj*+m4IOV=_~815<9(k^$Bu}tY;M{YtLOZ zufC>;b|i}h2qw*{?Mj%(H$OrE0iO)DHNM@OF{1k)+wQ^i^b5Hz8rA7_on4jXsTeg8 zVM!L6R7@zTa(S{5NC!#Pr!c|XrnS%;Ik4zd;-L; z4jv+JO;)wKVRG?0%k8qj61b+z%fx`sHY7TU@-1`!oY>wY@k{_y*IXwApNpe`@}c!3 zp>8>T2l7^`i&KbJor4!(-YIAWGq88(&2EQ5rIy%B4^vp-%PE+9bZgDit>LJsP^sKl zBOMol$$VABxa}@)9X^K#{cN#gBMJ%2%rA(r7FLpFoY=E{XN3zl>a7LyLAxN!US2+d zGJlQ$7m1xRhI{H>C!O5*O1O}e~(CMxl-Y3RLlZ=+){DH`fclE#C$ z3b;Ot05L09Qsf^keTda8>;Q58B^ZKi(KI&LMLp+JQas2*jL&Brnq%1ClY+p+qOkXx zXp$*eUK02mkam9Fle~gxS~S92W9Hp58Mo3N#S$7>=_z$$1)N^r_3ozAd`VM^y5c|{ zN$`+pqwbTxPXXEOGRtUXc=~^0oDJt&Cus!9+nfa#Mk4m++DHUp#LtR4m=tR{eQUem z%GST>n^ym&lEQ4bg|Kjq;&=x8h4F}dst^bc_d1XI9#XF+xnY%`O)RDqgaadgyMzN8 zIFqc)2@eyaUf*WIl||*6U0%n~Zv4z|btUWQXh^s^8|f(|qc;4ah1UM}N6^IC7=v|pD!!wg{anEpoJipc4;l)H&GA+w{2eUax3gQJhM$TxFq}7dzKsHNV~H>D%g|q z(_**0CLX8y7NGf>=h+u5xKrkrvpEucEmYLxwZCk6Q@@DlnYBcsTsz3qh4U61V5Up( zF+1C1xbRhMi;1me&ai8w+tPwwkz$NcVGbM2@a#y5t4yY|gogA^3Y((U@%v_;9T{fC zAVurv2Wg)F;_RW%8fR5v%2J9QvG_VW0&af$xv%@ux3>@h=;9+~K>mgS8K~H9S#!%0 z>iJZtTB0YUroXkh@vZ%UtSdg;?Pgw(<-Kx?@2IH7`6%Q0JMk7Y!;2`AK`vWsYLnN+ z(}}h?@TtzuW%~i~%Ki7IEb|OQwPWnC17vLz=f^m(*t|1!??_T8rE^5zRI_|o5xg(w zS&f}Zr+Fq>`@8q+E7kGS4yIN~Us+9QC7}wj7PzTPIYluG#AgquJJBzmDQ_7D8d`uP zLe`z?dOp_2$hqWFn5-_r4JJJ1C}ry0KXL{tq4tbxhJ%2IXEgdq6yidN(X!XizaAIQ zHqr!~a-b*UbeUuW-Tq{6XDs5EeRg}+z2rx4p1WL5?h7nxzevGh(7=$_Yl$ojRAk+u zn^)$<8`}?un7&yoU(?0&&FGZ=5k!bJP^gSaZF0t|iyS9e_32p8VX9H*7n6M|;`2uu z?1J)d5?xmAoo`CLwm+sVo&!jwqgRMyY@3|ihB zd15yWLd%< zfI?ABsv-PI=%-97lqlh=6&RNHJUicsIb0ZPq@Zc0B*mq7GgS>N}M&epSuqL_a|Wpsb~XLHmDqg@ zDkM*cRfRMm(|QLxZ?~{VHRNfjnjVrg6(eQ6`IdkwKj#Wk>@ z486&KgKS5>7BWU2-uia?pk7_-?1Fx;rXEn?-Wbzvb>hZI?Y(4x>-mp1#SFp$r7z=$ zZ4HIb_~2w##!4LwWycNN7IWQ7VPjTYC4{6wxl+}rCH9G+*w@nMQ#Os*$QkF^o_A$} zk~OK;R%VJ{1b8?>b}LZ~zkH}+Myzu#fh&ZetWO-MWOLjZH+IPBZ}RVtd#Vh8Em~Wj z?J@BFEP84Y8xXej6+pxA)>iUGgrG1a`kLrt+>a)_JMil%mKfzq+8!%XJIo*v2+a_F ztVAHiX0@;Z*%I9~7b8>cR^%Fl`KQqDnyYaTC!KZ7{P5&7oO_>JE2f9U=N86PKX~2% zo^=x*Fu5<{LVqh~rKzKooVH6>f(i(4L|LuPEA>-kl>1v#kRf1Rxf!zY+*M%Ge-=o# ziNxi*E~>EAdtS~q?WMFV0PD^BrL5ghqQ{5lf=<8=AcrBvkI|Z(nMvGH1 zJk%@V<@t#fnX5I`IQ8#JKLlM=aRz(8hAYOa>Qw!-&iu0Jr!nxtbKt_~aqdA7kqeW* z-pfAsIE-n{QT*&Ui*d_X(Spc(*vyY`$FdEMn(kaDkz*G_5iW2y z?X)|MKA%t7s7b8Eu{SFqQmGDRNIm1{t^SLQ z3$v|X(*l@egsvM8X&b3WO=DMtO~g$XE?G_0=Ctuk%|5?4UfKw@FL8W+zWAy^JKgr} zPW~4*56nEO3i&uina`anNAr&zMy|ehc|9c@R}BaOUlH1wrH5vfbL)x=a+PocQunpf zejT5K3fOoUo!9mFnPW)EuL84 zj+`rPu>zas>vwjqGyoEcuuG0G9Rldz8t!!(^sqwpn@M`+B2yZ>t7K?c)=d$!0`VG! z?E^Aj86I3ziO{oErNxz)@zq`^dZ-x@=D`Qu>z0m3fAW3L?mQyj9zDOYyv6VH?z84H mrr}JJzLCfWs@<@Xc~Ud^5Q3NCutcp*g{Pn_D*)sFr~EGnSxln< 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 zcmd6Lby!u;*Y8G<5&`L!k~|QFTqIV}lZf?IHD9XSc`ZTwt3f?PZz_ilNVbX4Ue zJdDlEdC~6vBj-bzXS$#&XaI$&4!eA+)|he_rAs2Oe5y&ja#%qynT%ql3yF4#=yZl{ zSz|4IFd>!pbN0KbTG3k8l%}z_Jwg?wN3KL-teK{ShDu+jQfwon>u7@Sr)jCOcO+_s z%V1M#N3wS&YAMTLJ#xhtTc^>ER%VlK$Z#pGO-?qAC~=Kf-e5LUl~H65iC4xd&{mgG z6ilAdVyAV{(z21>1YaprM<0AYa3mIbD`%S&Ar%rAcn$!B;W-rHcY@!Q-2wOj0OKQD z^a@)vlW4rD64_rCaHR7F9~I zD7Ao!z8%ku0{g!HU4S06mONWKA^N|W2QXn14P~iW_jQR5vJkc6=v;SoWSm@AvgcS| z&u|$MWleYK64}Ub33s;OwF3DvT!?}!*#GHeb*xLbJ(Ht897=lT( z6d6MP)r2yYG>$AsrH|E4BA_`)_#nocKX1!v~oc!*MhfJ(La;JCQjiL54x+PIFK zo~ztKjofUa+O(_MtSeN%7N%bZpPhogN`^0;`~9ctM*CMqMF7}TjLugK&sU6I6^Um? z%V8)50Loi$Vhhg`iC$HVXI4tiSISz`&$X~AwDd+4-}%cTb<1*F*wR+m3s=~4S44A} zlyl7uatm!L*wT?ZO%?yA%Kg{DV*y|!j;1$`26S*Gu!Hv3x?n8a0UYtVV?n0}J^o)h zYMg)ug^k|*&kFzmJj~y;APO!5N{KouwK{6GIx3`44e0-=2&#<>sDXxk1V$auW)k&v zjh^ArqqRlCcEW@#UKWO0BLeDwxk)YvM85mErs&DL=y;?d!klUNf+oXcWA&15)6uu z0cZk1Fs~weK8Z=BXi>(qNcN2smv_ADG%nGi8y{V@I5sj|)s;Iaz+q8_iL-g23rLLXK!*jOli(2CJCfy~lkjmjH6zm|D_xPr{)`oExhXKwn_Ny}64 zWntL#IaL2F1f0D^ZghiDJcXY6X}gCkyP7Xehb-ya!$gut-TaJ`;L9(}^+o-cUnDP_ zCz*p#FW|Ejy82}AUj52kJM&xhbc0daFKi4n9pH5zQ;4-P`G^zGy*4R_t6Lz##{!y=tfB__C!ElDGS(-KM|2a;}bdzQrEW z>PXXXyVJ+J)1q1D=KIPM_uH|n8_dfB)_vyYx~d@J-v=%&+U?R3_ete2aNY?JK?7o# z!*b2^bJ_Hh*}@Aqn{ut1D)OxhORTf34bm*r3at@H_OuF!b(*z7mPJ}xQEH)8T7_*| zVOe+~dw-!#AJRGvx!Z(J3=896U zEF14ED?}C>0%3zdlp_!jLvS{2v!swU9HbPMry)4{3lVcjYebzL0s;Sw*!_cq?=*pu zz!8O9=?I%!WF!RD^ca-t7CCJrwGb4;E)BtHm{pW^i@Y9I2!cb>3lV+E8>t8oc{?o2 z_Aj!{9Kt&77MUx(kfXl>e$leihqOl^>_Ft5TOsZGTMqgV`+pVuD+ZDag*@m-mR=4vx}dfo90kS+=z?eFAZb(pZU}`M3aL%jnS(9}ZmGrsYO`PzO{q=R!1a^i z#&zb)AalLB;hEcXlH03kztw5;h4m)nUO%$@0#W*>ZvUd)ai`)ZE&xzC0suBo4ju^= zk_ZR|cZEpfNM7tHtszmY9L+w_4SKU7X>5k10a0v*#CVXFn8>$5pBS%&4fYJ~F(f8x z+1>>J5)p9Un)%3HC35R6XaPC^5VZONv}dl(9MV)N3$$tpqHa$yc_S>>8eAzukWyHJ zsMy&_`-if#4cg}~rKyQKEw==L*l9vmfQy2t;QWl--2pp@oxTdlMLVLYf)h09PJ1Qz zIJg9;I){01cW*hkXpbx3Y2vAp z;u=jbp_VmQeIMwf`4d|3R2MCS2#|??BR`+Sa8UHUmR3a7dYbKievPheh2VyPL8;($ zhRa}M4Vi5Pn1#Fa^MVbS_fh;S`MV2z7Z3pg=w>R#+LcCMy#6QY(nfmLh!6ZR37`k)+b{?z=-GbBV2AR8No?ow@=FcFA2E)?Ym_hRz}Hk($giUBvVjOkWwVkiK3*Y ze@IW49vl`L6P6Ga6_xJ)L*4O55KLl}KIH0#ZXs>RdpO;bI|(5;itb;B$;^8HQq@uU z=INr;#H&KLE&nH>=@=a`v#C8dE^5}AnLt|c!gJO5$5e5EuVsL-a9qG6fdT16qaPNO za3Nc_KXYgI_lD=m$4Cu4RKuvxB(KMQ8!kETDdGDZgbWhb3{<pq4Ec6csO*ISCdjKuZYbB*78ummxWcl8Kad)*qR!&T{y$tSN?-n<#cpBXk`CD=8i+ zra)Tf`D1&(&cP)|64e=c0J_BsK=hsOn~z7Nd@x@y1Xw|oQsgODC*|IKl_|K=tShD4 z`{p>$nBha^-aK2>t@4uc_bjTNk@v%6AnAcnhJKjA^r3s+?vFI&y2|ol7Rh0jQT>wo zr2VYY<4>YXWwWfW^ijQAD@zzd2GmtJ170qfYIvM(SqplTSX+(^y*w-m!&^KLBqYMA zwaO2^$oIz8IVCF4;%O_e7!CFF5XW!W%{*(`g*sCd96Zp%!qBL-*jv*Kcz$u<{K?tB zBW2Zja}d+z4vpF;sWP26cx6X=^B>-{K39%5e0+&(>Uh6?AppRnAB+!5FGAxOD;t2VA;W&4fRQ!P>G@T&xYp+numRKEN( z3TZh6ckYu7@8o-hH*(H7zW#E5{V=$23ftG77-S>g$2NJJ&_D>JZdOtP)z- zfu?|^DX}~{z^N2p%%lD%_Kn21iO_-M_!~NzQDr>Mq{$A-*tgJMzf+Pt8W3bF zrMd}oSMpO5N+k5l+%dkwOs#Q>8{$7UJHGGT-E2D@sLsVsrTB?<%3c4X7jkM~<{^85 zwqFd|) z;1o)}J3sGNJOD#^FwU)2iXswo`Mh{AucC8a8tXoGu3}szN0~#t^^M6SvCpM=i^hTC z?>Np43%GtRRj=0vBPE%G0_CoGPrmDBgAU9aJH1i0=+YDntaoA*k_qq_L$=+N8a|q3 zhUt>oxnbq-Mmxxd>j;QTYDK=EW@hIqWZ_Z9%*Vlm_Fx~?mH1o_H6f$o`@gpa81Mr; zoET)+o1aH3iQr!7eqIqA@(8(*AW(2$+@bj+CP`@>LRN3_O$4gMJE*Wyz3C;Nyf!qb zj_ZYb9B`UTa$FHg026sg!p6k6c_L)?h8LAG9WTT{g~=)&H9M@3wu2iKJs-fnwn0)% zT4(qyH247v&FjKxpZR+H+&oI+o0cM4doIdAw#Oku0x73`(utDZK^%Y zV@Q7$on4mEEPsbp=z{7k%VKYR5vPsRh#g5to8>86an8CLp0q-dVfBoCSs*m_ z?N?qkjO%*ZZoJ>=KCF%+6_1LcC4gheE0SEHD69O z@OiYWIh1rGG0-o#F(i2B6@LU*d!VG^shme~Eyy4J5F|%mHeD5@jMO$29$%n1e`aSS$KwJUww^85C}=0bYQ`+*c8$c=N#=DL-<;C*a``ZX zRlx`NNQE)&slr6u#9b$*w<(TEde}OsU46_#Rx&?YVKQ z8xdGlj8~^gKhPjNSVqnI?zioF>8FH`P)%24v)c8k&&oRbM*5Hm@%vPrKJsnlw_((y z8Ca?$-}(IMbqedRpLWo2SBUv0te#Qng_4LEQ#<&sn%EJv&e6C1kg%KTolo$-pwMqN;Ig_S?Nqxh)s5I!W{2=rsnm0 zzOa#T9L;)y?inKPzM%a#9M6%@eaMPtUy~L(%;j&DYu6tV7Vdr!;Cz^ce-}fWQ)MSy z`vHBb*Ff9r=yTR^e(OHJOPM*jXXm!RYOSL4I+`cFMyK~QofcAhC4GTUrAKhw+soL=7G9?by`@x zu=*+9fMGWbIKHN0vl2K~pVI!rzLTu3on9$*3$D zS<7pENH-0G!6Y)E&~h#zpVpu&X|wO$B!Auv{dovm9sc5XW)$vp7bR@Wq2bM7z4g#b zKvC&cRKG?)chHoWHqTVceAbH1UeaW)^4#O}Yg8w3a%4i7W5To39v03c;;*o;QE{Yw zq5Ez5!FO?Vm*UXE`$;b0M9prp7%EPZ#{}D!li^e4)+!GldW^q3s z60!bNa(c&Zx|*D3oth8FIIDiTti***&E5S=W)lx3A#pDy#8tUw#s`P4c!AlqGUhms zC*THoP9tVy$#u*q_kuK;=22t~)yqY}>--q&Rn;>HEhRc&y)|I(6~(- zsAyBmTWNDPVEw_P?F-Y#&;x!GwU?y=V9?3hFLsBicD+`)@N{D7K9QzUiU;JBh;&2t zVzrJl72;%6Odm2~KON=fm4axSu z^3vP`S~h8;HykPg3EbNRx9B|1E#xs7lyKU#m~l$!eT=nGE@ZuL#6#Y6cpGT5O+Ztr z$s!a!42eAIW+k7Z;jp6tbwRXhmEcPn4Qq^j!C6={OivBZzU+*ks{w`OVbs}N%b zem%5Iit$mf!oUJl9#AEd9%)$RwYa_8n5lWcp^~Xf7Pmn2Ms43KLYaC}+JyX|aa>nA zjgZ?W%otzb?aPoUDZVd~%bDLL(jyr(9)9+m2owaPVIL($g~N2+&Ew>}81{1Ohcg*yn6H&G zJmsAZG?J)|#bFr{B}|HrA(KG-!%8y30-GkF;P@7dI^MyjUZ? zxa0PoePnTl)svkBOwS8ftbbZS*j+uOdu*&9^kPu`YJpHR8smuI4h z%gCQm9t@$SoSz~$ z#uc*V3uh4tN5c~6`N8zV2N%`hQxTKN0^dL%D0 zOfF#sJ9pjJNO4au@v@yK$HaqU%Iu1%t7PcZkEUF5{zz}4f6YI!G~K@FLf`XZX5!~v zv6jsR5m!Yj>Ri2mgE6MHt>WqM0>xNP&iNX#3wZp}2D`9_!k3H7npw9wd`#O{$iS6f zgIQKww&|xGxT15qwwexGd@S)eI$hA7 zuwIzoD1`jneZO7J=W?f}(R7D{mk87Ppu1FVMPbJJ1KiTR-1a5B9-oG!HYizS<9K3= z0#h+9?dZqHA=O452Ha@I_@$Q#duU5I188M!^2A-0 zQq-v@8OZAB=`u^NP!o+4zlDe6@nJ^Zg^xFdxyZ=c;#rttL>J#>;B&t3bCQ@{W$&6E zi;_$h|Hj3dQ}w$ue_y0$fVY*2~-nNTAAUQW**Ew-~@L*b#nSutD z-1EC=RitL?dv;dG^GFV=?*}pGQdYpzo&^ja|08-L>R*q?o^Ywxk&9^{5N#CSq8U|$ zcY2Bzm-EVu(&s0RrWAFDj+Op|;0}Iwf3T2s)UdkvGzUMit`Y!My}pg*p7cM-muV z;Fa4xAxbl;pJZv=o#N>0)D2$f>9(sTt@Kqa#AXBcfwsk|-%Ds3~b^ z8De8%!`}x^HPAA4FJb2EVC%Hq3>@n=JNKEL+B^}<7j;K}J*ma4RC5D=a}srR;#Y5- z5F4p>@mq9T)&1hEa_g=j$GX+JBEJ(TEO#Wd( z1X@6LouULrITkBM-cse;*uhT1%M7~{mli6?+9G&5S-h?ofsk`>^r!o6*sFfQaf#mHd4rtvyBZ2EIg5@)nvFIC;*wRC0DG zP#Jg-oKHkM#esQoLdWv^VH|L&>!^I(*IUDbdzCIAGpWLDW&Cs0J+$%59XxGL=<<^T zDvAPTQpV=#q%FsO6QsL+)C;`PMmopi0|K-uBQ6^rEgoKp$!)qo!zb@6&`DG{=teFE z1r(QO^`3F=L+0!KHuQxqfONRrgOtd9JjI|F$^gE?_8TwogVsJS0 zXP?^*Ri`oidays|et6~VYc@s${gU`m6f^1Y-Z+WOwqO={!j}MQk9%~LsPJszXQ6g0 z;qz_;gz5z*Atm?+G#sc(%hls(hRf9YhMM!MsL8dImyk!VhR4Y6ZbjlN`)M<9l7k0~ zBXpl=jKzUPId`+-S0ii8cje_%Zfa{)7fnTyv$MGogt&j~#6rXlZVU2|py@*HzI zzZCqC_1lvPkzotQI-hXQzkv~E1IPynqku(^PwRKjD5dgyK8AgYP!W}LDN7^r4s3Mt z_oovYkRXECme~!SByGiZC*AXG8lc={UadZoy-;K(V@c#GXd(M7ps&Y(i5=rj3?oje zU@`#Iuo3BmSbk#FL#<2f)(w4+Z4{-)nh4B;EY!tnUT!)VYa6#*a}k>`#swPaYa_rj*w2I+Vi~v%eSqQWmt{aOMrP z%L>$RZ_cnMdFq(R_rm{hLeLr&A&6u5GVi4DMSLlPwu{UvG>!mr7r;7X*8Y3^YyY%9 zJP~U9y){%f+m<+&MI|m6+3qqkJ$i9gHPd+ z>`NayAKHQ~YeC(CiL}<&_hzmQes6K;Ij^K=hINn~Ic<3+s7gonqpZu+`JH?cgkHDT z8Mi&;7QyOXvbtwfOpDp)hk^Fp=Vd?l`lEIcLEx>qalX=vpE<8CBx=To1aG>t481-z z+f+pNvV0n_;AjBW0Q7XXt%6GXTT<{ zZ}G^eYx(ZTom?JA^Dsz9qYmGjns!^8%g?uLZYiQYQWL8hRDR*MbGk^Kv7R#6w zd!&jorG%fzt5ZvDSUs+R-~2*FL!btA!MbsU(dvj&KGydYh_<8rfrf3*Ag95-w}JI% zinP&4r)m<(w??d}-!5!%eNqoXbJNsxSu;o}{kD;KYMuP;;OXlEcB(Hr_T5I_4i6{w zA=ZK1=`V^@-*9QXq;bngEjFJ@X8Vb@;2T3$bQeUvHq6;3ka46PJbcyd!rHm$cv9cQ ztF3RYNpbg;sdbaL$oaK!CTII3WNQvbucydlo2l!w=-#6H*5hCqOS3P{ye0&&@y})R z5KFGA%)_6mBPBjlN;p1udXf)xXXHJ*7Cq(|l20zv;|-*C<-&ydrSqLU^4_&4P@=MwFEZ+eUM7Q_RGHf!{4 zRDW(u<5I+bsT|S|bb9i(9zzj0Q502P4!4%#yFsG%s8)s2)_8UagrQV^F-7b_!=6S89)7buFAXm)(0fFWx5od#H+8-qoiLY~Cjo!IbpAtmw ztlV|Z=}u#WdQZH3YKb?!6wGCo)&nODou^lUT#aWm}iP|2Cw)I`GqYu_1!s0^?vNGSF-(hT1Acw z<@v$8sb9g0?IjVVNawtr^I2J^-bgo;42m*Rk~~!sKnsKwKPM}mG)$g6_lS6}>F&5o zn(%t>(^oOY`Yn2xm1N16bXih(n!lRSJsVm1J}aEHMI6!e>rmNR{x~Yi zU(U&R1!Ni}5CGEPgQ0@Fs7ysz)%JQV*Y_wTLN0(I1>z2~e%$B^HT5;KI$BNKu zzGpj^e|RzH_~v|rW<^=le#m|%oaLA}pk0YXVK4eAd0I8S6my*lzM2`_E55^tb$_mxB1OFJv)S z$5Pn7!WV>?QT}@M2M(CV)K2xMc_DQl-u4>2Osj3Lq!qc_E#0S4&|4V)F3RLx6xAB( z6SSOR2HKHc9RHqz533%%7y$R{J!28hx690$#SXh?v1{MfmcCWK;_if2#x^%1Fe-!#sB~S 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 zcmd6LcUV)=vhNOEiXzf$C`zxQ6e&`r_fW*piXXxef^z0kS8pNX4zi}y6Nw4J;eBA=6_x%Ga=xpj-kH#-0MI8e#wyj#SsO? z)*gPhC5-*uq23-&mZ#`YU8szdw2YLD)McoUF~Y~g&)*g4>Vpy{1J%!hw}qLShQ1NZ zP+iMRS^5g?2}jq$Kug)#KfuTN_9bwv;p-Rd@8NzMrF_}n1*+-l?(gafHSza#32;Vv z`1&Blz$ZvapK2N#8fqC?m@7Nqc6IiG`Uaq&K|w(hj?Nw~e%_8gt|$p-Uj#3N{O^K! z)HN(Yn;-zIvxTsBy4i@{BQ|8Rw062vlHQ}jC}wq?EF`0OiNa*2S6M?1G>V?x+(ei> z-7LY(gUvbdgre8iy@+B^6wGp_x7B?&k>>SSt(G&24r68@+?i|^r%uIY9xwbp*-THJ z@*?W2;tHpEf}W6CeI~NBCNTzze19;F7v4h zxaIT!(B{Xe`;76!YXSWcG5t|ZQ&{-;RTykP06uxrpt3Hfn|fWRIK7Y^+D_}jN=0Ww z4nRSdYYVm0lm62^fRm6y?4|0JFl0ico5F38_bVtrzVQ`ZACZ-nOyr<~Ux#^?M0#Yh$#i2;`6W+h{{<;UWSB>@R!#l-Lo$UPk ztXi=iJq47r`5gkcY5l27Zsg}bGh2fuTXg9PXZ^LD3IKSc7|nEeqyN#x@;+pB>Jcu^ zd_XNyQjixX(<}C-U#9P*BUZi{R9u(pq}QM=uV&CUtQogR_A_cLe6s& z^?#ZP1s~XE%K83|zzu(a4@qLW&t>)BC=HA%8GhF^Wi%YM(6T~l%~oqoCmT+p45v{r zn;N)HEn<2CVV{baKM4P~7Ql6Cq7DG8>Le8C#1-fyEXgMcKyrCY0f6l!Mup93v{u|HhFHIMeZTEmn5eu*Z-a(03d|&?6(&kCW8Dq>^B z|I{Q-13VD`hM#eMc*Y3^xGqRQPQ44}0tw(p+nopoJs9!-u+jKC=ur4a@_*j|0FV;s zFcZ6hl+{hP(66yDtg+B%f*Hg9r|XL0sH`FA*o$D+0c}oC-Yr9UFJ4@pqi?5wj+MT| zTVuyd_AF^mnt~}3E0ag-Kc~J#AIS|m?L43fo;6+2ZhB;o!i|#W3<`vosAP5mXJLYw zyYTxorvagqDYLRC$ON++<@w1@V&Z|xW=~4Gz-S@i1aGk@aQS3_DF8%C>j)PxI>jp# zXKKU?6Vi|mrB^tS2?~T9l$i)26J?~=$qEjOGm&PBf+xT!3Baz|6VdLNs zJUddgVB?6u3N1pW+G+a-BZ7GKzwa!d$0O@aaHTt2(&Ne)woW^n8k|y_KsC zYasj}+IBK!83muUa1K?~vvxNS}E!ys_g2Ud?afEYv_^geaeNe(8t77Z7r4rn$j0#cOVlkT54Pw`u z!Q4+K~1b8a&D9^CdM68 zRN;-!^Ee%PV~WI@s!H({>uZe#Hbo`DSPxGu2z9DlQ5uZ(48h*UVTEuwPaLishZC~} zrI^){BEdM2Q&f(@iS!lWW~w}Jwca=!q6xSDs|rDE1XqH<6^UoyJWr6T#PE%h;HplL zF@*FYa2ehhoTx3f7;}QW@~8*|7t1KZ^`;WiaUk;ABdpgcvgZuW19O5bo>3&ySAjTe zA@)}J;Bej`GVx@Q-hC}wy|~R&15cMxC62G!>Z>X{JT>rS890f)Dg?(H@59F1n18HF z1Yae7*a)s_tGB|p6jw$(8E*cn@FO-#y{+;-#FhPO6va3C5@qoF;hJCwnqNWS!8`#& zaNiYVeUwGm!eF*n4aaL;!4L$GR7Y9EX)uc>49BYxHmL~5TGvHTxz5#gKVUK?zmzv0u^s^639zVmLWislgy|<>Lv|ua}T?64izSRo3!l-OPgP6xLDU+en`Jl$Ki4%?rV6B{Lt z+NEi4K!AlaXMyYFSIZLo%w(CZZ};c{P*MObMZp_MuTH@mm1w5NTbRrM9@h)tYt=!W zO-R;73!oPS9ikyzaPrPQeewS9oz8zJ_%COa{GXuy%NhSy@c$nur~LP>`hT&H8c2-u z0}@028JRj@kj0zo33p{i(o3(fIuGj#2|M*Gba8^AxXc+vZ{{Ih*9*pI!I&8$9cgy+ zF{pHzP*A{VJD?C_X7>2?3dU=*pxV-_;tJvB&C)BAnaF{LYG$trunI@^NrN3&_p$z? z_#+1vWaR-g_f(}~yY5G8hku4N30vWb$|}8CyaEAyC|~r+kc!vhWQd|yf60nG$&;wW zQz=+DA*U@yP z{F#hT$eB-)6D&c{oT)ixgHdV;YES9ZdQC6WsT(MKOm{N!yv$^ts6d~EVqo)Bo3@jo z0Z(rz0Bs|qXN3y=P^XHO28-C(e)==fu*$X^T6WGANE@kUlqQgvmZQ^DkCq_4HT)h< zsZOO%|G=8_I^>MJ{Nh8wxo=S%nK|YbYbS*s0MG&pU|Qt>e0-SF%KEmR;i-kyZ(xZC zUd+G`0FYNf$HuORh)GDv$X=CKRQk`aLo^zFs&yUg(dfV5e`wEB7I5BNC<>83oU}NWia`SMq^YBD+Lb*6Nx%qgaS=qRFLhf>LaBx7O zQ2}0e!vc^&ckgj=a&kjCc({3acp0aOYeO1mxB=^-nwj=gl(#He$wBEoMH?)G-s;Gt#JYB_EGQG9C|d zvpy?tM=QT6`iyd87GON{rS;G8$8X1fJXYnGGQ=$}Lcgi{m_##9Mrfy01}Q1J=v;W{ zc1u?1))tX3o`!ac!tb)n!*43xhe6Mcy5&l1{1d*;70E(w5%9@J=*6oJZAQ9ARG&L$ zY}0o}Kl^@BEdyj|C!bG$b4IsHRem{sbN+(X%Za@fqv3OJ3}_rm-X}=`InCj9cX}cs z5r+rq;k1*CD?#s<6(*8Be)$*&zGJf3=u9xU-K^_6Dt@>mVFRQ;uN<9BZHUOPY zLb0}twJ3Q*8~Nt>li-#W*<^^zSIV6uP{y^;r`h*1rR%u0g~qK0dwIyN89)&zd*99v zl5w_^0H3{l#tNRK9RFT&)iFk=8+$LtNH?mQ7(57@7+JZZDhJ3%T!1}n|5g4zETSsc zST-k~@q*p&`MDIkV9J z%B%6E>8I??3_iZK-QAcQBgdSo5oeGj@dV~qk^&nSepEX4_6aC-Zf?|@QmD=Kv<4du zCyjF_zB-W`gqM0 z#uKnzgeIBLO;#w;yDCe8O zq56*)6@X%Rx!Y5zpyv7oS*{5yrec%UmX&$pV*r(do_jBf9ReO^PcV7=9YXnXKWuT zo~@Jl(Ov)eHZIkAt)RZk*M&{#>s_X^l8DCxnUcTWvIoAxUZ~}jUgPX^5G@SEEv0Fc zq_JOh&!(aDWU*Tae4wjZ_(F|~YUm~<0e{AA^k|JdFno)nlt$X&!8N~c`JV?@TLj|- z6bZppu@t+(4DD+J`E!R{*jA6voIw_EZSw~kt46mF)cnl1bLBdAyLZO4d@9$zH`<={ zwZ9|e;D6*RM&W1aOde?ww9X}WfPc8e_T$cwDy5{R*sy{%d6*(cW7NEKee!*qk1a1D zooSMu*aWOb$r+d#&D*D%WfS|;_E(|*WTYZ@)+$r>CxOY46O+jx8x z61733-qUzg3$cChz#LQRGPr&zOQcx!&sUmf!Ktv0U%whj7~sb4vy|}XGNhyt+nl4X z%%xlTf|}g5e1M!xc3KT!Sgt7*_AKz;;xFiBw^d;?xWZ+Bl_I3wh6r(+smole#0GC@<>n{M83g8@c>c^+AZ-c4)UO} zM_JWxj!p1D*d7r&NKVTEIZ81vsnA}(YY(yQ{gdm?Z4Y>FA$7jfNxeJ^6~!-MV1&fKbQvWeJJ5@jX?cqy`(J06~4u z0BE6u`qTwX4Uu28OBI5CV0`$l03|5ky-Soj;EhB;I1X0=I`1ux?_(FN5kPhUWmwlB+mN8G4J>wmF)oUty$X7vigprTjKVDig9T*r!?cSgt)u0eWU$&zAQC%6cSD!RPI$HE;w(o`#-K{N3 z_999OzyJvSr7rR`|15UiPN8rR$$r+|g+R%^LP-m3pl!6sGbHqC-ze5Fh}7($J7l>2o8%ZSU1-@jGdmS+1?(tgZ@Km{ilN3k z?q4ff8u^a8;}H__`OV95eM^xT2rv{!XHRx09d*=|<2b8! z{R0AOfw;&kz_^}tv#VL@HYMP_M_d>L?H>Tt5x->2;*ngvmmk{&Q%3C(l?F-Cz%WBw zP#^1ZdnYV~5G8>x1)?@$R=-D%Gql0`gnCTh(jOCQxdbmi!x$WQOhUqTiE*KjQ3KK` z4v9D|J;r(C^u8*8AGk&b580<&)|oKLgM3ayyhZ?bee}p5g+T@5;%p=1>?i#GuA~h5 z?eQc)ORWq+5`KVmyJeKo?+U$|kQUI=rWAo0>eg&X8$DD)D(@Z%o6jUM9Vh^T;iRnw9nRQ1APi;|U1toL?W&K_$E2@Q7l+@yCj`fMQ5V;0zi8BPz$y9T&!Svo)TJf; zDIwl_k~gO*(U3L+hP!4K%Yk|VukCj}F$Q6?2PXm4-YcOZ(D#=Cck%Gd#EmxdoWNV* zCZ1KYU@Azi%5X~o)rJcLiBpz~P9-gc5-SbHzZ*zy?TtczlaT^N0^gk59`EAb7E64< zaz&;+#LKws#&q~!;NwrI-Kr+DAEJHD=EQ*j27T|vwM76;N7qgF>5m;LakzIT;*ak* zHRRth)~5UuU9xnfKA_pCc*TdgqkZlA1Qa@%xKrQj^<}OUF|zH|y9te<0PMh`;Mk1) zJXWRQo`C-@6Ac&N1UCg>BBqqaO9_lgzx^6++wAcorDN?;7#*O=<<}gh#i6}_xO`{N zMYK!ktJLeuBI7^Gg+H)tBk>tQ56{KRClB22ooJo!ml$K=ggtf=5DBrh+;DX$zJ&WB zFWMBT^we=KY@X+!k!j^oVZ?LOFLuY>RSl(nSMd!)1=$H(S)+Ks0(N+{!jtHaxZ10BGp36Bc%vJJC^_`*-!oGI6% z*>*cDFVdMj#R6Edc^Kvx#>@N z!PX4F-5kY-QPD(InAkUj^GM3;#V41C!fJG6*`G|hx5_=~)0k^C)IfDVvKP-VsVj=r zD!mc&#@sLFNQUXcSluA%Kw3rWPM5Xl5*;uXX3u@ds`cyqwrWFsXE@1NwW3?nO#xaU zvDsr-VQpfkyzz(qctZnD$|}$|7d!gtynRHj-4xCugmLp&N;E})sYygaVpaB)$k_mu zB#EayHEbp?ri3DJRMhu*seR{7?Tj8Ab;4rgT+>BAq<0qElUZn9y2J|AvOj>R~?$y9mp zE{;pdzkL(!ws)n}Tdn(=NTorLqldkjMYhgIzN55cKqdAaeVW){J>~rYNO#;TF@tZa z^PfAc%~!Ku+ylPn1n7uo1knO5cr4FoBLmT}$=LYy4%52NLq&c9b2H#z^G?eRxLy}r z&badDq1=?vPcSKV~BzYqVVR{Ph%%9}fFb8mE$?tguuzDu@=nRAe95CX1> zR%`{kDn^b8M6DuBUZgC4*L>Ze|E#bBK+AQUA6o8O3dZbi{;3F3R_;>mZk?OZV60B$ z@fjyGU9fY@O8?;-_@k+FKsEg#;e*Zur2NCv*Ir%eOk6V-CCh0kY9o z@l_crXLhs!Ajh^PuTlO%wXnCi`h;cx9pflR!KMb1f(Y%aG&N`b!Qfcd!^6%rK`gz4$Ue@Xc*Lt*gs#dHbzSxNx#48Je^ zZiD5A!||RonU(DZ$;eRO1z7^orxko|5v2V6JH8u9>AH0{f2THw{vp!rIRXN+lvD&> z9{JpEZ4%(Z^%~s743GB#oukdGX5q!(mYJkSV^-wuPtPT?oWBD2t?g4tgi7eXdX`b2 zm(c$$*q!2N%$8{j{IVxs*mf~d=Kw@WYeg*w$4x1k>WjP0&{{KMMlliazA4ow` zw&wLEChk~Y-#e&4|G*$lUI8>SGaDz;81jA0w)yv0-!nac!};;qpFVYc_)nqNws$%Ze{<6z&%N8d5+z9Bpn`wiOWo2%w5=-s?tP7nBXAjP6-)!~y z74mbx*-}*ULRj}_hM9c*Uz-6Ra%J#~G>#Kf3uj;XR$Yl#+{29;GCr@6&3|T88{n2{ zclRQHg>{FaFDYZq&W=!TOfzabcPu91(iEOCHlaL829m~Tl4jRyxHW#(<=SlQu9w$` z^woKz5k<{e84pW{lyC64dn&apa{IIPTpx%(h=iimT+bdu0gH_7JU3*BL%rpC(0$jP zvtL?|gJw7V@BIdvXC7zmI+15+sIrpz>5YrEHJ0ChAKozJA>($S0J$_3MS0vaPOO4+ zu-y9jIEy1~!RPAgI9EnGtELVa^ppM9-w*Yvw<@~c{@A%UUv8{1K4@++Tc!vT{Y>rk zym~5HYuPiPxUMu`YGPx>A%a%T+`(vrJ}+fDSxfr+lz7k=GzkF z!j61WCd(0MuQ@PbiJi7LV3B2bvFf|b6SmN4DfxLPy8z-)aZ6{s$-&x2gquHMu`Xku zrQfIS4CR*k{a@X)X{Mqc?i$}WApo5t3ASg?>MMn;O3cKpbn3Mnuh+YQ_`->^mjRWv z-{Hp{&cEFE-oz~FqrA5gm;&>|$=|klPop9wKH~MelX%`W4GQWt`tR`v_uVP7c^0ra z9D^*w#xW%y>RoLU>?(+}k-32T(7C;M!DRE%V0gst{hwPG02*)LUXQro4xQ7Xdy>cb zaBg8m&ZwI_3}|*EZ=lShyZ31}UUhEScbqS*VUjpPsxs`JI>Xz=u=QBOaTHZM zrLaQf|DS#eCA~Hs2iR=}3i>L-Z>6Q57Z0X# zVs;7kmUJD{Ghb`A*^oS8%*5U)&VB`3I|Vwriip&eillbp+k5!ZhS>{3mCQYnWu`90YP8KhYEg6F2+>Nyq>L zwA}keRgM~*u9v7GedYv>qg+hxPm6=tAJ_I%Ll)@LW=bfNC#+nDqCTEqO=n?ge~#}@ zuXsJ%_wM{fAbt!ldh~(DnaX5&Zkc#>Mb=XJyVUwE0UxJM5=;-A2k(1J5%X18xgJ2< z)r$?W;sAi!M0GT*7GCo{HuQb(ufXdV;YiBbj!WfztI38#`Nq!{au_zf=P9(_o>7(i zesmrtX-^qRXA?hI;;_hSaQBO{dyIeK<4j$9pLG=ORz%NMBH6G9vlN6qr$YnG#NS&l z?Q5y4BL$0w)tLaQwv3ORMwj;c)CdB}uih2{;RjvYy{^sjtwrCy1g#DO{lTG~330th c$3BvJWNGYWjhqE$`K)phTqT;KjpXcq02~!wwg3PC 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/392] 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/392] 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/392] 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/392] ? --- 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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/392] 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 f2b04be5611c8d0d961a0719299a9067c2f6936d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 25 Jan 2020 02:16:45 +0100 Subject: [PATCH 023/392] More Runtimenator fixes. --- .../objects/items/robot/robot_upgrades.dm | 39 +++++++------------ code/game/objects/items/toys.dm | 1 + code/modules/games/cards.dm | 0 code/modules/hydroponics/plant_genes.dm | 2 +- code/modules/mob/living/living.dm | 2 +- 5 files changed, 18 insertions(+), 26 deletions(-) delete mode 100644 code/modules/games/cards.dm diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 62f36c60c0..09c2d442e8 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -203,7 +203,7 @@ var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA = new (R.module) R.module.basic_modules += KA R.module.add_module(KA, FALSE, TRUE) - + /obj/item/borg/upgrade/advcutter name = "mining cyborg advanced plasma cutter" @@ -335,7 +335,6 @@ var/msg_cooldown = 0 var/on = FALSE var/powercost = 10 - var/mob/living/silicon/robot/cyborg var/datum/action/toggle_action /obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/R, user = usr) @@ -346,7 +345,6 @@ to_chat(user, "This unit is already equipped with a self-repair module.") return FALSE - cyborg = R icon_state = "selfrepair_off" toggle_action = new /datum/action/item_action/toggle(src) toggle_action.Grant(R) @@ -354,34 +352,20 @@ /obj/item/borg/upgrade/selfrepair/deactivate(mob/living/silicon/robot/R, user = usr) . = ..() if (.) - toggle_action.Remove(cyborg) + toggle_action.Remove(R) QDEL_NULL(toggle_action) - cyborg = null - deactivate_sr() - -/obj/item/borg/upgrade/selfrepair/dropped() - . = ..() - addtimer(CALLBACK(src, .proc/check_dropped), 1) - -/obj/item/borg/upgrade/selfrepair/proc/check_dropped() - if(loc != cyborg) - toggle_action.Remove(cyborg) - QDEL_NULL(toggle_action) - cyborg = null deactivate_sr() /obj/item/borg/upgrade/selfrepair/ui_action_click() - on = !on if(on) - to_chat(cyborg, "You activate the self-repair module.") - START_PROCESSING(SSobj, src) + to_chat(toggle_action.owner, "You deactivate the self-repair module.") + deactivate_sr() else - to_chat(cyborg, "You deactivate the self-repair module.") - STOP_PROCESSING(SSobj, src) - update_icon() + to_chat(toggle_action.owner, "You activate the self-repair module.") + activate_sr() /obj/item/borg/upgrade/selfrepair/update_icon() - if(cyborg) + if(toggle_action) icon_state = "selfrepair_[on ? "on" : "off"]" for(var/X in actions) var/datum/action/A = X @@ -389,6 +373,11 @@ else icon_state = "cyborg_upgrade5" +/obj/item/borg/upgrade/selfrepair/proc/activate_sr() + START_PROCESSING(SSobj, src) + on = TRUE + update_icon() + /obj/item/borg/upgrade/selfrepair/proc/deactivate_sr() STOP_PROCESSING(SSobj, src) on = FALSE @@ -399,7 +388,9 @@ repair_tick = 1 return - if(cyborg && (cyborg.stat != DEAD) && on) + var/mob/living/silicon/robot/cyborg = toggle_action.owner + + if(istype(cyborg) && (cyborg.stat != DEAD) && on) if(!cyborg.cell) to_chat(cyborg, "Self-repair module deactivated. Please, insert the power cell.") deactivate_sr() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 92798528ae..60ab7ffbdf 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1012,6 +1012,7 @@ /obj/item/toy/cards/singlecard/examine(mob/user) + . = ..() if(ishuman(user)) var/mob/living/carbon/human/cardUser = user if(cardUser.is_holding(src)) diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 99fd873995..358d017caf 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -107,7 +107,7 @@ // Reagent genes store reagent ID and reagent ratio. Amount of reagent in the plant = 1 + (potency * rate) /datum/plant_gene/reagent name = "Nutriment" - var/reagent_id = "nutriment" + var/reagent_id = /datum/reagent/nutriment var/rate = 0.04 /datum/plant_gene/reagent/get_name() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a2689f0b5f..0d87edbb0e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1073,7 +1073,7 @@ stop_pulling() //CIT CHANGE - Ditto... else if(has_legs || ignore_legs) lying = 0 - if (pulledby) + if (pulledby && isliving(pulledby)) var/mob/living/L = pulledby L.update_pull_movespeed() if(buckled) From 5cf7c259fa0c7d43e4b8c2f0bcf167a771ab98a2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 25 Jan 2020 02:39:58 +0100 Subject: [PATCH 024/392] Runtimenator 2: Compile-net --- code/modules/hydroponics/plant_genes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 358d017caf..087cc6dca5 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -107,7 +107,7 @@ // Reagent genes store reagent ID and reagent ratio. Amount of reagent in the plant = 1 + (potency * rate) /datum/plant_gene/reagent name = "Nutriment" - var/reagent_id = /datum/reagent/nutriment + var/reagent_id = /datum/reagent/consumable/nutriment var/rate = 0.04 /datum/plant_gene/reagent/get_name() 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 025/392] 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 026/392] 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 027/392] 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 028/392] 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 029/392] 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 030/392] 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 031/392] 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 032/392] 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 033/392] 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 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 Date: Sat, 25 Jan 2020 19:46:32 -0700 Subject: [PATCH 034/392] 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 035/392] 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 036/392] 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 037/392] 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 038/392] 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 039/392] 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 040/392] 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 041/392] 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 042/392] 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 043/392] 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 044/392] 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 045/392] 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 046/392] -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 047/392] 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 048/392] 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 049/392] 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 050/392] 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 051/392] 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 052/392] 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 053/392] 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 054/392] 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 055/392] 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 056/392] 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 40b6ef79fe210a383d0ff41b2af711b92677d995 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 30 Jan 2020 19:15:07 +0100 Subject: [PATCH 057/392] reagent projectiles fix. --- code/modules/projectiles/projectile.dm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 55a75e1688..1564fe6ee0 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -211,11 +211,8 @@ L.on_hit(src) var/reagent_note - if(reagents && reagents.reagent_list) - reagent_note = " REAGENTS:" - for(var/datum/reagent/R in reagents.reagent_list) - reagent_note += R.type + " (" - reagent_note += num2text(R.volume) + ") " + if(reagents) + reagent_note = reagents.log_list() if(ismob(firer)) log_combat(firer, L, "shot", src, reagent_note) From d2520ee5f4d2ea714040030b0fa6ed7479bfd0ef Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 30 Jan 2020 19:45:01 +0100 Subject: [PATCH 058/392] Topic_input helper removal. --- code/datums/helper_datums/topic_input.dm | 62 ---------------- .../mecha/equipment/tools/medical_tools.dm | 32 ++++----- code/game/mecha/mech_fabricator.dm | 17 +++-- code/game/mecha/mecha_control_console.dm | 17 +++-- code/game/mecha/mecha_topic.dm | 70 +++++++++---------- tgstation.dme | 1 - 6 files changed, 68 insertions(+), 131 deletions(-) delete mode 100644 code/datums/helper_datums/topic_input.dm diff --git a/code/datums/helper_datums/topic_input.dm b/code/datums/helper_datums/topic_input.dm deleted file mode 100644 index d07aec067e..0000000000 --- a/code/datums/helper_datums/topic_input.dm +++ /dev/null @@ -1,62 +0,0 @@ -/datum/topic_input - var/href - var/list/href_list - -/datum/topic_input/New(thref,list/thref_list) - href = thref - href_list = thref_list.Copy() - return - -/datum/topic_input/proc/get(i) - return listgetindex(href_list,i) - -/datum/topic_input/proc/getAndLocate(i) - var/t = get(i) - if(t) - t = locate(t) - if (istext(t)) - t = null - return t || null - -/datum/topic_input/proc/getNum(i) - var/t = get(i) - if(t) - t = text2num(t) - return isnum(t) ? t : null - -/datum/topic_input/proc/getObj(i) - var/t = getAndLocate(i) - return isobj(t) ? t : null - -/datum/topic_input/proc/getMob(i) - var/t = getAndLocate(i) - return ismob(t) ? t : null - -/datum/topic_input/proc/getTurf(i) - var/t = getAndLocate(i) - return isturf(t) ? t : null - -/datum/topic_input/proc/getAtom(i) - return getType(i, /atom) - -/datum/topic_input/proc/getArea(i) - var/t = getAndLocate(i) - return isarea(t) ? t : null - -/datum/topic_input/proc/getStr(i)//params should always be text, but... - var/t = get(i) - return istext(t) ? t : null - -/datum/topic_input/proc/getType(i,type) - var/t = getAndLocate(i) - return istype(t,type) ? t : null - -/datum/topic_input/proc/getPath(i) - var/t = get(i) - if(t) - t = text2path(t) - return ispath(t) ? t : null - -/datum/topic_input/proc/getList(i) - var/t = getAndLocate(i) - return islist(t) ? t : null diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index c850e046a6..460537ecf6 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -108,16 +108,17 @@ /obj/item/mecha_parts/mecha_equipment/medical/sleeper/Topic(href,href_list) ..() - var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) - if(afilter.get("eject")) + if(href_list["eject"]) go_out() - if(afilter.get("view_stats")) + if(href_list["view_stats"]) chassis.occupant << browse(get_patient_stats(),"window=msleeper") onclose(chassis.occupant, "msleeper") return - if(afilter.get("inject")) - inject_reagent(afilter.getType("inject", /datum/reagent),afilter.getObj("source")) - return + if(href_list["inject"]) + var/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/SG = locate() in chassis + var/datum/reagent/R = locate(href_list["inject"]) in SG.reagents.reagent_list + if (istype(R)) + inject_reagent(R, SG) /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_stats() if(!patient) @@ -354,19 +355,18 @@ /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Topic(href,href_list) ..() - var/datum/topic_input/afilter = new (href,href_list) - if(afilter.get("toggle_mode")) + if (href_list["toggle_mode"]) mode = !mode update_equip_info() return - if(afilter.get("select_reagents")) + if (href_list["select_reagents"]) processed_reagents.len = 0 var/m = 0 var/message for(var/i=1 to known_reagents.len) if(m>=synth_speed) break - var/reagent = afilter.get("reagent_[i]") + var/reagent = text2path(href_list["reagent_[i]"]) if(reagent && (reagent in known_reagents)) message = "[m ? ", " : null][known_reagents[reagent]]" processed_reagents += reagent @@ -375,20 +375,18 @@ message += " added to production" START_PROCESSING(SSobj, src) occupant_message(message) - occupant_message("Reagent processing started.") + occupant_message("Reagent processing started.") log_message("Reagent processing started.") return - if(afilter.get("show_reagents")) + if (href_list["show_reagents"]) chassis.occupant << browse(get_reagents_page(),"window=msyringegun") - if(afilter.get("purge_reagent")) - var/reagent = afilter.get("purge_reagent") + if (href_list["purge_reagent"]) + var/reagent = href_list["purge_reagent"] if(reagent) reagents.del_reagent(reagent) return - if(afilter.get("purge_all")) + if (href_list["purge_all"]) reagents.clear_reagents() - return - return /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/get_reagents_page() var/output = {" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 98e4eb4258..caaa11ac9c 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -317,9 +317,8 @@ /obj/machinery/mecha_part_fabricator/Topic(href, href_list) if(..()) return - var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(href_list["part_set"]) - var/tpart_set = afilter.getStr("part_set") + var/tpart_set = href_list["part_set"] if(tpart_set) if(tpart_set=="clear") part_set = null @@ -327,7 +326,7 @@ part_set = tpart_set screen = "parts" if(href_list["part"]) - var/T = afilter.getStr("part") + var/T = href_list["part_set"] for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) if(D.build_type & MECHFAB) @@ -338,7 +337,7 @@ add_to_queue(D) break if(href_list["add_to_queue"]) - var/T = afilter.getStr("add_to_queue") + var/T = href_list["part_set"] for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) if(D.build_type & MECHFAB) @@ -347,10 +346,10 @@ break return update_queue_on_page() if(href_list["remove_from_queue"]) - remove_from_queue(afilter.getNum("remove_from_queue")) + remove_from_queue(text2num(href_list["remove_from_queue"])) return update_queue_on_page() if(href_list["partset_to_queue"]) - add_part_set_to_queue(afilter.get("partset_to_queue")) + add_part_set_to_queue(text2num(href_list["remove_from_queue"])) return update_queue_on_page() if(href_list["process_queue"]) spawn(0) @@ -364,8 +363,8 @@ if(href_list["screen"]) screen = href_list["screen"] if(href_list["queue_move"] && href_list["index"]) - var/index = afilter.getNum("index") - var/new_index = index + afilter.getNum("queue_move") + var/index = text2num(href_list["index"]) + var/new_index = index + text2num(href_list["queue_move"]) if(isnum(index) && isnum(new_index) && ISINTEGER(index) && ISINTEGER(new_index)) if(ISINRANGE(new_index,1,queue.len)) queue.Swap(index,new_index) @@ -376,7 +375,7 @@ if(href_list["sync"]) sync() if(href_list["part_desc"]) - var/T = afilter.getStr("part_desc") + var/T = href_list["part_desc"] for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) if(D.build_type & MECHFAB) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 0188419f0f..61e6c8e5e4 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -39,21 +39,24 @@ /obj/machinery/computer/mecha/Topic(href, href_list) if(..()) return - var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(href_list["send_message"]) - var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("send_message") + var/obj/item/mecha_parts/mecha_tracking/MT = locate(href_list["send_message"]) + if (!istype(MT)) + return var/message = stripped_input(usr,"Input message","Transmit message") var/obj/mecha/M = MT.in_mecha() if(trim(message) && M) M.occupant_message(message) return if(href_list["shock"]) - var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("shock") - MT.shock() + var/obj/item/mecha_parts/mecha_tracking/MT = locate(href_list["shock"]) + if (istype(MT)) + MT.shock() if(href_list["get_log"]) - var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("get_log") - stored_data = MT.get_mecha_log() - screen = 1 + var/obj/item/mecha_parts/mecha_tracking/MT = locate(href_list["get_log"]) + if(istype(MT)) + stored_data = MT.get_mecha_log() + screen = 1 if(href_list["return"]) screen = 0 updateUsrDialog() diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index f9e04990fc..0359541964 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -224,70 +224,70 @@ var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) if(in_range(src, usr)) + var/obj/item/card/id/id_card + if (href_list["id_card"]) + id_card = locate(href_list["id_card"]) + if (!istype(id_card)) + return if(href_list["req_access"] && add_req_access) - output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) + output_access_dialog(id_card, usr) if(href_list["maint_access"] && maint_access) - var/mob/user = afilter.getMob("user") - if(user) - if(state==0) - state = 1 - to_chat(user, "The securing bolts are now exposed.") - else if(state==1) - state = 0 - to_chat(user, "The securing bolts are now hidden.") - output_maintenance_dialog(afilter.getObj("id_card"),user) + if(state==0) + state = 1 + to_chat(usr, "The securing bolts are now exposed.") + else if(state==1) + state = 0 + to_chat(usr, "The securing bolts are now hidden.") + output_maintenance_dialog(id_card, usr) if(href_list["set_internal_tank_valve"] && state >=1) - var/mob/user = afilter.getMob("user") - if(user) - var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num - if(new_pressure) - internal_tank_valve = new_pressure - to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.") + var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num + if(new_pressure) + internal_tank_valve = new_pressure + to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.") - if(href_list["add_req_access"] && add_req_access && afilter.getObj("id_card")) - operation_req_access += afilter.getNum("add_req_access") - output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) + if(href_list["add_req_access"] && add_req_access) + operation_req_access += text2num(href_list["add_req_access"]) + output_access_dialog(id_card, usr) if(href_list["del_req_access"] && add_req_access && afilter.getObj("id_card")) - operation_req_access -= afilter.getNum("del_req_access") - output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user")) + operation_req_access -= text2num(href_list["add_req_access"]) + output_access_dialog(id_card, usr) if(href_list["finish_req_access"]) add_req_access = 0 - var/mob/user = afilter.getMob("user") - user << browse(null,"window=exosuit_add_access") + usr << browse(null,"window=exosuit_add_access") if(usr != occupant) return if(href_list["update_content"]) - send_byjax(src.occupant,"exosuit.browser","content",src.get_stats_part()) + send_byjax(usr,"exosuit.browser","content",src.get_stats_part()) if(href_list["select_equip"]) - var/obj/item/mecha_parts/mecha_equipment/equip = afilter.getObj("select_equip") + var/obj/item/mecha_parts/mecha_equipment/equip = locate(href_list["select_equip"]) in src if(equip && equip.selectable) - src.selected = equip - src.occupant_message("You switch to [equip]") - src.visible_message("[src] raises [equip]") - send_byjax(src.occupant,"exosuit.browser","eq_list",src.get_equipment_list()) + selected = equip + occupant_message("You switch to [equip]") + visible_message("[src] raises [equip]") + send_byjax(usr, "exosuit.browser","eq_list", get_equipment_list()) if(href_list["rmictoggle"]) radio.broadcasting = !radio.broadcasting - send_byjax(src.occupant,"exosuit.browser","rmicstate",(radio.broadcasting?"Engaged":"Disengaged")) + send_byjax(usr,"exosuit.browser","rmicstate",(radio.broadcasting?"Engaged":"Disengaged")) if(href_list["rspktoggle"]) radio.listening = !radio.listening - send_byjax(src.occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged")) + send_byjax(usr,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged")) if(href_list["rfreq"]) - var/new_frequency = (radio.frequency + afilter.getNum("rfreq")) + var/new_frequency = (radio.frequency + text2num(href_list["rfreq"])) if (!radio.freerange || (radio.frequency < MIN_FREE_FREQ || radio.frequency > MAX_FREE_FREQ)) new_frequency = sanitize_frequency(new_frequency) radio.set_frequency(new_frequency) - send_byjax(src.occupant,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]") + send_byjax(usr,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]") if (href_list["view_log"]) src.occupant << browse(src.get_log_html(), "window=exosuit_log") @@ -302,14 +302,14 @@ if (href_list["toggle_id_upload"]) add_req_access = !add_req_access - send_byjax(src.occupant,"exosuit.browser","t_id_upload","[add_req_access?"L":"Unl"]ock ID upload panel") + send_byjax(usr,"exosuit.browser","t_id_upload","[add_req_access?"L":"Unl"]ock ID upload panel") if(href_list["toggle_maint_access"]) if(state) occupant_message("Maintenance protocols in effect") return maint_access = !maint_access - send_byjax(src.occupant,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols") + send_byjax(usr,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols") if (href_list["toggle_port_connection"]) if(internal_tank.connected_port) diff --git a/tgstation.dme b/tgstation.dme index 8fda1f85cb..bc555735d0 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -483,7 +483,6 @@ #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" #include "code\datums\helper_datums\teleport.dm" -#include "code\datums\helper_datums\topic_input.dm" #include "code\datums\looping_sounds\_looping_sound.dm" #include "code\datums\looping_sounds\item_sounds.dm" #include "code\datums\looping_sounds\machinery_sounds.dm" From d84798ff32c8c351fd7966b643810a21ebbc0f32 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 30 Jan 2020 19:47:08 +0100 Subject: [PATCH 059/392] rogue one. --- code/game/mecha/mecha_topic.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 0359541964..51ab28b9f3 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -221,8 +221,6 @@ if(usr.incapacitated()) return - var/datum/topic_input/afilter = new /datum/topic_input(href,href_list) - if(in_range(src, usr)) var/obj/item/card/id/id_card if (href_list["id_card"]) From fe9f86d7c21edd36227ddc10fbcc7c951fd3eac2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 30 Jan 2020 20:25:37 +0100 Subject: [PATCH 060/392] A --- code/game/mecha/mecha_topic.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 51ab28b9f3..fed545039c 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -241,7 +241,7 @@ output_maintenance_dialog(id_card, usr) if(href_list["set_internal_tank_valve"] && state >=1) - var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num + var/new_pressure = input(usr,"Input new output pressure","Pressure setting",internal_tank_valve) as num if(new_pressure) internal_tank_valve = new_pressure to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.") @@ -250,7 +250,7 @@ operation_req_access += text2num(href_list["add_req_access"]) output_access_dialog(id_card, usr) - if(href_list["del_req_access"] && add_req_access && afilter.getObj("id_card")) + if(href_list["del_req_access"] && add_req_access) operation_req_access -= text2num(href_list["add_req_access"]) output_access_dialog(id_card, usr) 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 061/392] 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 062/392] 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 063/392] 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 064/392] 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 065/392] 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 066/392] 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 067/392] 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 068/392] 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 67489d62d422f78b0c0c685ca8ddd3a1741ccf36 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 05:56:31 -0700 Subject: [PATCH 069/392] Update projectile.dm --- code/modules/projectiles/projectile.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a902c545b8..e79fe9c3a3 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -90,6 +90,10 @@ var/decayedRange //stores original range var/reflect_range_decrease = 5 //amount of original range that falls off when reflecting, so it doesn't go forever var/is_reflectable = FALSE // Can it be reflected or not? + + /// factor to multiply by for zone accuracy percent. + var/zone_accuracy_factor = 1 + //Effects var/stun = 0 var/knockdown = 0 @@ -253,7 +257,8 @@ return TRUE var/distance = get_dist(T, starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations. - def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. + if(check_zone(def_zone) != BODY_ZONE_CHEST) + def_zone = ran_zone(def_zone, max(100-(7*distance), 5) * zone_accuracy_factor) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use. if(isturf(A) && hitsound_wall) var/volume = CLAMP(vol_by_damage() + 20, 0, 100) From 3d7fef76f3b2fbbd6a4a7003ce32a9ef0d0d4928 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 05:57:16 -0700 Subject: [PATCH 070/392] Update sniper.dm --- code/modules/projectiles/projectile/bullets/sniper.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index bea5dbc140..5e3ae53806 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -7,6 +7,7 @@ knockdown = 100 dismemberment = 50 armour_penetration = 50 + zone_accuracy_factor = 100 //guarunteed 100% var/breakthings = TRUE /obj/item/projectile/bullet/p50/on_hit(atom/target, blocked = 0) From e14d2caacc6e2af63942220ca9f2dd4c40755ef8 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 5 Feb 2020 21:20:49 +0100 Subject: [PATCH 071/392] Update shuttle.dm --- code/controllers/subsystem/shuttle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 4d9eefae5b..a36c7fccc4 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -38,7 +38,7 @@ SUBSYSTEM_DEF(shuttle) var/points = 5000 //number of trade-points we have var/centcom_message = "" //Remarks from CentCom on how well you checked the last order. var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentCom, associated with their potencies - var/passive_supply_points_per_minute = 500 + var/passive_supply_points_per_minute = 200 var/list/supply_packs = list() var/list/shoppinglist = list() From 84f91cf665f400e8582541222206e8b820aecef8 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 5 Feb 2020 21:33:37 +0100 Subject: [PATCH 072/392] Update shuttle.dm --- code/controllers/subsystem/shuttle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index a36c7fccc4..7eff8b9e3c 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -38,7 +38,7 @@ SUBSYSTEM_DEF(shuttle) var/points = 5000 //number of trade-points we have var/centcom_message = "" //Remarks from CentCom on how well you checked the last order. var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentCom, associated with their potencies - var/passive_supply_points_per_minute = 200 + var/passive_supply_points_per_minute = 125 var/list/supply_packs = list() var/list/shoppinglist = list() From 927b9d0622ee141eacddb4abdbcb0eb01eccf7db Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 5 Feb 2020 23:50:41 -0700 Subject: [PATCH 073/392] Revert "Merge pull request #10883 from ancientpower/ghost-newscasters" This reverts commit 3c5a3cb4d4c284381b1c8aab0587022658fe37b7, reversing changes made to 109b15ebdde758cab20b849fa6c23dbe433530ab. --- code/__DEFINES/interaction_flags.dm | 2 - code/game/atoms.dm | 1 - code/game/machinery/_machinery.dm | 2 +- code/game/machinery/newscaster.dm | 97 ++-------------------- code/game/turfs/turf.dm | 4 +- code/modules/library/lib_items.dm | 16 +--- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/mob_helpers.dm | 12 --- 8 files changed, 13 insertions(+), 123 deletions(-) diff --git a/code/__DEFINES/interaction_flags.dm b/code/__DEFINES/interaction_flags.dm index 6df5bf77fb..dc3242c910 100644 --- a/code/__DEFINES/interaction_flags.dm +++ b/code/__DEFINES/interaction_flags.dm @@ -20,5 +20,3 @@ #define INTERACT_MACHINE_SET_MACHINE (1<<6) //MACHINES HAVE THIS BY DEFAULT, SOMEONE SHOULD RUN THROUGH MACHINES AND REMOVE IT FROM THINGS LIKE LIGHT SWITCHES WHEN POSSIBLE!!-------------------------- //This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. //THIS FLAG IS ON ALL MACHINES BY DEFAULT, NEEDS TO BE RE-EVALUATED LATER!! - -#define INTERACT_GHOST_READ (1<<0) \ No newline at end of file diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7e224080b9..83117bad64 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -6,7 +6,6 @@ var/flags_1 = NONE var/interaction_flags_atom = NONE - var/ghost_flags = NONE var/datum/reagents/reagents = null //This atom's HUD (med/sec, etc) images. Associative list. diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 44739fcbc0..a0666b3133 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -242,7 +242,7 @@ Class Procs: else if(interaction_flags_machine & INTERACT_MACHINE_REQUIRES_SILICON) return FALSE - if(!Adjacent(user) && !isobserver(user)) + if(!Adjacent(user)) var/mob/living/carbon/H = user if(!(istype(H) && H.has_dna() && H.dna.check_mutation(TK))) return FALSE diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 7097de1f3b..a9b4461085 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -189,7 +189,6 @@ GLOBAL_LIST_EMPTY(allCasters) armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) max_integrity = 200 integrity_failure = 50 - ghost_flags = INTERACT_GHOST_READ var/screen = 0 var/paper_remaining = 15 var/securityCaster = 0 @@ -197,7 +196,6 @@ GLOBAL_LIST_EMPTY(allCasters) var/alert_delay = 500 var/alert = FALSE var/scanned_user = "Unknown" - var/mob/active_user = null var/msg = "" var/datum/picture/picture var/channel_name = "" @@ -266,10 +264,10 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/machinery/newscaster/ui_interact(mob/user) . = ..() - if(ishuman(user) || issilicon(user) || isobserver(user)) - var/mob/M = user + if(ishuman(user) || issilicon(user)) + var/mob/living/human_or_robot_user = user var/dat - scan_user(M) + scan_user(human_or_robot_user) switch(screen) if(0) dat += "Welcome to Newscasting Unit #[unit_no].
Interface & News networks Operational." @@ -281,7 +279,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+= "
Submit new Feed story" dat+= "
Print newspaper" dat+= "
Re-scan User" - dat+= "

Exit" + dat+= "

Exit" if(securityCaster) var/wanted_already = 0 if(GLOB.news_network.wanted_issue.active) @@ -503,36 +501,24 @@ GLOBAL_LIST_EMPTY(allCasters) if(21) dat+="Unable to print newspaper. Insufficient paper. Please notify maintenance personnel to refill machine storage.

" dat+="Return" - var/datum/browser/popup = new(M, "newscaster_main", "Newscaster Unit #[unit_no]", 400, 600) + var/datum/browser/popup = new(human_or_robot_user, "newscaster_main", "Newscaster Unit #[unit_no]", 400, 600) popup.set_content(dat) - popup.set_title_image(M.browse_rsc_icon(icon, icon_state)) + popup.set_title_image(human_or_robot_user.browse_rsc_icon(icon, icon_state)) popup.open() /obj/machinery/newscaster/Topic(href, href_list) if(..()) return - if(active_user && !isobserver(active_user) && get_dist(active_user,src)<=1 && usr!=active_user) - to_chat(usr, "You must wait for [active_user] to finish and move away.") - return - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && isturf(loc))) || issilicon(usr) || isobserver(usr)) + if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && isturf(loc))) || issilicon(usr)) usr.set_machine(src) scan_user(usr) if(href_list["set_channel_name"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"set a channel's name")) - to_chat(usr, "You can't do that.") - return channel_name = stripped_input(usr, "Provide a Feed Channel Name", "Network Channel Handler", "", MAX_NAME_LEN) updateUsrDialog() else if(href_list["set_channel_lock"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"locked a channel")) - to_chat(usr, "You can't do that.") - return c_locked = !c_locked updateUsrDialog() else if(href_list["submit_new_channel"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"created a new channel")) - to_chat(usr, "You can't do that.") - return var/list/existing_authors = list() for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) if(FC.authorCensor) @@ -555,9 +541,6 @@ GLOBAL_LIST_EMPTY(allCasters) screen=5 updateUsrDialog() else if(href_list["set_channel_receiving"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to set the receiving channel")) - to_chat(usr, "You can't do that.") - return var/list/available_channels = list() for(var/datum/newscaster/feed_channel/F in GLOB.news_network.network_channels) if( (!F.locked || F.author == scanned_user) && !F.censored) @@ -565,23 +548,14 @@ GLOBAL_LIST_EMPTY(allCasters) channel_name = input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels updateUsrDialog() else if(href_list["set_new_message"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"set the message of a new feed story")) - to_chat(usr, "You can't do that.") - return var/temp_message = trim(stripped_multiline_input(usr, "Write your Feed story", "Network Channel Handler", msg)) if(temp_message) msg = temp_message updateUsrDialog() else if(href_list["set_attachment"]) - if(isobserver(usr)) - to_chat(usr, "You can't do that.") - return AttachPhoto(usr) updateUsrDialog() else if(href_list["submit_new_message"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"added a new story")) - to_chat(usr, "You can't do that.") - return if(msg =="" || msg=="\[REDACTED\]" || scanned_user == "Unknown" || channel_name == "" ) screen=6 else @@ -591,27 +565,15 @@ GLOBAL_LIST_EMPTY(allCasters) msg = "" updateUsrDialog() else if(href_list["create_channel"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"created a channel")) - to_chat(usr, "You can't do that.") - return screen=2 updateUsrDialog() else if(href_list["create_feed_story"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"created a feed story")) - to_chat(usr, "You can't do that.") - return screen=3 updateUsrDialog() else if(href_list["menu_paper"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"")) - to_chat(usr, "You can't do that.") - return screen=8 updateUsrDialog() else if(href_list["print_paper"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"printed a paper")) - to_chat(usr, "You can't do that.") - return if(!paper_remaining) screen=21 else @@ -619,21 +581,12 @@ GLOBAL_LIST_EMPTY(allCasters) screen = 20 updateUsrDialog() else if(href_list["menu_censor_story"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"censored a story")) - to_chat(usr, "You can't do that.") - return screen=10 updateUsrDialog() else if(href_list["menu_censor_channel"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"censored a channel")) - to_chat(usr, "You can't do that.") - return screen=11 updateUsrDialog() else if(href_list["menu_wanted"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"")) - to_chat(usr, "You can't do that.") - return var/already_wanted = 0 if(GLOB.news_network.wanted_issue.active) already_wanted = 1 @@ -643,21 +596,12 @@ GLOBAL_LIST_EMPTY(allCasters) screen = 14 updateUsrDialog() else if(href_list["set_wanted_name"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to set the name of a wanted person")) - to_chat(usr, "You can't do that.") - return channel_name = stripped_input(usr, "Provide the name of the Wanted person", "Network Security Handler") updateUsrDialog() else if(href_list["set_wanted_desc"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to set the description of a wanted person")) - to_chat(usr, "You can't do that.") - return msg = stripped_input(usr, "Provide a description of the Wanted person and any other details you deem important", "Network Security Handler") updateUsrDialog() else if(href_list["submit_wanted"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"submitted a wanted poster")) - to_chat(usr, "You can't do that.") - return var/input_param = text2num(href_list["submit_wanted"]) if(msg == "" || channel_name == "" || scanned_user == "Unknown") screen = 16 @@ -688,9 +632,6 @@ GLOBAL_LIST_EMPTY(allCasters) screen=18 updateUsrDialog() else if(href_list["censor_channel_author"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to censor an author")) - to_chat(usr, "You can't do that.") - return var/datum/newscaster/feed_channel/FC = locate(href_list["censor_channel_author"]) if(FC.is_admin_channel) alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") @@ -698,9 +639,6 @@ GLOBAL_LIST_EMPTY(allCasters) FC.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_author"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to censor a story's author")) - to_chat(usr, "You can't do that.") - return var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_author"]) if(MSG.is_admin_message) alert("This message was created by a Nanotrasen Officer. You cannot censor its author.","Ok") @@ -708,9 +646,6 @@ GLOBAL_LIST_EMPTY(allCasters) MSG.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_body"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to censor a story")) - to_chat(usr, "You can't do that.") - return var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_body"]) if(MSG.is_admin_message) alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") @@ -718,17 +653,11 @@ GLOBAL_LIST_EMPTY(allCasters) MSG.toggleCensorBody() updateUsrDialog() else if(href_list["pick_d_notice"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"")) - to_chat(usr, "You can't do that.") - return var/datum/newscaster/feed_channel/FC = locate(href_list["pick_d_notice"]) viewing_channel = FC screen=13 updateUsrDialog() else if(href_list["toggle_d_notice"]) - if(isobserver(usr) && !canGhostWrite(usr,src,"tried to set a D-notice")) - to_chat(usr, "You can't do that.") - return var/datum/newscaster/feed_channel/FC = locate(href_list["toggle_d_notice"]) if(FC.is_admin_channel) alert("This channel was created by a Nanotrasen Officer. You cannot place a D-Notice upon it.","Ok") @@ -876,12 +805,6 @@ GLOBAL_LIST_EMPTY(allCasters) picture = selection /obj/machinery/newscaster/proc/scan_user(mob/living/user) - if(active_user) - if(active_user != user) - if(get_dist(active_user,src)<=1) - if(!isobserver(active_user)) - to_chat(user, "Wait for [active_user] to finish and move away.") - return if(ishuman(user)) var/mob/living/carbon/human/human_user = user if(human_user.wear_id) @@ -901,14 +824,9 @@ GLOBAL_LIST_EMPTY(allCasters) else if(issilicon(user)) var/mob/living/silicon/ai_user = user scanned_user = "[ai_user.name] ([ai_user.job])" - else if (IsAdminGhost(user)) - scanned_user = "Nanotrasen Officer #[rand(0,9)][rand(0,9)][rand(0,9)]" - else if (isobserver(user)) - scanned_user = "Space-Time Anomaly #[rand(0,9)][rand(0,9)][rand(0,9)]" else throw EXCEPTION("Invalid user for this proc") return - active_user = user /obj/machinery/newscaster/proc/print_paper() SSblackbox.record_feedback("amount", "newspapers_printed", 1) @@ -941,6 +859,7 @@ GLOBAL_LIST_EMPTY(allCasters) say("Attention! Wanted issue distributed!") playsound(loc, 'sound/machines/warning-buzzer.ogg', 75, 1) + /obj/item/newspaper name = "newspaper" desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 688e03def3..d8434f986c 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -362,10 +362,8 @@ . = ..() if(.) return - if(!user || !istype(user, /mob/living)) - return FALSE if(length(src_object.contents())) - to_chat(user, "You start dumping out the contents...") + to_chat(usr, "You start dumping out the contents...") if(!do_after(usr,20,target=src_object.parent)) return FALSE diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index f128a76da2..5ff1cbceb1 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -129,14 +129,6 @@ choice.forceMove(drop_location()) update_icon() -/obj/structure/bookcase/attack_ghost(mob/dead/observer/user as mob) - if(contents.len && in_range(user, src)) - var/obj/item/book/choice = input("Which book would you like to read?") as null|obj in contents - if(choice) - if(!istype(choice)) //spellbook, cult tome, or the one weird bible storage - to_chat(user,"A mysterious force is keeping you from reading that.") - return - choice.attack_self(user) /obj/structure/bookcase/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/mineral/wood(loc, 4) @@ -212,9 +204,8 @@ return if(dat) user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") - if(istype(user, /mob/living)) - user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd) + user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd) onclose(user, "book") else to_chat(user, "This book is completely blank!") @@ -320,9 +311,6 @@ else ..() -/obj/item/book/attack_ghost(mob/user) - attack_self(user) - /* * Barcode Scanner diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3559edc0fb..439fe491cc 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -796,7 +796,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp update_icon() /mob/dead/observer/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) - return IsAdminGhost(usr) || (M.ghost_flags & INTERACT_GHOST_READ) + return IsAdminGhost(usr) /mob/dead/observer/is_literate() return 1 diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index d78d23c234..393adb68d2 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -402,18 +402,6 @@ It's fairly easy to fix if dealing with single letters but not so much with comp return return TRUE -/proc/canGhostWrite(var/mob/A, var/obj/target, var/desc="", var/allow_all=FALSE) - if(allow_all & TRUE) - if(!target.GetComponent(/datum/component/anti_magic)) - return 1 - if(IsAdminGhost(A)) - if (desc != "") - log_admin("GHOST: [key_name(A)] [desc] ([target.name] at [loc_name(target)])") - else - log_admin("GHOST: [key_name(A)] fucked with the [target.name] at [loc_name(target)]") - return 1 - return 0 - /proc/offer_control(mob/M) to_chat(M, "Control of your mob has been offered to dead players.") if(usr) From 9a4432b3acbcea08d384c78793324b8754cdc013 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:03:17 -0700 Subject: [PATCH 074/392] initial commit --- code/modules/library/lib_items.dm | 22 ++- code/modules/newscaster/feed_channel.dm | 34 ++++ code/modules/newscaster/feed_comment.dm | 4 + code/modules/newscaster/feed_message.dm | 47 +++++ code/modules/newscaster/feed_network.dm | 71 ++++++++ code/modules/newscaster/news_datum.dm | 1 + .../newscaster}/newscaster.dm | 171 ------------------ code/modules/newscaster/wanted_message.dm | 8 + 8 files changed, 183 insertions(+), 175 deletions(-) create mode 100644 code/modules/newscaster/feed_channel.dm create mode 100644 code/modules/newscaster/feed_comment.dm create mode 100644 code/modules/newscaster/feed_message.dm create mode 100644 code/modules/newscaster/feed_network.dm create mode 100644 code/modules/newscaster/news_datum.dm rename code/{game/machinery => modules/newscaster}/newscaster.dm (88%) create mode 100644 code/modules/newscaster/wanted_message.dm diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 5ff1cbceb1..459212aad0 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -112,7 +112,6 @@ else return ..() - /obj/structure/bookcase/attack_hand(mob/user) . = ..() if(.) @@ -129,6 +128,17 @@ choice.forceMove(drop_location()) update_icon() +/obj/structure/bookcase/attack_ghost(mob/dead/observer/user) + . = ..() + if(!length(contents)) + to_chat(user, "It's empty!") + return + var/obj/item/book/choice = input("Which book would you like to read?") as null|obj in contents + if(choice) + if(!istype(choice)) //spellbook, cult tome, or the one weird bible storage + to_chat(user,"A mysterious force is keeping you from reading that.") + return + choice.attack_ghost(user) /obj/structure/bookcase/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/mineral/wood(loc, 4) @@ -203,13 +213,17 @@ to_chat(user, "You skim through the book but can't comprehend any of it.") return if(dat) - user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") + show_to(user) user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd) - onclose(user, "book") else to_chat(user, "This book is completely blank!") +/obj/item/book/attack_ghost(mob/dead/observer/O) + . = ..() + show_to(O) + +/obj/item/book/proc/show_to(mob/user) + user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") /obj/item/book/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen)) diff --git a/code/modules/newscaster/feed_channel.dm b/code/modules/newscaster/feed_channel.dm new file mode 100644 index 0000000000..98c8d35493 --- /dev/null +++ b/code/modules/newscaster/feed_channel.dm @@ -0,0 +1,34 @@ +/datum/newscaster/feed_channel + var/channel_name = "" + var/list/datum/newscaster/feed_message/messages = list() + var/locked = FALSE + var/author = "" + var/censored = 0 + var/list/authorCensorTime = list() + var/list/DclassCensorTime = list() + var/authorCensor + var/is_admin_channel = 0 + +/datum/newscaster/feed_channel/proc/returnAuthor(censor) + if(censor == -1) + censor = authorCensor + var/txt = "[GLOB.news_network.redactedText]" + if(!censor) + txt = author + return txt + +/datum/newscaster/feed_channel/proc/toggleCensorDclass() + if(censored) + DclassCensorTime.Add(GLOB.news_network.lastAction*-1) + else + DclassCensorTime.Add(GLOB.news_network.lastAction) + censored = !censored + GLOB.news_network.lastAction ++ + +/datum/newscaster/feed_channel/proc/toggleCensorAuthor() + if(authorCensor) + authorCensorTime.Add(GLOB.news_network.lastAction*-1) + else + authorCensorTime.Add(GLOB.news_network.lastAction) + authorCensor = !authorCensor + GLOB.news_network.lastAction ++ diff --git a/code/modules/newscaster/feed_comment.dm b/code/modules/newscaster/feed_comment.dm new file mode 100644 index 0000000000..f5f847ab8e --- /dev/null +++ b/code/modules/newscaster/feed_comment.dm @@ -0,0 +1,4 @@ +/datum/newscaster/feed_comment + var/author = "" + var/body = "" + var/time_stamp = "" diff --git a/code/modules/newscaster/feed_message.dm b/code/modules/newscaster/feed_message.dm new file mode 100644 index 0000000000..1930177555 --- /dev/null +++ b/code/modules/newscaster/feed_message.dm @@ -0,0 +1,47 @@ +/datum/newscaster/feed_message + var/author ="" + var/body ="" + var/list/authorCensorTime = list() + var/list/bodyCensorTime = list() + var/is_admin_message = 0 + var/icon/img = null + var/time_stamp = "" + var/list/datum/newscaster/feed_comment/comments = list() + var/locked = FALSE + var/caption = "" + var/creationTime + var/authorCensor + var/bodyCensor + var/photo_file + +/datum/newscaster/feed_message/proc/returnAuthor(censor) + if(censor == -1) + censor = authorCensor + var/txt = "[GLOB.news_network.redactedText]" + if(!censor) + txt = author + return txt + +/datum/newscaster/feed_message/proc/returnBody(censor) + if(censor == -1) + censor = bodyCensor + var/txt = "[GLOB.news_network.redactedText]" + if(!censor) + txt = body + return txt + +/datum/newscaster/feed_message/proc/toggleCensorAuthor() + if(authorCensor) + authorCensorTime.Add(GLOB.news_network.lastAction*-1) + else + authorCensorTime.Add(GLOB.news_network.lastAction) + authorCensor = !authorCensor + GLOB.news_network.lastAction ++ + +/datum/newscaster/feed_message/proc/toggleCensorBody() + if(bodyCensor) + bodyCensorTime.Add(GLOB.news_network.lastAction*-1) + else + bodyCensorTime.Add(GLOB.news_network.lastAction) + bodyCensor = !bodyCensor + GLOB.news_network.lastAction ++ diff --git a/code/modules/newscaster/feed_network.dm b/code/modules/newscaster/feed_network.dm new file mode 100644 index 0000000000..12a211891e --- /dev/null +++ b/code/modules/newscaster/feed_network.dm @@ -0,0 +1,71 @@ +GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) + +/datum/newscaster/feed_network + var/list/datum/newscaster/feed_channel/network_channels = list() + var/datum/newscaster/wanted_message/wanted_issue + var/lastAction + var/redactedText = "\[REDACTED\]" + +/datum/newscaster/feed_network/New() + CreateFeedChannel("Station Announcements", "SS13", 1) + wanted_issue = new /datum/newscaster/wanted_message + +/datum/newscaster/feed_network/proc/CreateFeedChannel(channel_name, author, locked, adminChannel = 0) + var/datum/newscaster/feed_channel/newChannel = new /datum/newscaster/feed_channel + newChannel.channel_name = channel_name + newChannel.author = author + newChannel.locked = locked + newChannel.is_admin_channel = adminChannel + network_channels += newChannel + +/datum/newscaster/feed_network/proc/SubmitArticle(msg, author, channel_name, datum/picture/picture, adminMessage = 0, allow_comments = 1) + var/datum/newscaster/feed_message/newMsg = new /datum/newscaster/feed_message + newMsg.author = author + newMsg.body = msg + newMsg.time_stamp = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) + newMsg.is_admin_message = adminMessage + newMsg.locked = !allow_comments + if(picture) + newMsg.img = picture.picture_image + newMsg.caption = picture.caption + newMsg.photo_file = save_photo(picture.picture_image) + for(var/datum/newscaster/feed_channel/FC in network_channels) + if(FC.channel_name == channel_name) + FC.messages += newMsg + break + for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) + NEWSCASTER.newsAlert(channel_name) + lastAction ++ + newMsg.creationTime = lastAction + +/datum/newscaster/feed_network/proc/submitWanted(criminal, body, scanned_user, datum/picture/picture, adminMsg = 0, newMessage = 0) + wanted_issue.active = 1 + wanted_issue.criminal = criminal + wanted_issue.body = body + wanted_issue.scannedUser = scanned_user + wanted_issue.isAdminMsg = adminMsg + if(picture) + wanted_issue.img = picture.picture_image + wanted_issue.photo_file = save_photo(picture.picture_image) + if(newMessage) + for(var/obj/machinery/newscaster/N in GLOB.allCasters) + N.newsAlert() + N.update_icon() + +/datum/newscaster/feed_network/proc/deleteWanted() + wanted_issue.active = 0 + wanted_issue.criminal = null + wanted_issue.body = null + wanted_issue.scannedUser = null + wanted_issue.img = null + for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) + NEWSCASTER.update_icon() + +/datum/newscaster/feed_network/proc/save_photo(icon/photo) + var/photo_file = copytext_char(md5("\icon[photo]"), 1, 6) + if(!fexists("[GLOB.log_directory]/photos/[photo_file].png")) + //Clean up repeated frames + var/icon/clean = new /icon() + clean.Insert(photo, "", SOUTH, 1, 0) + fcopy(clean, "[GLOB.log_directory]/photos/[photo_file].png") + return photo_file diff --git a/code/modules/newscaster/news_datum.dm b/code/modules/newscaster/news_datum.dm new file mode 100644 index 0000000000..3c42d04734 --- /dev/null +++ b/code/modules/newscaster/news_datum.dm @@ -0,0 +1 @@ +/datum/newscaster diff --git a/code/game/machinery/newscaster.dm b/code/modules/newscaster/newscaster.dm similarity index 88% rename from code/game/machinery/newscaster.dm rename to code/modules/newscaster/newscaster.dm index a9b4461085..e9458666f3 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/modules/newscaster/newscaster.dm @@ -1,175 +1,5 @@ -GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) GLOBAL_LIST_EMPTY(allCasters) -/datum/newscaster - -/datum/newscaster/feed_comment - var/author = "" - var/body = "" - var/time_stamp = "" - -/datum/newscaster/feed_message - var/author ="" - var/body ="" - var/list/authorCensorTime = list() - var/list/bodyCensorTime = list() - var/is_admin_message = 0 - var/icon/img = null - var/time_stamp = "" - var/list/datum/newscaster/feed_comment/comments = list() - var/locked = FALSE - var/caption = "" - var/creationTime - var/authorCensor - var/bodyCensor - var/photo_file - -/datum/newscaster/feed_message/proc/returnAuthor(censor) - if(censor == -1) - censor = authorCensor - var/txt = "[GLOB.news_network.redactedText]" - if(!censor) - txt = author - return txt - -/datum/newscaster/feed_message/proc/returnBody(censor) - if(censor == -1) - censor = bodyCensor - var/txt = "[GLOB.news_network.redactedText]" - if(!censor) - txt = body - return txt - -/datum/newscaster/feed_message/proc/toggleCensorAuthor() - if(authorCensor) - authorCensorTime.Add(GLOB.news_network.lastAction*-1) - else - authorCensorTime.Add(GLOB.news_network.lastAction) - authorCensor = !authorCensor - GLOB.news_network.lastAction ++ - -/datum/newscaster/feed_message/proc/toggleCensorBody() - if(bodyCensor) - bodyCensorTime.Add(GLOB.news_network.lastAction*-1) - else - bodyCensorTime.Add(GLOB.news_network.lastAction) - bodyCensor = !bodyCensor - GLOB.news_network.lastAction ++ - -/datum/newscaster/feed_channel - var/channel_name = "" - var/list/datum/newscaster/feed_message/messages = list() - var/locked = FALSE - var/author = "" - var/censored = 0 - var/list/authorCensorTime = list() - var/list/DclassCensorTime = list() - var/authorCensor - var/is_admin_channel = 0 - -/datum/newscaster/feed_channel/proc/returnAuthor(censor) - if(censor == -1) - censor = authorCensor - var/txt = "[GLOB.news_network.redactedText]" - if(!censor) - txt = author - return txt - -/datum/newscaster/feed_channel/proc/toggleCensorDclass() - if(censored) - DclassCensorTime.Add(GLOB.news_network.lastAction*-1) - else - DclassCensorTime.Add(GLOB.news_network.lastAction) - censored = !censored - GLOB.news_network.lastAction ++ - -/datum/newscaster/feed_channel/proc/toggleCensorAuthor() - if(authorCensor) - authorCensorTime.Add(GLOB.news_network.lastAction*-1) - else - authorCensorTime.Add(GLOB.news_network.lastAction) - authorCensor = !authorCensor - GLOB.news_network.lastAction ++ - -/datum/newscaster/wanted_message - var/active - var/criminal - var/body - var/scannedUser - var/isAdminMsg - var/icon/img - var/photo_file - -/datum/newscaster/feed_network - var/list/datum/newscaster/feed_channel/network_channels = list() - var/datum/newscaster/wanted_message/wanted_issue - var/lastAction - var/redactedText = "\[REDACTED\]" - -/datum/newscaster/feed_network/New() - CreateFeedChannel("Station Announcements", "SS13", 1) - wanted_issue = new /datum/newscaster/wanted_message - -/datum/newscaster/feed_network/proc/CreateFeedChannel(channel_name, author, locked, adminChannel = 0) - var/datum/newscaster/feed_channel/newChannel = new /datum/newscaster/feed_channel - newChannel.channel_name = channel_name - newChannel.author = author - newChannel.locked = locked - newChannel.is_admin_channel = adminChannel - network_channels += newChannel - -/datum/newscaster/feed_network/proc/SubmitArticle(msg, author, channel_name, datum/picture/picture, adminMessage = 0, allow_comments = 1) - var/datum/newscaster/feed_message/newMsg = new /datum/newscaster/feed_message - newMsg.author = author - newMsg.body = msg - newMsg.time_stamp = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) - newMsg.is_admin_message = adminMessage - newMsg.locked = !allow_comments - if(picture) - newMsg.img = picture.picture_image - newMsg.caption = picture.caption - newMsg.photo_file = save_photo(picture.picture_image) - for(var/datum/newscaster/feed_channel/FC in network_channels) - if(FC.channel_name == channel_name) - FC.messages += newMsg - break - for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) - NEWSCASTER.newsAlert(channel_name) - lastAction ++ - newMsg.creationTime = lastAction - -/datum/newscaster/feed_network/proc/submitWanted(criminal, body, scanned_user, datum/picture/picture, adminMsg = 0, newMessage = 0) - wanted_issue.active = 1 - wanted_issue.criminal = criminal - wanted_issue.body = body - wanted_issue.scannedUser = scanned_user - wanted_issue.isAdminMsg = adminMsg - if(picture) - wanted_issue.img = picture.picture_image - wanted_issue.photo_file = save_photo(picture.picture_image) - if(newMessage) - for(var/obj/machinery/newscaster/N in GLOB.allCasters) - N.newsAlert() - N.update_icon() - -/datum/newscaster/feed_network/proc/deleteWanted() - wanted_issue.active = 0 - wanted_issue.criminal = null - wanted_issue.body = null - wanted_issue.scannedUser = null - wanted_issue.img = null - for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) - NEWSCASTER.update_icon() - -/datum/newscaster/feed_network/proc/save_photo(icon/photo) - var/photo_file = copytext_char(md5("\icon[photo]"), 1, 6) - if(!fexists("[GLOB.log_directory]/photos/[photo_file].png")) - //Clean up repeated frames - var/icon/clean = new /icon() - clean.Insert(photo, "", SOUTH, 1, 0) - fcopy(clean, "[GLOB.log_directory]/photos/[photo_file].png") - return photo_file - /obj/item/wallframe/newscaster name = "newscaster frame" desc = "Used to build newscasters, just secure to the wall." @@ -177,7 +7,6 @@ GLOBAL_LIST_EMPTY(allCasters) materials = list(MAT_METAL=14000, MAT_GLASS=8000) result_path = /obj/machinery/newscaster - /obj/machinery/newscaster name = "newscaster" desc = "A standard Nanotrasen-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!" diff --git a/code/modules/newscaster/wanted_message.dm b/code/modules/newscaster/wanted_message.dm new file mode 100644 index 0000000000..de67bbeaf5 --- /dev/null +++ b/code/modules/newscaster/wanted_message.dm @@ -0,0 +1,8 @@ +/datum/newscaster/wanted_message + var/active + var/criminal + var/body + var/scannedUser + var/isAdminMsg + var/icon/img + var/photo_file From 134b7b811d95acad395043d5ee33481e71628c97 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:04:11 -0700 Subject: [PATCH 075/392] repath that --- code/modules/newscaster/feed_network.dm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/code/modules/newscaster/feed_network.dm b/code/modules/newscaster/feed_network.dm index 12a211891e..b1e8ad19ae 100644 --- a/code/modules/newscaster/feed_network.dm +++ b/code/modules/newscaster/feed_network.dm @@ -1,16 +1,17 @@ -GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) +GLOBAL_DATUM_INIT(news_network, /datum/news_network, new) -/datum/newscaster/feed_network +/// Contains all the news datum of a newscaster system. +/datum/news_network var/list/datum/newscaster/feed_channel/network_channels = list() var/datum/newscaster/wanted_message/wanted_issue var/lastAction var/redactedText = "\[REDACTED\]" -/datum/newscaster/feed_network/New() +/datum/news_network/New() CreateFeedChannel("Station Announcements", "SS13", 1) wanted_issue = new /datum/newscaster/wanted_message -/datum/newscaster/feed_network/proc/CreateFeedChannel(channel_name, author, locked, adminChannel = 0) +/datum/news_network/proc/CreateFeedChannel(channel_name, author, locked, adminChannel = 0) var/datum/newscaster/feed_channel/newChannel = new /datum/newscaster/feed_channel newChannel.channel_name = channel_name newChannel.author = author @@ -18,7 +19,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) newChannel.is_admin_channel = adminChannel network_channels += newChannel -/datum/newscaster/feed_network/proc/SubmitArticle(msg, author, channel_name, datum/picture/picture, adminMessage = 0, allow_comments = 1) +/datum/news_network/proc/SubmitArticle(msg, author, channel_name, datum/picture/picture, adminMessage = 0, allow_comments = 1) var/datum/newscaster/feed_message/newMsg = new /datum/newscaster/feed_message newMsg.author = author newMsg.body = msg @@ -38,7 +39,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) lastAction ++ newMsg.creationTime = lastAction -/datum/newscaster/feed_network/proc/submitWanted(criminal, body, scanned_user, datum/picture/picture, adminMsg = 0, newMessage = 0) +/datum/news_network/proc/submitWanted(criminal, body, scanned_user, datum/picture/picture, adminMsg = 0, newMessage = 0) wanted_issue.active = 1 wanted_issue.criminal = criminal wanted_issue.body = body @@ -52,7 +53,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) N.newsAlert() N.update_icon() -/datum/newscaster/feed_network/proc/deleteWanted() +/datum/news_network/proc/deleteWanted() wanted_issue.active = 0 wanted_issue.criminal = null wanted_issue.body = null @@ -61,7 +62,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new) for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters) NEWSCASTER.update_icon() -/datum/newscaster/feed_network/proc/save_photo(icon/photo) +/datum/news_network/proc/save_photo(icon/photo) var/photo_file = copytext_char(md5("\icon[photo]"), 1, 6) if(!fexists("[GLOB.log_directory]/photos/[photo_file].png")) //Clean up repeated frames From 38536cd02d5b7c7c2278d31b3afec3169ef3937a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:05:07 -0700 Subject: [PATCH 076/392] repath that --- code/__HELPERS/roundend.dm | 6 +- code/game/objects/items/devices/PDA/cart.dm | 12 ++-- code/modules/admin/admin.dm | 18 +++--- code/modules/admin/holder2.dm | 6 +- code/modules/admin/topic.dm | 30 ++++----- code/modules/library/lib_machines.dm | 2 +- code/modules/newscaster/feed_channel.dm | 10 +-- code/modules/newscaster/feed_comment.dm | 2 +- code/modules/newscaster/feed_message.dm | 12 ++-- code/modules/newscaster/feed_network.dm | 12 ++-- code/modules/newscaster/news_datum.dm | 2 +- code/modules/newscaster/newscaster.dm | 70 ++++++++++----------- code/modules/newscaster/wanted_message.dm | 2 +- 13 files changed, 92 insertions(+), 92 deletions(-) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 19ee2b2a5a..3f33214668 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -139,19 +139,19 @@ var/list/file_data = list() var/pos = 1 for(var/V in GLOB.news_network.network_channels) - var/datum/newscaster/feed_channel/channel = V + var/datum/news/feed_channel/channel = V if(!istype(channel)) stack_trace("Non-channel in newscaster channel list") continue file_data["[pos]"] = list("channel name" = "[channel.channel_name]", "author" = "[channel.author]", "censored" = channel.censored ? 1 : 0, "author censored" = channel.authorCensor ? 1 : 0, "messages" = list()) for(var/M in channel.messages) - var/datum/newscaster/feed_message/message = M + var/datum/news/feed_message/message = M if(!istype(message)) stack_trace("Non-message in newscaster channel messages list") continue var/list/comment_data = list() for(var/C in message.comments) - var/datum/newscaster/feed_comment/comment = C + var/datum/news/feed_comment/comment = C if(!istype(comment)) stack_trace("Non-message in newscaster message comments list") continue diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index b186c29539..7b66f68a79 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -562,22 +562,22 @@ Code: if (53) // Newscaster menu = "

[PDAIMG(notes)] Newscaster Access

" menu += "
Current Newsfeed: [current_channel ? current_channel : "None"]
" - var/datum/newscaster/feed_channel/current - for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels) + var/datum/news/feed_channel/current + for(var/datum/news/feed_channel/chan in GLOB.news_network.network_channels) if (chan.channel_name == current_channel) current = chan if(!current) menu += "
ERROR : NO CHANNEL FOUND
" return var/i = 1 - for(var/datum/newscaster/feed_message/msg in current.messages) + for(var/datum/news/feed_message/msg in current.messages) menu +="-[msg.returnBody(-1)]
\[Story by [msg.returnAuthor(-1)]\]
" menu +="[msg.comments.len] comment[msg.comments.len > 1 ? "s" : ""]
" if(msg.img) user << browse_rsc(msg.img, "tmp_photo[i].png") menu +="
" i++ - for(var/datum/newscaster/feed_comment/comment in msg.comments) + for(var/datum/news/feed_comment/comment in msg.comments) menu +="[comment.body]
[comment.author] [comment.time_stamp]
" menu += "
Post Message" @@ -681,8 +681,8 @@ Code: if("Newscaster Message") var/host_pda_owner_name = host_pda.id ? "[host_pda.id.registered_name] ([host_pda.id.assignment])" : "Unknown" var/message = host_pda.msg_input() - var/datum/newscaster/feed_channel/current - for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels) + var/datum/news/feed_channel/current + for(var/datum/news/feed_channel/chan in GLOB.news_network.network_channels) if (chan.channel_name == current_channel) current = chan if(current.locked && current.author != host_pda_owner_name) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 372902e8d6..bb0224bbfc 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -240,7 +240,7 @@ if( isemptylist(GLOB.news_network.network_channels) ) dat+="No active channels found..." else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) if(CHANNEL.is_admin_channel) dat+="[CHANNEL.channel_name]
" else @@ -277,7 +277,7 @@ if(src.admincaster_feed_channel.channel_name =="" || src.admincaster_feed_channel.channel_name == "\[REDACTED\]") dat+="•Invalid channel name.
" var/check = 0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == src.admincaster_feed_channel.channel_name) check = 1 break @@ -294,7 +294,7 @@ dat+="No feed messages found in channel...
" else var/i = 0 - for(var/datum/newscaster/feed_message/MESSAGE in src.admincaster_feed_channel.messages) + for(var/datum/news/feed_message/MESSAGE in src.admincaster_feed_channel.messages) i++ dat+="-[MESSAGE.returnBody(-1)]
" if(MESSAGE.img) @@ -302,7 +302,7 @@ dat+="

" dat+="\[Story by [MESSAGE.returnAuthor(-1)]\]
" dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]:
" - for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) + for(var/datum/news/feed_comment/comment in MESSAGE.comments) dat+="[comment.body]
[comment.author] [comment.time_stamp]
" dat+="
" dat+="

Refresh" @@ -315,7 +315,7 @@ if(isemptylist(GLOB.news_network.network_channels)) dat+="No feed channels found active...
" else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
" dat+="
Cancel" if(11) @@ -326,7 +326,7 @@ if(isemptylist(GLOB.news_network.network_channels)) dat+="No feed channels found active...
" else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
" dat+="
Back" @@ -337,11 +337,11 @@ if( isemptylist(src.admincaster_feed_channel.messages) ) dat+="No feed messages found in channel...
" else - for(var/datum/newscaster/feed_message/MESSAGE in src.admincaster_feed_channel.messages) + for(var/datum/news/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
\[Story by [MESSAGE.returnAuthor(-1)]\]
" dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
" dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
" - for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) + for(var/datum/news/feed_comment/comment in MESSAGE.comments) dat+="[comment.body] X
[comment.author] [comment.time_stamp]
" dat+="
Back" if(13) @@ -354,7 +354,7 @@ if( isemptylist(src.admincaster_feed_channel.messages) ) dat+="No feed messages found in channel...
" else - for(var/datum/newscaster/feed_message/MESSAGE in src.admincaster_feed_channel.messages) + for(var/datum/news/feed_message/MESSAGE in src.admincaster_feed_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
\[Story by [MESSAGE.returnAuthor(-1)]\]
" dat+="
Back" if(14) diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 43360ad714..37fe2a41fc 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -19,9 +19,9 @@ GLOBAL_PROTECT(href_token) var/spamcooldown = 0 var/admincaster_screen = 0 //TODO: remove all these 5 variables, they are completly unacceptable - var/datum/newscaster/feed_message/admincaster_feed_message = new /datum/newscaster/feed_message - var/datum/newscaster/wanted_message/admincaster_wanted_message = new /datum/newscaster/wanted_message - var/datum/newscaster/feed_channel/admincaster_feed_channel = new /datum/newscaster/feed_channel + var/datum/news/feed_message/admincaster_feed_message = new /datum/news/feed_message + var/datum/news/wanted_message/admincaster_wanted_message = new /datum/news/wanted_message + var/datum/news/feed_channel/admincaster_feed_channel = new /datum/news/feed_channel var/admin_signature var/href_token diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 70b25bebdd..6abf2d3f1b 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2481,7 +2481,7 @@ if(!check_rights(R_ADMIN)) return var/check = 0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == src.admincaster_feed_channel.channel_name) check = 1 break @@ -2500,7 +2500,7 @@ if(!check_rights(R_ADMIN)) return var/list/available_channels = list() - for(var/datum/newscaster/feed_channel/F in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/F in GLOB.news_network.network_channels) available_channels += F.channel_name src.admincaster_feed_channel.channel_name = adminscrub(input(usr, "Choose receiving Feed Channel.", "Network Channel Handler") in available_channels ) src.access_news_network() @@ -2606,28 +2606,28 @@ else if(href_list["ac_censor_channel_author"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_channel/FC = locate(href_list["ac_censor_channel_author"]) + var/datum/news/feed_channel/FC = locate(href_list["ac_censor_channel_author"]) FC.toggleCensorAuthor() src.access_news_network() else if(href_list["ac_censor_channel_story_author"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"]) + var/datum/news/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"]) MSG.toggleCensorAuthor() src.access_news_network() else if(href_list["ac_censor_channel_story_body"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"]) + var/datum/news/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"]) MSG.toggleCensorBody() src.access_news_network() else if(href_list["ac_pick_d_notice"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_channel/FC = locate(href_list["ac_pick_d_notice"]) + var/datum/news/feed_channel/FC = locate(href_list["ac_pick_d_notice"]) src.admincaster_feed_channel = FC src.admincaster_screen=13 src.access_news_network() @@ -2635,7 +2635,7 @@ else if(href_list["ac_toggle_d_notice"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_channel/FC = locate(href_list["ac_toggle_d_notice"]) + var/datum/news/feed_channel/FC = locate(href_list["ac_toggle_d_notice"]) FC.toggleCensorDclass() src.access_news_network() @@ -2651,17 +2651,17 @@ src.admincaster_screen = text2num(href_list["ac_setScreen"]) if (src.admincaster_screen == 0) if(src.admincaster_feed_channel) - src.admincaster_feed_channel = new /datum/newscaster/feed_channel + src.admincaster_feed_channel = new /datum/news/feed_channel if(src.admincaster_feed_message) - src.admincaster_feed_message = new /datum/newscaster/feed_message + src.admincaster_feed_message = new /datum/news/feed_message if(admincaster_wanted_message) - admincaster_wanted_message = new /datum/newscaster/wanted_message + admincaster_wanted_message = new /datum/news/wanted_message src.access_news_network() else if(href_list["ac_show_channel"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_channel/FC = locate(href_list["ac_show_channel"]) + var/datum/news/feed_channel/FC = locate(href_list["ac_show_channel"]) src.admincaster_feed_channel = FC src.admincaster_screen = 9 src.access_news_network() @@ -2669,7 +2669,7 @@ else if(href_list["ac_pick_censor_channel"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_channel/FC = locate(href_list["ac_pick_censor_channel"]) + var/datum/news/feed_channel/FC = locate(href_list["ac_pick_censor_channel"]) src.admincaster_feed_channel = FC src.admincaster_screen = 12 src.access_news_network() @@ -2688,8 +2688,8 @@ else if(href_list["ac_del_comment"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_comment/FC = locate(href_list["ac_del_comment"]) - var/datum/newscaster/feed_message/FM = locate(href_list["ac_del_comment_msg"]) + var/datum/news/feed_comment/FC = locate(href_list["ac_del_comment"]) + var/datum/news/feed_message/FM = locate(href_list["ac_del_comment_msg"]) FM.comments -= FC qdel(FC) src.access_news_network() @@ -2697,7 +2697,7 @@ else if(href_list["ac_lock_comment"]) if(!check_rights(R_ADMIN)) return - var/datum/newscaster/feed_message/FM = locate(href_list["ac_lock_comment"]) + var/datum/news/feed_message/FM = locate(href_list["ac_lock_comment"]) FM.locked ^= 1 src.access_news_network() diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 204a2de9a6..008724b10f 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -441,7 +441,7 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums if(!GLOB.news_network) alert("No news network found on station. Aborting.") var/channelexists = 0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == "Nanotrasen Book Club") channelexists = 1 break diff --git a/code/modules/newscaster/feed_channel.dm b/code/modules/newscaster/feed_channel.dm index 98c8d35493..8bd639b3dc 100644 --- a/code/modules/newscaster/feed_channel.dm +++ b/code/modules/newscaster/feed_channel.dm @@ -1,6 +1,6 @@ -/datum/newscaster/feed_channel +/datum/news/feed_channel var/channel_name = "" - var/list/datum/newscaster/feed_message/messages = list() + var/list/datum/news/feed_message/messages = list() var/locked = FALSE var/author = "" var/censored = 0 @@ -9,7 +9,7 @@ var/authorCensor var/is_admin_channel = 0 -/datum/newscaster/feed_channel/proc/returnAuthor(censor) +/datum/news/feed_channel/proc/returnAuthor(censor) if(censor == -1) censor = authorCensor var/txt = "[GLOB.news_network.redactedText]" @@ -17,7 +17,7 @@ txt = author return txt -/datum/newscaster/feed_channel/proc/toggleCensorDclass() +/datum/news/feed_channel/proc/toggleCensorDclass() if(censored) DclassCensorTime.Add(GLOB.news_network.lastAction*-1) else @@ -25,7 +25,7 @@ censored = !censored GLOB.news_network.lastAction ++ -/datum/newscaster/feed_channel/proc/toggleCensorAuthor() +/datum/news/feed_channel/proc/toggleCensorAuthor() if(authorCensor) authorCensorTime.Add(GLOB.news_network.lastAction*-1) else diff --git a/code/modules/newscaster/feed_comment.dm b/code/modules/newscaster/feed_comment.dm index f5f847ab8e..9eba2d73dc 100644 --- a/code/modules/newscaster/feed_comment.dm +++ b/code/modules/newscaster/feed_comment.dm @@ -1,4 +1,4 @@ -/datum/newscaster/feed_comment +/datum/news/feed_comment var/author = "" var/body = "" var/time_stamp = "" diff --git a/code/modules/newscaster/feed_message.dm b/code/modules/newscaster/feed_message.dm index 1930177555..f9c3da554e 100644 --- a/code/modules/newscaster/feed_message.dm +++ b/code/modules/newscaster/feed_message.dm @@ -1,4 +1,4 @@ -/datum/newscaster/feed_message +/datum/news/feed_message var/author ="" var/body ="" var/list/authorCensorTime = list() @@ -6,7 +6,7 @@ var/is_admin_message = 0 var/icon/img = null var/time_stamp = "" - var/list/datum/newscaster/feed_comment/comments = list() + var/list/datum/news/feed_comment/comments = list() var/locked = FALSE var/caption = "" var/creationTime @@ -14,7 +14,7 @@ var/bodyCensor var/photo_file -/datum/newscaster/feed_message/proc/returnAuthor(censor) +/datum/news/feed_message/proc/returnAuthor(censor) if(censor == -1) censor = authorCensor var/txt = "[GLOB.news_network.redactedText]" @@ -22,7 +22,7 @@ txt = author return txt -/datum/newscaster/feed_message/proc/returnBody(censor) +/datum/news/feed_message/proc/returnBody(censor) if(censor == -1) censor = bodyCensor var/txt = "[GLOB.news_network.redactedText]" @@ -30,7 +30,7 @@ txt = body return txt -/datum/newscaster/feed_message/proc/toggleCensorAuthor() +/datum/news/feed_message/proc/toggleCensorAuthor() if(authorCensor) authorCensorTime.Add(GLOB.news_network.lastAction*-1) else @@ -38,7 +38,7 @@ authorCensor = !authorCensor GLOB.news_network.lastAction ++ -/datum/newscaster/feed_message/proc/toggleCensorBody() +/datum/news/feed_message/proc/toggleCensorBody() if(bodyCensor) bodyCensorTime.Add(GLOB.news_network.lastAction*-1) else diff --git a/code/modules/newscaster/feed_network.dm b/code/modules/newscaster/feed_network.dm index b1e8ad19ae..5e056addee 100644 --- a/code/modules/newscaster/feed_network.dm +++ b/code/modules/newscaster/feed_network.dm @@ -2,17 +2,17 @@ GLOBAL_DATUM_INIT(news_network, /datum/news_network, new) /// Contains all the news datum of a newscaster system. /datum/news_network - var/list/datum/newscaster/feed_channel/network_channels = list() - var/datum/newscaster/wanted_message/wanted_issue + var/list/datum/news/feed_channel/network_channels = list() + var/datum/news/wanted_message/wanted_issue var/lastAction var/redactedText = "\[REDACTED\]" /datum/news_network/New() CreateFeedChannel("Station Announcements", "SS13", 1) - wanted_issue = new /datum/newscaster/wanted_message + wanted_issue = new /datum/news/wanted_message /datum/news_network/proc/CreateFeedChannel(channel_name, author, locked, adminChannel = 0) - var/datum/newscaster/feed_channel/newChannel = new /datum/newscaster/feed_channel + var/datum/news/feed_channel/newChannel = new /datum/news/feed_channel newChannel.channel_name = channel_name newChannel.author = author newChannel.locked = locked @@ -20,7 +20,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/news_network, new) network_channels += newChannel /datum/news_network/proc/SubmitArticle(msg, author, channel_name, datum/picture/picture, adminMessage = 0, allow_comments = 1) - var/datum/newscaster/feed_message/newMsg = new /datum/newscaster/feed_message + var/datum/news/feed_message/newMsg = new /datum/news/feed_message newMsg.author = author newMsg.body = msg newMsg.time_stamp = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) @@ -30,7 +30,7 @@ GLOBAL_DATUM_INIT(news_network, /datum/news_network, new) newMsg.img = picture.picture_image newMsg.caption = picture.caption newMsg.photo_file = save_photo(picture.picture_image) - for(var/datum/newscaster/feed_channel/FC in network_channels) + for(var/datum/news/feed_channel/FC in network_channels) if(FC.channel_name == channel_name) FC.messages += newMsg break diff --git a/code/modules/newscaster/news_datum.dm b/code/modules/newscaster/news_datum.dm index 3c42d04734..5fcf3b4551 100644 --- a/code/modules/newscaster/news_datum.dm +++ b/code/modules/newscaster/news_datum.dm @@ -1 +1 @@ -/datum/newscaster +/datum/news diff --git a/code/modules/newscaster/newscaster.dm b/code/modules/newscaster/newscaster.dm index e9458666f3..88379efcf8 100644 --- a/code/modules/newscaster/newscaster.dm +++ b/code/modules/newscaster/newscaster.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_EMPTY(allCasters) var/datum/picture/picture var/channel_name = "" var/c_locked=0 - var/datum/newscaster/feed_channel/viewing_channel = null + var/datum/news/feed_channel/viewing_channel = null var/allow_comments = 1 /obj/machinery/newscaster/security_unit @@ -123,7 +123,7 @@ GLOBAL_LIST_EMPTY(allCasters) if( isemptylist(GLOB.news_network.network_channels) ) dat+="No active channels found..." else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) if(CHANNEL.is_admin_channel) dat+="[CHANNEL.channel_name]
" else @@ -162,7 +162,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(7) dat+="ERROR: Could not submit Feed Channel to Network.

" var/list/existing_authors = list() - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.authorCensor) existing_authors += GLOB.news_network.redactedText else @@ -172,7 +172,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(channel_name=="" || channel_name == "\[REDACTED\]") dat+="Invalid channel name.
" var/check = 0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == channel_name) check = 1 break @@ -185,7 +185,7 @@ GLOBAL_LIST_EMPTY(allCasters) var/total_num=length(GLOB.news_network.network_channels) var/active_num=total_num var/message_num=0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(!FC.censored) message_num += length(FC.messages) else @@ -204,7 +204,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="No feed messages found in channel...
" else var/i = 0 - for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) + for(var/datum/news/feed_message/MESSAGE in viewing_channel.messages) i++ dat+="-[MESSAGE.returnBody(-1)]
" if(MESSAGE.img) @@ -215,7 +215,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="
" dat+="\[Story by [MESSAGE.returnAuthor(-1)] \] - ([MESSAGE.time_stamp])
" dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]
" - for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) + for(var/datum/news/feed_comment/comment in MESSAGE.comments) dat+="[comment.body]
[comment.author] [comment.time_stamp]
" if(MESSAGE.locked) dat+="Comments locked
" @@ -231,7 +231,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(isemptylist(GLOB.news_network.network_channels)) dat+="No feed channels found active...
" else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
" dat+="
Cancel" if(11) @@ -242,7 +242,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(isemptylist(GLOB.news_network.network_channels)) dat+="No feed channels found active...
" else - for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/CHANNEL in GLOB.news_network.network_channels) dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
" dat+="
Back" if(12) @@ -251,11 +251,11 @@ GLOBAL_LIST_EMPTY(allCasters) if(isemptylist(viewing_channel.messages)) dat+="No feed messages found in channel...
" else - for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) + for(var/datum/news/feed_message/MESSAGE in viewing_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
\[Story by [MESSAGE.returnAuthor(-1)]\]
" dat+="[(MESSAGE.bodyCensor) ? ("Undo story censorship") : ("Censor story")] - [(MESSAGE.authorCensor) ? ("Undo Author Censorship") : ("Censor message Author")]
" dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Unlock" : "Lock"]
" - for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) + for(var/datum/news/feed_comment/comment in MESSAGE.comments) dat+="[comment.body] X
[comment.author] [comment.time_stamp]
" dat+="
Back" if(13) @@ -268,7 +268,7 @@ GLOBAL_LIST_EMPTY(allCasters) if(isemptylist(viewing_channel.messages)) dat+="No feed messages found in channel...
" else - for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) + for(var/datum/news/feed_message/MESSAGE in viewing_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
\[Story by [MESSAGE.returnAuthor(-1)]\]
" dat+="
Back" if(14) @@ -349,13 +349,13 @@ GLOBAL_LIST_EMPTY(allCasters) updateUsrDialog() else if(href_list["submit_new_channel"]) var/list/existing_authors = list() - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.authorCensor) existing_authors += GLOB.news_network.redactedText else existing_authors += FC.author var/check = 0 - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) if(FC.channel_name == channel_name) check = 1 break @@ -371,7 +371,7 @@ GLOBAL_LIST_EMPTY(allCasters) updateUsrDialog() else if(href_list["set_channel_receiving"]) var/list/available_channels = list() - for(var/datum/newscaster/feed_channel/F in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/F in GLOB.news_network.network_channels) if( (!F.locked || F.author == scanned_user) && !F.censored) available_channels += F.channel_name channel_name = input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels @@ -461,33 +461,33 @@ GLOBAL_LIST_EMPTY(allCasters) screen=18 updateUsrDialog() else if(href_list["censor_channel_author"]) - var/datum/newscaster/feed_channel/FC = locate(href_list["censor_channel_author"]) + var/datum/news/feed_channel/FC = locate(href_list["censor_channel_author"]) if(FC.is_admin_channel) alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") return FC.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_author"]) - var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_author"]) + var/datum/news/feed_message/MSG = locate(href_list["censor_channel_story_author"]) if(MSG.is_admin_message) alert("This message was created by a Nanotrasen Officer. You cannot censor its author.","Ok") return MSG.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_body"]) - var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_body"]) + var/datum/news/feed_message/MSG = locate(href_list["censor_channel_story_body"]) if(MSG.is_admin_message) alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") return MSG.toggleCensorBody() updateUsrDialog() else if(href_list["pick_d_notice"]) - var/datum/newscaster/feed_channel/FC = locate(href_list["pick_d_notice"]) + var/datum/news/feed_channel/FC = locate(href_list["pick_d_notice"]) viewing_channel = FC screen=13 updateUsrDialog() else if(href_list["toggle_d_notice"]) - var/datum/newscaster/feed_channel/FC = locate(href_list["toggle_d_notice"]) + var/datum/news/feed_channel/FC = locate(href_list["toggle_d_notice"]) if(FC.is_admin_channel) alert("This channel was created by a Nanotrasen Officer. You cannot place a D-Notice upon it.","Ok") return @@ -506,21 +506,21 @@ GLOBAL_LIST_EMPTY(allCasters) viewing_channel = null updateUsrDialog() else if(href_list["show_channel"]) - var/datum/newscaster/feed_channel/FC = locate(href_list["show_channel"]) + var/datum/news/feed_channel/FC = locate(href_list["show_channel"]) viewing_channel = FC screen = 9 updateUsrDialog() else if(href_list["pick_censor_channel"]) - var/datum/newscaster/feed_channel/FC = locate(href_list["pick_censor_channel"]) + var/datum/news/feed_channel/FC = locate(href_list["pick_censor_channel"]) viewing_channel = FC screen = 12 updateUsrDialog() else if(href_list["new_comment"]) - var/datum/newscaster/feed_message/FM = locate(href_list["new_comment"]) + var/datum/news/feed_message/FM = locate(href_list["new_comment"]) var/cominput = copytext_char(stripped_input(usr, "Write your message:", "New comment", null), 140) if(cominput) scan_user(usr) - var/datum/newscaster/feed_comment/FC = new/datum/newscaster/feed_comment + var/datum/news/feed_comment/FC = new/datum/news/feed_comment FC.author = scanned_user FC.body = cominput FC.time_stamp = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) @@ -528,14 +528,14 @@ GLOBAL_LIST_EMPTY(allCasters) usr.log_message("(as [scanned_user]) commented on message [FM.returnBody(-1)] -- [FC.body]", LOG_COMMENT) updateUsrDialog() else if(href_list["del_comment"]) - var/datum/newscaster/feed_comment/FC = locate(href_list["del_comment"]) - var/datum/newscaster/feed_message/FM = locate(href_list["del_comment_msg"]) + var/datum/news/feed_comment/FC = locate(href_list["del_comment"]) + var/datum/news/feed_message/FM = locate(href_list["del_comment_msg"]) if(istype(FC) && istype(FM)) FM.comments -= FC qdel(FC) updateUsrDialog() else if(href_list["lock_comment"]) - var/datum/newscaster/feed_message/FM = locate(href_list["lock_comment"]) + var/datum/news/feed_message/FM = locate(href_list["lock_comment"]) FM.locked ^= 1 updateUsrDialog() else if(href_list["set_comment"]) @@ -660,7 +660,7 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/machinery/newscaster/proc/print_paper() SSblackbox.record_feedback("amount", "newspapers_printed", 1) var/obj/item/newspaper/NEWSPAPER = new /obj/item/newspaper - for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels) + for(var/datum/news/feed_channel/FC in GLOB.news_network.network_channels) NEWSPAPER.news_content += FC if(GLOB.news_network.wanted_issue.active) NEWSPAPER.wantedAuthor = GLOB.news_network.wanted_issue.scannedUser @@ -701,7 +701,7 @@ GLOBAL_LIST_EMPTY(allCasters) var/screen = 0 var/pages = 0 var/curr_page = 0 - var/list/datum/newscaster/feed_channel/news_content = list() + var/list/datum/news/feed_channel/news_content = list() var/scribble="" var/scribble_page = null var/wantedAuthor @@ -737,12 +737,12 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="Other than the title, the rest of the newspaper is unprinted..." else dat+="Contents:
    " - for(var/datum/newscaster/feed_channel/NP in news_content) + for(var/datum/news/feed_channel/NP in news_content) pages++ if(wantedAuthor) dat+="**Important Security Announcement** \[page [pages+2]\]
    " var/temp_page=0 - for(var/datum/newscaster/feed_channel/NP in news_content) + for(var/datum/news/feed_channel/NP in news_content) temp_page++ dat+="[NP.channel_name] \[page [temp_page+1]\]
    " dat+="
" @@ -750,9 +750,9 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" dat+= "
" if(1) // X channel pages inbetween. - for(var/datum/newscaster/feed_channel/NP in news_content) + for(var/datum/news/feed_channel/NP in news_content) pages++ - var/datum/newscaster/feed_channel/C = news_content[curr_page] + var/datum/news/feed_channel/C = news_content[curr_page] dat += "[C.channel_name] \[created by: [C.returnAuthor(notContent(C.authorCensorTime))]\]

" if(notContent(C.DclassCensorTime)) dat+="This channel was deemed dangerous to the general welfare of the station and therefore marked with a D-Notice. Its contents were not transferred to the newspaper at the time of printing." @@ -761,7 +761,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="No Feed stories stem from this channel..." else var/i = 0 - for(var/datum/newscaster/feed_message/MESSAGE in C.messages) + for(var/datum/news/feed_message/MESSAGE in C.messages) if(MESSAGE.creationTime > creationTime) if(i == 0) dat+="No Feed stories stem from this channel..." @@ -779,7 +779,7 @@ GLOBAL_LIST_EMPTY(allCasters) dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" dat+= "

" if(2) //Last page - for(var/datum/newscaster/feed_channel/NP in news_content) + for(var/datum/news/feed_channel/NP in news_content) pages++ if(wantedAuthor!=null) dat+="
Wanted Issue:


" diff --git a/code/modules/newscaster/wanted_message.dm b/code/modules/newscaster/wanted_message.dm index de67bbeaf5..58eb234f02 100644 --- a/code/modules/newscaster/wanted_message.dm +++ b/code/modules/newscaster/wanted_message.dm @@ -1,4 +1,4 @@ -/datum/newscaster/wanted_message +/datum/news/wanted_message var/active var/criminal var/body From 7921013f560053c11fde274c9e284fb2772e7693 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:24:55 -0700 Subject: [PATCH 077/392] news reading --- code/modules/newscaster/_news.dm | 2 + code/modules/newscaster/feed_channel.dm | 1 - code/modules/newscaster/feed_comment.dm | 1 - code/modules/newscaster/feed_message.dm | 1 - code/modules/newscaster/ghostread.dm | 49 +++++ code/modules/newscaster/news_datum.dm | 1 - .../{feed_network.dm => news_network.dm} | 0 .../{newscaster.dm => newscaster_machine.dm} | 176 ------------------ code/modules/newscaster/newspaper.dm | 173 +++++++++++++++++ tgstation.dme | 10 +- 10 files changed, 233 insertions(+), 181 deletions(-) create mode 100644 code/modules/newscaster/_news.dm create mode 100644 code/modules/newscaster/ghostread.dm delete mode 100644 code/modules/newscaster/news_datum.dm rename code/modules/newscaster/{feed_network.dm => news_network.dm} (100%) rename code/modules/newscaster/{newscaster.dm => newscaster_machine.dm} (81%) create mode 100644 code/modules/newscaster/newspaper.dm diff --git a/code/modules/newscaster/_news.dm b/code/modules/newscaster/_news.dm new file mode 100644 index 0000000000..6c6f10fdcc --- /dev/null +++ b/code/modules/newscaster/_news.dm @@ -0,0 +1,2 @@ +/datum/news + var/author = "" diff --git a/code/modules/newscaster/feed_channel.dm b/code/modules/newscaster/feed_channel.dm index 8bd639b3dc..278c9c7ad1 100644 --- a/code/modules/newscaster/feed_channel.dm +++ b/code/modules/newscaster/feed_channel.dm @@ -2,7 +2,6 @@ var/channel_name = "" var/list/datum/news/feed_message/messages = list() var/locked = FALSE - var/author = "" var/censored = 0 var/list/authorCensorTime = list() var/list/DclassCensorTime = list() diff --git a/code/modules/newscaster/feed_comment.dm b/code/modules/newscaster/feed_comment.dm index 9eba2d73dc..ff5ebac028 100644 --- a/code/modules/newscaster/feed_comment.dm +++ b/code/modules/newscaster/feed_comment.dm @@ -1,4 +1,3 @@ /datum/news/feed_comment - var/author = "" var/body = "" var/time_stamp = "" diff --git a/code/modules/newscaster/feed_message.dm b/code/modules/newscaster/feed_message.dm index f9c3da554e..573b3f772d 100644 --- a/code/modules/newscaster/feed_message.dm +++ b/code/modules/newscaster/feed_message.dm @@ -1,5 +1,4 @@ /datum/news/feed_message - var/author ="" var/body ="" var/list/authorCensorTime = list() var/list/bodyCensorTime = list() diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm new file mode 100644 index 0000000000..5cf36e1164 --- /dev/null +++ b/code/modules/newscaster/ghostread.dm @@ -0,0 +1,49 @@ +/mob/dead/observer/verb/read_news() + var/datum/browser/popup = new(user, "ghost_news_list", 450, 600) + popup.set_content(render_news_channel_list()) + popup.open() + +/mob/dead/observer/Topic(href, href_list) + . = ..() + if(href_list["show_news_channel"]) + var/datum/D = locate(href_list["show_news_channel"]) + if(istype(D, /datum/news/feed_channel)) //safety + render_news_channel(D) + +/mob/dead/observer/proc/render_news_channel_list() + var/datum/news_network = GLOB.news_network() + var/list/content = list() + for(var/i in news_network.network_channels) + var/datum/news/feed_channel/FC = i + content += "[FC.name] ([length(FC.messages)] messages)[FC.locked? " (LOCKED)":""][FC.censored? " (CENSORED)":""][FC.is_admin_channel? " (ADMIN)":""]" + return content.Join("
") + +/mob/dead/observer/proc/render_news_channel(datum/news/feed_channel/FC) + var/list/content = list() + content += "[viewing_channel.channel_name]: \[created by: [viewing_channel.returnAuthor(-1)]\]
" + if(FC.censored) + content += "ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
" + content += "No further feed story additions are allowed while the D-Notice is in effect.


" + if(!length(FC.messages)) + content += "This channel is empty.
" + for(var/i in FC.messages) + var/datum/feed_message/FM = i + content += " + content += "-[FM.returnBody(-1)]
" + if(FM.img) + src << browse_rsc(FM.img, "tmp_photo[i].png") + content += "
" + if(FC.caption) + content += "[FM.caption]
" + content += "
" + content += "\[Story by [FM.returnAuthor(-1)] \] - ([FM.time_stamp])
" + content += "[FM.comments.len] comment[FM.comments.len > 1 ? "s" : ""]
" + for(var/i in FM.comments) + var/datum/news/feed_comment/FC = i + content += "[FC.body]
[FC.author] [FC.time_stamp]
" + if(FM.locked) + content += "Comments locked
" + var/datum/browser/popup = new(src, "ghost_news_channel", 450, 900) + popup.set_content(content.Join("")) + popup.open() + diff --git a/code/modules/newscaster/news_datum.dm b/code/modules/newscaster/news_datum.dm deleted file mode 100644 index 5fcf3b4551..0000000000 --- a/code/modules/newscaster/news_datum.dm +++ /dev/null @@ -1 +0,0 @@ -/datum/news diff --git a/code/modules/newscaster/feed_network.dm b/code/modules/newscaster/news_network.dm similarity index 100% rename from code/modules/newscaster/feed_network.dm rename to code/modules/newscaster/news_network.dm diff --git a/code/modules/newscaster/newscaster.dm b/code/modules/newscaster/newscaster_machine.dm similarity index 81% rename from code/modules/newscaster/newscaster.dm rename to code/modules/newscaster/newscaster_machine.dm index 88379efcf8..6328087491 100644 --- a/code/modules/newscaster/newscaster.dm +++ b/code/modules/newscaster/newscaster_machine.dm @@ -672,7 +672,6 @@ GLOBAL_LIST_EMPTY(allCasters) NEWSPAPER.creationTime = GLOB.news_network.lastAction paper_remaining-- - /obj/machinery/newscaster/proc/remove_alert() alert = FALSE update_icon() @@ -687,178 +686,3 @@ GLOBAL_LIST_EMPTY(allCasters) else say("Attention! Wanted issue distributed!") playsound(loc, 'sound/machines/warning-buzzer.ogg', 75, 1) - - -/obj/item/newspaper - name = "newspaper" - desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "newspaper" - lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - w_class = WEIGHT_CLASS_SMALL - attack_verb = list("bapped") - var/screen = 0 - var/pages = 0 - var/curr_page = 0 - var/list/datum/news/feed_channel/news_content = list() - var/scribble="" - var/scribble_page = null - var/wantedAuthor - var/wantedCriminal - var/wantedBody - var/wantedPhoto - var/creationTime - -/obj/item/newspaper/suicide_act(mob/user) - user.visible_message("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until [user.p_their()] eyes light up with realization!") - user.say(";JOURNALISM IS MY CALLING! EVERYBODY APPRECIATES UNBIASED REPORTI-GLORF", forced="newspaper suicide") - var/mob/living/carbon/human/H = user - var/obj/W = new /obj/item/reagent_containers/food/drinks/bottle/whiskey(H.loc) - playsound(H.loc, 'sound/items/drink.ogg', rand(10,50), 1) - W.reagents.trans_to(H, W.reagents.total_volume) - user.visible_message("[user] downs the contents of [W.name] in one gulp! Shoulda stuck to sudoku!") - - return(TOXLOSS) - -/obj/item/newspaper/attack_self(mob/user) - if(ishuman(user)) - var/mob/living/carbon/human/human_user = user - var/dat - pages = 0 - switch(screen) - if(0) //Cover - dat+="
The Griffon
" - dat+="
Nanotrasen-standard newspaper, for use on Nanotrasen? Space Facilities

" - if(isemptylist(news_content)) - if(wantedAuthor) - dat+="Contents:
    **Important Security Announcement** \[page [pages+2]\]
" - else - dat+="Other than the title, the rest of the newspaper is unprinted..." - else - dat+="Contents:
    " - for(var/datum/news/feed_channel/NP in news_content) - pages++ - if(wantedAuthor) - dat+="**Important Security Announcement** \[page [pages+2]\]
    " - var/temp_page=0 - for(var/datum/news/feed_channel/NP in news_content) - temp_page++ - dat+="[NP.channel_name] \[page [temp_page+1]\]
    " - dat+="
" - if(scribble_page==curr_page) - dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
" - if(1) // X channel pages inbetween. - for(var/datum/news/feed_channel/NP in news_content) - pages++ - var/datum/news/feed_channel/C = news_content[curr_page] - dat += "[C.channel_name] \[created by: [C.returnAuthor(notContent(C.authorCensorTime))]\]

" - if(notContent(C.DclassCensorTime)) - dat+="This channel was deemed dangerous to the general welfare of the station and therefore marked with a D-Notice. Its contents were not transferred to the newspaper at the time of printing." - else - if(isemptylist(C.messages)) - dat+="No Feed stories stem from this channel..." - else - var/i = 0 - for(var/datum/news/feed_message/MESSAGE in C.messages) - if(MESSAGE.creationTime > creationTime) - if(i == 0) - dat+="No Feed stories stem from this channel..." - break - if(i == 0) - dat+="
    " - i++ - dat+="-[MESSAGE.returnBody(notContent(MESSAGE.bodyCensorTime))]
    " - if(MESSAGE.img) - user << browse_rsc(MESSAGE.img, "tmp_photo[i].png") - dat+="
    " - dat+="\[Story by [MESSAGE.returnAuthor(notContent(MESSAGE.authorCensorTime))]\]

    " - dat+="
" - if(scribble_page==curr_page) - dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "

" - if(2) //Last page - for(var/datum/news/feed_channel/NP in news_content) - pages++ - if(wantedAuthor!=null) - dat+="
Wanted Issue:


" - dat+="Criminal name: [wantedCriminal]
" - dat+="Description: [wantedBody]
" - dat+="Photo:: " - if(wantedPhoto) - user << browse_rsc(wantedPhoto, "tmp_photow.png") - dat+="
" - else - dat+="None" - else - dat+="Apart from some uninteresting classified ads, there's nothing on this page..." - if(scribble_page==curr_page) - dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
" - dat+="

[curr_page+1]
" - human_user << browse(dat, "window=newspaper_main;size=300x400") - onclose(human_user, "newspaper_main") - else - to_chat(user, "The paper is full of unintelligible symbols!") - -/obj/item/newspaper/proc/notContent(list/L) - if(!L.len) - return 0 - for(var/i=L.len;i>0;i--) - var/num = abs(L[i]) - if(creationTime <= num) - continue - else - if(L[i] > 0) - return 1 - else - return 0 - return 0 - -/obj/item/newspaper/Topic(href, href_list) - var/mob/living/U = usr - ..() - if((src in U.contents) || (isturf(loc) && in_range(src, U))) - U.set_machine(src) - if(href_list["next_page"]) - if(curr_page == pages+1) - return //Don't need that at all, but anyway. - if(curr_page == pages) //We're at the middle, get to the end - screen = 2 - else - if(curr_page == 0) //We're at the start, get to the middle - screen=1 - curr_page++ - playsound(loc, "pageturn", 50, 1) - else if(href_list["prev_page"]) - if(curr_page == 0) - return - if(curr_page == 1) - screen = 0 - else - if(curr_page == pages+1) //we're at the end, let's go back to the middle. - screen = 1 - curr_page-- - playsound(loc, "pageturn", 50, 1) - if(ismob(loc)) - attack_self(loc) - -/obj/item/newspaper/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/pen)) - if(!user.is_literate()) - to_chat(user, "You scribble illegibly on [src]!") - return - if(scribble_page == curr_page) - to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") - else - var/s = stripped_input(user, "Write something", "Newspaper") - if (!s) - return - if(!user.canUseTopic(src, BE_CLOSE)) - return - scribble_page = curr_page - scribble = s - attack_self(user) - else - return ..() diff --git a/code/modules/newscaster/newspaper.dm b/code/modules/newscaster/newspaper.dm new file mode 100644 index 0000000000..0afb36a7e7 --- /dev/null +++ b/code/modules/newscaster/newspaper.dm @@ -0,0 +1,173 @@ +/obj/item/newspaper + name = "newspaper" + desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "newspaper" + lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("bapped") + var/screen = 0 + var/pages = 0 + var/curr_page = 0 + var/list/datum/news/feed_channel/news_content = list() + var/scribble="" + var/scribble_page = null + var/wantedAuthor + var/wantedCriminal + var/wantedBody + var/wantedPhoto + var/creationTime + +/obj/item/newspaper/suicide_act(mob/user) + user.visible_message("[user] is focusing intently on [src]! It looks like [user.p_theyre()] trying to commit sudoku... until [user.p_their()] eyes light up with realization!") + user.say(";JOURNALISM IS MY CALLING! EVERYBODY APPRECIATES UNBIASED REPORTI-GLORF", forced="newspaper suicide") + var/mob/living/carbon/human/H = user + var/obj/W = new /obj/item/reagent_containers/food/drinks/bottle/whiskey(H.loc) + playsound(H.loc, 'sound/items/drink.ogg', rand(10,50), 1) + W.reagents.trans_to(H, W.reagents.total_volume) + user.visible_message("[user] downs the contents of [W.name] in one gulp! Shoulda stuck to sudoku!") + + return(TOXLOSS) + +/obj/item/newspaper/attack_self(mob/user) + if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + var/dat + pages = 0 + switch(screen) + if(0) //Cover + dat+="
The Griffon
" + dat+="
Nanotrasen-standard newspaper, for use on Nanotrasen? Space Facilities

" + if(isemptylist(news_content)) + if(wantedAuthor) + dat+="Contents:
    **Important Security Announcement** \[page [pages+2]\]
" + else + dat+="Other than the title, the rest of the newspaper is unprinted..." + else + dat+="Contents:
    " + for(var/datum/news/feed_channel/NP in news_content) + pages++ + if(wantedAuthor) + dat+="**Important Security Announcement** \[page [pages+2]\]
    " + var/temp_page=0 + for(var/datum/news/feed_channel/NP in news_content) + temp_page++ + dat+="[NP.channel_name] \[page [temp_page+1]\]
    " + dat+="
" + if(scribble_page==curr_page) + dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" + dat+= "
" + if(1) // X channel pages inbetween. + for(var/datum/news/feed_channel/NP in news_content) + pages++ + var/datum/news/feed_channel/C = news_content[curr_page] + dat += "[C.channel_name] \[created by: [C.returnAuthor(notContent(C.authorCensorTime))]\]

" + if(notContent(C.DclassCensorTime)) + dat+="This channel was deemed dangerous to the general welfare of the station and therefore marked with a D-Notice. Its contents were not transferred to the newspaper at the time of printing." + else + if(isemptylist(C.messages)) + dat+="No Feed stories stem from this channel..." + else + var/i = 0 + for(var/datum/news/feed_message/MESSAGE in C.messages) + if(MESSAGE.creationTime > creationTime) + if(i == 0) + dat+="No Feed stories stem from this channel..." + break + if(i == 0) + dat+="
    " + i++ + dat+="-[MESSAGE.returnBody(notContent(MESSAGE.bodyCensorTime))]
    " + if(MESSAGE.img) + user << browse_rsc(MESSAGE.img, "tmp_photo[i].png") + dat+="
    " + dat+="\[Story by [MESSAGE.returnAuthor(notContent(MESSAGE.authorCensorTime))]\]

    " + dat+="
" + if(scribble_page==curr_page) + dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" + dat+= "

" + if(2) //Last page + for(var/datum/news/feed_channel/NP in news_content) + pages++ + if(wantedAuthor!=null) + dat+="
Wanted Issue:


" + dat+="Criminal name: [wantedCriminal]
" + dat+="Description: [wantedBody]
" + dat+="Photo:: " + if(wantedPhoto) + user << browse_rsc(wantedPhoto, "tmp_photow.png") + dat+="
" + else + dat+="None" + else + dat+="Apart from some uninteresting classified ads, there's nothing on this page..." + if(scribble_page==curr_page) + dat+="
There is a small scribble near the end of this page... It reads: \"[scribble]\"" + dat+= "
" + dat+="

[curr_page+1]
" + human_user << browse(dat, "window=newspaper_main;size=300x400") + onclose(human_user, "newspaper_main") + else + to_chat(user, "The paper is full of unintelligible symbols!") + +/obj/item/newspaper/proc/notContent(list/L) + if(!L.len) + return 0 + for(var/i=L.len;i>0;i--) + var/num = abs(L[i]) + if(creationTime <= num) + continue + else + if(L[i] > 0) + return 1 + else + return 0 + return 0 + +/obj/item/newspaper/Topic(href, href_list) + var/mob/living/U = usr + ..() + if((src in U.contents) || (isturf(loc) && in_range(src, U))) + U.set_machine(src) + if(href_list["next_page"]) + if(curr_page == pages+1) + return //Don't need that at all, but anyway. + if(curr_page == pages) //We're at the middle, get to the end + screen = 2 + else + if(curr_page == 0) //We're at the start, get to the middle + screen=1 + curr_page++ + playsound(loc, "pageturn", 50, 1) + else if(href_list["prev_page"]) + if(curr_page == 0) + return + if(curr_page == 1) + screen = 0 + else + if(curr_page == pages+1) //we're at the end, let's go back to the middle. + screen = 1 + curr_page-- + playsound(loc, "pageturn", 50, 1) + if(ismob(loc)) + attack_self(loc) + +/obj/item/newspaper/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/pen)) + if(!user.is_literate()) + to_chat(user, "You scribble illegibly on [src]!") + return + if(scribble_page == curr_page) + to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") + else + var/s = stripped_input(user, "Write something", "Newspaper") + if (!s) + return + if(!user.canUseTopic(src, BE_CLOSE)) + return + scribble_page = curr_page + scribble = s + attack_self(user) + else + return ..() diff --git a/tgstation.dme b/tgstation.dme index 8c578e70f0..caf364d42f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -663,7 +663,6 @@ #include "code\game\machinery\magnet.dm" #include "code\game\machinery\mass_driver.dm" #include "code\game\machinery\navbeacon.dm" -#include "code\game\machinery\newscaster.dm" #include "code\game\machinery\PDApainter.dm" #include "code\game\machinery\quantum_pad.dm" #include "code\game\machinery\recharger.dm" @@ -2461,6 +2460,15 @@ #include "code\modules\modular_computers\hardware\printer.dm" #include "code\modules\modular_computers\hardware\recharger.dm" #include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" +#include "code\modules\newscaster\_news.dm" +#include "code\modules\newscaster\feed_channel.dm" +#include "code\modules\newscaster\feed_comment.dm" +#include "code\modules\newscaster\feed_message.dm" +#include "code\modules\newscaster\ghostread.dm" +#include "code\modules\newscaster\news_network.dm" +#include "code\modules\newscaster\newscaster_machine.dm" +#include "code\modules\newscaster\newspaper.dm" +#include "code\modules\newscaster\wanted_message.dm" #include "code\modules\ninja\__ninjaDefines.dm" #include "code\modules\ninja\energy_katana.dm" #include "code\modules\ninja\ninja_event.dm" From 6eae30cb660efd18341ea659878f9c20a23c87bf Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:25:27 -0700 Subject: [PATCH 078/392] whoops --- code/modules/newscaster/ghostread.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm index 5cf36e1164..d62bf1bb4e 100644 --- a/code/modules/newscaster/ghostread.dm +++ b/code/modules/newscaster/ghostread.dm @@ -28,7 +28,6 @@ content += "This channel is empty.
" for(var/i in FC.messages) var/datum/feed_message/FM = i - content += " content += "-[FM.returnBody(-1)]
" if(FM.img) src << browse_rsc(FM.img, "tmp_photo[i].png") From 3019f0d0fcde50863ccce8a6446ee58ad5a83574 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:29:36 -0700 Subject: [PATCH 079/392] path --- code/modules/newscaster/ghostread.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm index d62bf1bb4e..4a7dbf9f22 100644 --- a/code/modules/newscaster/ghostread.dm +++ b/code/modules/newscaster/ghostread.dm @@ -1,4 +1,8 @@ /mob/dead/observer/verb/read_news() + set name = "Read Newscaster" + set desc = "Open a list of available news channels" + set category = "Ghost" + var/datum/browser/popup = new(user, "ghost_news_list", 450, 600) popup.set_content(render_news_channel_list()) popup.open() @@ -11,7 +15,7 @@ render_news_channel(D) /mob/dead/observer/proc/render_news_channel_list() - var/datum/news_network = GLOB.news_network() + var/datum/news_network = GLOB.news_network var/list/content = list() for(var/i in news_network.network_channels) var/datum/news/feed_channel/FC = i @@ -27,7 +31,7 @@ if(!length(FC.messages)) content += "This channel is empty.
" for(var/i in FC.messages) - var/datum/feed_message/FM = i + var/datum/news/feed_message/FM = i content += "-[FM.returnBody(-1)]
" if(FM.img) src << browse_rsc(FM.img, "tmp_photo[i].png") From db4a0ebb3f819a6fe029a540304b594a76dbae27 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:32:19 -0700 Subject: [PATCH 080/392] pathing --- code/modules/newscaster/ghostread.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm index 4a7dbf9f22..42b2033080 100644 --- a/code/modules/newscaster/ghostread.dm +++ b/code/modules/newscaster/ghostread.dm @@ -3,7 +3,7 @@ set desc = "Open a list of available news channels" set category = "Ghost" - var/datum/browser/popup = new(user, "ghost_news_list", 450, 600) + var/datum/browser/popup = new(user, "ghost_news_list", "Chanenl List", 450, 600) popup.set_content(render_news_channel_list()) popup.open() @@ -19,12 +19,12 @@ var/list/content = list() for(var/i in news_network.network_channels) var/datum/news/feed_channel/FC = i - content += "[FC.name] ([length(FC.messages)] messages)[FC.locked? " (LOCKED)":""][FC.censored? " (CENSORED)":""][FC.is_admin_channel? " (ADMIN)":""]" + content += "[FC.channel_name] ([length(FC.messages)] messages)[FC.locked? " (LOCKED)":""][FC.censored? " (CENSORED)":""][FC.is_admin_channel? " (ADMIN)":""]" return content.Join("
") /mob/dead/observer/proc/render_news_channel(datum/news/feed_channel/FC) var/list/content = list() - content += "[viewing_channel.channel_name]: \[created by: [viewing_channel.returnAuthor(-1)]\]
" + content += "[FC.channel_name]: \[created by: [FC.returnAuthor(-1)]\]
" if(FC.censored) content += "ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
" content += "No further feed story additions are allowed while the D-Notice is in effect.

" @@ -42,11 +42,10 @@ content += "\[Story by [FM.returnAuthor(-1)] \] - ([FM.time_stamp])
" content += "[FM.comments.len] comment[FM.comments.len > 1 ? "s" : ""]
" for(var/i in FM.comments) - var/datum/news/feed_comment/FC = i - content += "[FC.body]
[FC.author] [FC.time_stamp]
" + var/datum/news/feed_comment/comment = i + content += "[comment.body]
[comment.author] [comment.time_stamp]
" if(FM.locked) content += "Comments locked
" var/datum/browser/popup = new(src, "ghost_news_channel", 450, 900) popup.set_content(content.Join("")) popup.open() - From 842a5cccf38fb742e2ddc96e5f945d53ba4a0a73 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:34:24 -0700 Subject: [PATCH 081/392] varnames --- code/modules/newscaster/ghostread.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm index 42b2033080..c9a44b8f58 100644 --- a/code/modules/newscaster/ghostread.dm +++ b/code/modules/newscaster/ghostread.dm @@ -3,9 +3,9 @@ set desc = "Open a list of available news channels" set category = "Ghost" - var/datum/browser/popup = new(user, "ghost_news_list", "Chanenl List", 450, 600) - popup.set_content(render_news_channel_list()) - popup.open() + var/datum/browser/B = new(src, "ghost_news_list", "Chanenl List", 450, 600) + B.set_content(render_news_channel_list()) + B.open() /mob/dead/observer/Topic(href, href_list) . = ..() @@ -15,7 +15,7 @@ render_news_channel(D) /mob/dead/observer/proc/render_news_channel_list() - var/datum/news_network = GLOB.news_network + var/datum/news_network/news_network = GLOB.news_network var/list/content = list() for(var/i in news_network.network_channels) var/datum/news/feed_channel/FC = i @@ -29,7 +29,8 @@ content += "ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
" content += "No further feed story additions are allowed while the D-Notice is in effect.

" if(!length(FC.messages)) - content += "This channel is empty.
" + content += "This channel is empty.
" + else for(var/i in FC.messages) var/datum/news/feed_message/FM = i content += "-[FM.returnBody(-1)]
" @@ -41,8 +42,8 @@ content += "
" content += "\[Story by [FM.returnAuthor(-1)] \] - ([FM.time_stamp])
" content += "[FM.comments.len] comment[FM.comments.len > 1 ? "s" : ""]
" - for(var/i in FM.comments) - var/datum/news/feed_comment/comment = i + for(var/c in FM.comments) + var/datum/news/feed_comment/comment = c content += "[comment.body]
[comment.author] [comment.time_stamp]
" if(FM.locked) content += "Comments locked
" From 3cd35787617485f86e2944bdf0ecee563896badb Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Feb 2020 00:44:28 -0700 Subject: [PATCH 082/392] wrong var --- code/modules/newscaster/ghostread.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/newscaster/ghostread.dm b/code/modules/newscaster/ghostread.dm index c9a44b8f58..77cb1a03c8 100644 --- a/code/modules/newscaster/ghostread.dm +++ b/code/modules/newscaster/ghostread.dm @@ -37,7 +37,7 @@ if(FM.img) src << browse_rsc(FM.img, "tmp_photo[i].png") content += "
" - if(FC.caption) + if(FM.caption) content += "[FM.caption]
" content += "
" content += "\[Story by [FM.returnAuthor(-1)] \] - ([FM.time_stamp])
" From 0703c6eea62559c983c1d3c963b593f472440760 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 6 Feb 2020 22:34:54 +0100 Subject: [PATCH 083/392] First tweak to cargo reagents selling. --- code/__DEFINES/reagents.dm | 5 +++++ code/game/objects/effects/decals/cleanable.dm | 2 +- code/game/objects/effects/effect_system/effects_foam.dm | 2 +- code/game/objects/effects/effect_system/effects_smoke.dm | 2 +- code/game/objects/items/airlock_painter.dm | 2 +- code/game/objects/items/cigs_lighters.dm | 4 ++-- code/game/objects/items/crayons.dm | 4 ++-- code/game/objects/items/mop.dm | 2 +- code/modules/cargo/exports.dm | 4 ++-- code/modules/food_and_drinks/drinks/drinks.dm | 1 + code/modules/food_and_drinks/food.dm | 1 + code/modules/food_and_drinks/food/snacks.dm | 4 ++-- code/modules/hydroponics/grown.dm | 1 + code/modules/hydroponics/growninedible.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../mob/living/simple_animal/friendly/farm_animals.dm | 2 +- code/modules/mob/living/simple_animal/slime/slime.dm | 2 +- .../projectiles/projectile/bullets/dart_syringe.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 8 +++++--- code/modules/reagents/reagent_containers.dm | 5 +++-- code/modules/reagents/reagent_containers/borghydro.dm | 1 + code/modules/reagents/reagent_containers/dropper.dm | 2 +- code/modules/reagents/reagent_containers/rags.dm | 1 + code/modules/reagents/reagent_containers/spray.dm | 2 +- code/modules/shuttle/supply.dm | 2 +- modular_citadel/code/modules/arousal/genitals.dm | 4 ++-- 26 files changed, 41 insertions(+), 28 deletions(-) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index d08344cc96..97ae7b8e95 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -22,6 +22,11 @@ // Is an open container for all intents and purposes. #define OPENCONTAINER (REFILLABLE | DRAINABLE | TRANSPARENT) +//reagents_value defines, for cargo stuff. +#define DEFAULT_REAGENTS_VALUE 1 +#define NO_REAGENTS_VALUE 0 +#define HARVEST_REAGENTS_VALUE 0.3 + #define TOUCH 1 // splashing #define INGEST 2 // ingestion diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 30e7c8be05..5720d5ce34 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -11,7 +11,7 @@ LAZYINITLIST(blood_DNA) //Kinda needed if (random_icon_states && (icon_state == initial(icon_state)) && length(random_icon_states) > 0) icon_state = pick(random_icon_states) - create_reagents(300) + create_reagents(300, NONE, NO_REAGENTS_VALUE) if(loc && isturf(loc)) for(var/obj/effect/decal/cleanable/C in loc) if(C != src && C.type == type && !QDELETED(C)) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 38a1a6089e..f98b4937ef 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -94,7 +94,7 @@ /obj/effect/particle_effect/foam/Initialize() . = ..() MakeSlippery() - create_reagents(1000) //limited by the size of the reagent holder anyway. + create_reagents(1000, NONE, NO_REAGENTS_VALUE) //limited by the size of the reagent holder anyway. START_PROCESSING(SSfastprocess, src) playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3) diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 40452f68e2..80c0db2b7d 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -32,7 +32,7 @@ /obj/effect/particle_effect/smoke/Initialize() . = ..() - create_reagents(500) + create_reagents(500, NONE, NO_REAGENTS_VALUE) START_PROCESSING(SSobj, src) diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index e63474dd6f..b7c76cad2d 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -67,7 +67,7 @@ L.Remove() // make some colorful reagent, and apply it to the lungs - L.create_reagents(10) + L.create_reagents(10, NONE, NO_REAGENTS_VALUE) L.reagents.add_reagent(/datum/reagent/colorful_reagent, 10) L.reagents.reaction(L, TOUCH, 1) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 1186ea8001..cd163e90a4 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -122,7 +122,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/cigarette/Initialize() . = ..() - create_reagents(chem_volume, INJECTABLE | NO_REACT) // so it doesn't react until you light it + create_reagents(chem_volume, INJECTABLE | NO_REACT, NO_REAGENTS_VALUE) // so it doesn't react until you light it if(list_reagents) reagents.add_reagent_list(list_reagents) if(starts_lit) @@ -717,7 +717,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/vape/Initialize(mapload, param_color) . = ..() - create_reagents(chem_volume, NO_REACT) // so it doesn't react until you light it + create_reagents(chem_volume, NO_REACT, NO_REAGENTS_VALUE) // so it doesn't react until you light it reagents.add_reagent(/datum/reagent/drug/nicotine, 50) if(!icon_state) if(!param_color) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 81c5083ef7..2e80325d9f 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -96,7 +96,7 @@ charges_left = charges if(!reagents) - create_reagents(charges_left * volume_multiplier) + create_reagents(charges_left * volume_multiplier, NONE, NO_REAGENTS_VALUE) reagents.clear_reagents() var/total_weight = 0 @@ -619,7 +619,7 @@ is_capped = TRUE self_contained = FALSE // Don't disappear when they're empty can_change_colour = TRUE - + reagent_contents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol = 1) pre_noise = TRUE diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index a8b28f2544..233eabd4ca 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -21,7 +21,7 @@ /obj/item/mop/New() ..() - create_reagents(mopcap) + create_reagents(mopcap, NONE, NO_REAGENTS_VALUE) /obj/item/mop/proc/clean(turf/A) diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index fca10ac01c..bb90fa717a 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -49,13 +49,13 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they sold = E.sell_object(thing, report, dry_run, allowed_categories , apply_elastic) report.exported_atoms += " [thing.name]" break - if(thing.reagents) + if(thing.reagents?.value_multiplier) for(var/A in thing.reagents.reagent_list) var/datum/reagent/R = A if(!R.value) continue report.reagents_volume[R.name] += R.volume - report.reagents_value[R.name] += R.volume * R.value + report.reagents_value[R.name] += round(R.volume * R.value * thing.reagents.value_multiplier) if(!dry_run && (sold || delete_unsold)) if(ismob(thing)) thing.investigate_log("deleted through cargo export",INVESTIGATE_CARGO) diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index cd5c9d850b..7ac815dbab 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -9,6 +9,7 @@ lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' reagent_flags = OPENCONTAINER + reagent_value = DEFAULT_REAGENTS_VALUE var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. possible_transfer_amounts = list(5,10,15,20,25,30,50) volume = 50 diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 6d3f007fd9..2af24080cb 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -12,6 +12,7 @@ possible_transfer_amounts = list() volume = 50 //Sets the default container amount for all food items. reagent_flags = INJECTABLE + reagent_value = NO_REAGENTS_VALUE resistance_flags = FLAMMABLE var/foodtype = NONE var/last_check_time diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index c068c1aa40..796648bf73 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -245,7 +245,7 @@ All foods are distributed among various categories. Use common sense. return TRUE /obj/item/reagent_containers/food/snacks/proc/initialize_slice(obj/item/reagent_containers/food/snacks/slice, reagents_per_slice) - slice.create_reagents(slice.volume) + slice.create_reagents(slice.volume, reagent_flags, reagent_value) reagents.trans_to(slice,reagents_per_slice) if(name != initial(name)) slice.name = "slice of [name]" @@ -279,7 +279,7 @@ All foods are distributed among various categories. Use common sense. // initialize_cooked_food() is called when microwaving the food /obj/item/reagent_containers/food/snacks/proc/initialize_cooked_food(obj/item/reagent_containers/food/snacks/S, cooking_efficiency = 1) - S.create_reagents(S.volume) + S.create_reagents(S.volume, reagent_flags, reagent_value) if(reagents) reagents.trans_to(S, reagents.total_volume) if(S.bonus_reagents && S.bonus_reagents.len) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index f99cfde92d..65d942ca2b 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -15,6 +15,7 @@ // Saves us from having to define each stupid grown's dried_type as itself. // If you don't want a plant to be driable (watermelons) set this to null in the time definition. resistance_flags = FLAMMABLE + reagent_value = HARVEST_REAGENTS_VALUE var/dry_grind = FALSE //If TRUE, this object needs to be dry to be ground up var/can_distill = TRUE //If FALSE, this object cannot be distilled into an alcohol. var/distill_reagent //If NULL and this object can be distilled, it uses a generic fruit_wine reagent and adjusts its variables. diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index ef925e3965..f4859ffb1e 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -11,7 +11,7 @@ /obj/item/grown/Initialize(newloc, obj/item/seeds/new_seed) . = ..() - create_reagents(50) + create_reagents(50, NONE, HARVEST_REAGENTS_VALUE) if(new_seed) seed = new_seed.Copy() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ef33afec25..6460d8331d 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -3,7 +3,7 @@ /mob/living/carbon/Initialize() . = ..() - create_reagents(1000) + create_reagents(1000, NONE, NO_REAGENTS_VALUE) update_body_parts() //to update the carbon's new bodyparts appearance GLOB.carbon_list += src blood_volume = (BLOOD_VOLUME_NORMAL * blood_ratio) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 38bcfbde79..b66bedb887 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -454,7 +454,7 @@ name = "udder" /obj/item/udder/Initialize() - create_reagents(50) + create_reagents(50, NONE, NO_REAGENTS_VALUE) reagents.add_reagent(/datum/reagent/consumable/milk, 20) . = ..() diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 5a1a794d4e..2ea2a412f8 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -97,7 +97,7 @@ else var/datum/action/innate/slime/evolve/E = new E.Grant(src) - create_reagents(100) + create_reagents(100, NONE, NO_REAGENTS_VALUE) set_colour(new_colour) . = ..() nutrition = 700 diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 3f418df75b..b5a9eb8d69 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -6,7 +6,7 @@ /obj/item/projectile/bullet/dart/Initialize() . = ..() - create_reagents(50, NO_REACT) + create_reagents(50, NO_REACT, NO_REAGENTS_VALUE) /obj/item/projectile/bullet/dart/on_hit(atom/target, blocked = FALSE, skip = FALSE) if(iscarbon(target)) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 95e104ba68..4c240660a9 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -61,8 +61,9 @@ var/reactedVol = 0 //how much of the reagent is reacted during a fermireaction var/fermiIsReacting = FALSE //that prevents multiple reactions from occurring (i.e. add_reagent calls to process_reactions(), this stops any extra reactions.) var/fermiReactID //instance of the chem reaction used during a fermireaction, kept here so it's cache isn't lost between loops/procs. + var/value_multiplier = DEFAULT_REAGENTS_VALUE //used for cargo reagents selling. -/datum/reagents/New(maximum=100, new_flags) +/datum/reagents/New(maximum=100, new_flags = NONE, new_value = DEFAULT_REAGENTS_VALUE) maximum_volume = maximum //I dislike having these here but map-objects are initialised before world/New() is called. >_> @@ -72,6 +73,7 @@ build_chemical_reactions_list() reagents_holder_flags = new_flags + value_multiplier = new_value /datum/reagents/Destroy() . = ..() @@ -1147,10 +1149,10 @@ // Convenience proc to create a reagents holder for an atom // Max vol is maximum volume of holder -/atom/proc/create_reagents(max_vol, flags) +/atom/proc/create_reagents(max_vol, flags, new_value) if(reagents) qdel(reagents) - reagents = new/datum/reagents(max_vol, flags) + reagents = new/datum/reagents(max_vol, flags, new_value) reagents.my_atom = src /proc/get_random_reagent_id() // Returns a random reagent type minus blacklisted reagents diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 23176f8a05..e0000c5748 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -7,7 +7,8 @@ var/amount_per_transfer_from_this = 5 var/list/possible_transfer_amounts = list(5,10,15,20,25,30) var/volume = 30 - var/reagent_flags //used to determine the reagent holder flags on add_initial_reagents() + var/reagent_flags = NONE //used to determine the reagent holder flags on add_initial_reagents() + var/reagent_value = DEFAULT_REAGENTS_VALUE //same as above but for the holder value multiplier. var/list/list_reagents = null var/spawned_disease = null var/disease_amount = 20 @@ -22,7 +23,7 @@ volume = vol if(container_flags & APTFT_VERB && length(possible_transfer_amounts)) verbs += /obj/item/reagent_containers/proc/set_APTFT - create_reagents(volume, reagent_flags) + create_reagents(volume, reagent_flags, reagent_value) if(spawned_disease) var/datum/disease/F = new spawned_disease() var/list/data = list("blood_DNA" = "UNKNOWN DNA", "blood_type" = "SY","viruses"= list(F)) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 34dd97b0aa..73d0c5eafa 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -19,6 +19,7 @@ Borg Hypospray amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = list() + reagent_value = NO_REAGENTS_VALUE var/mode = 1 var/charge_cost = 50 var/charge_tick = 0 diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 9feec362a4..4e1de85fce 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -44,7 +44,7 @@ if(safe_thing) if(!safe_thing.reagents) - safe_thing.create_reagents(100) + safe_thing.create_reagents(100, NONE, NO_REAGENTS_VALUE) reagents.reaction(safe_thing, TOUCH, fraction) trans = reagents.trans_to(safe_thing, amount_per_transfer_from_this) diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 59c956acd6..8e6f5b9581 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -11,6 +11,7 @@ container_flags = APTFT_VERB volume = 5 spillable = FALSE + reagent_value = NO_REAGENTS_VALUE var/wipe_sound var/soak_efficiency = 1 var/extinguish_efficiency = 0 diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index e8c8d14141..b2f7392704 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -68,7 +68,7 @@ /obj/item/reagent_containers/spray/proc/spray(atom/A) var/range = CLAMP(get_dist(src, A), 1, current_range) var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) - D.create_reagents(amount_per_transfer_from_this) + D.create_reagents(amount_per_transfer_from_this, NONE, NO_REAGENTS_VALUE) var/puff_reagent_left = range //how many turf, mob or dense objet we can react with before we consider the chem puff consumed if(stream_mode) reagents.trans_to(D, amount_per_transfer_from_this) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 0e7cba9776..bdf6e8cc87 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -168,7 +168,7 @@ GLOBAL_LIST_INIT(cargo_shuttle_leave_behind_typecache, typecacheof(list( for(var/chem in ex.reagents_value) var/value = ex.reagents_value[chem] - msg += "[value] credits: received [ex.reagents_volume[chem]]u of [chem].\n" + msg += "[value > 0 ? "+" : ""][value] credits: received [ex.reagents_volume[chem]]u of [chem].\n" SSshuttle.points += value msg = copytext_char(msg, 1, MAX_MESSAGE_LEN) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index ca01ef46cb..6195f84259 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -23,7 +23,7 @@ /obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H) . = ..() if(fluid_id) - create_reagents(fluid_max_volume) + create_reagents(fluid_max_volume, NONE, NO_REAGENTS_VALUE) if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) reagents.add_reagent(fluid_id, fluid_max_volume) if(H) @@ -357,7 +357,7 @@ genital_overlay.color = "#[H.dna.features["breasts_color"]]" if("vag_color") genital_overlay.color = "#[H.dna.features["vag_color"]]" - + genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]-s_[aroused_state]_[layertext]" if(layer == GENITALS_FRONT_LAYER && CHECK_BITFIELD(G.genital_flags, GENITAL_THROUGH_CLOTHES)) From 04261345dd629fb8ef74f82f28be247604ba047c Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 6 Feb 2020 23:08:32 +0100 Subject: [PATCH 084/392] export scanners. --- code/modules/cargo/export_scanner.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm index 9c523c194f..80fd05cf8c 100644 --- a/code/modules/cargo/export_scanner.dm +++ b/code/modules/cargo/export_scanner.dm @@ -36,6 +36,8 @@ var/price = 0 for(var/x in ex.total_amount) price += ex.total_value[x] + for(var/x in ex.reagents_value) + price += ex.reagents_value[x] if(price) to_chat(user, "Scanned [O], value: [price] credits[O.contents.len ? " (contents included)" : ""].") From 2d8f85d810dc77928ceb25442c0389cc351b4de9 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 7 Feb 2020 02:59:59 +0100 Subject: [PATCH 085/392] A few nuisances solved. --- code/modules/mob/dead/observer/observer.dm | 3 ++- modular_citadel/code/modules/mob/cit_emotes.dm | 10 ++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3559edc0fb..00d6d3cc70 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -310,8 +310,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/obj/machinery/cryopod/C = loc C.despawn_occupant() else - ghostize(0, penalize = TRUE, voluntary = TRUE) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 suicide_log(TRUE) + ghostize(FALSE, penalize = TRUE, voluntary = TRUE) //FALSE parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 + /mob/camera/verb/ghost() set category = "OOC" diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm index d0ad0d3232..62570e7bf3 100644 --- a/modular_citadel/code/modules/mob/cit_emotes.dm +++ b/modular_citadel/code/modules/mob/cit_emotes.dm @@ -15,12 +15,10 @@ /datum/emote/living/insult/run_emote(mob/living/user, params) var/insult_message = "" - var/miming = user.mind ? user.mind.miming : 0 - if(!user.is_muzzled()) - insult_message += pick_list_replacements(INSULTS_FILE, "insult_gen") - message = insult_message - else if(miming) + if(user.mind?.miming) message = "creatively gesticulates." + else if(!user.is_muzzled()) + message = pick_list_replacements(INSULTS_FILE, "insult_gen") else message = "muffles something." . = ..() @@ -36,7 +34,7 @@ sound = 'modular_citadel/sound/voice/scream_silicon.ogg' if(iscyborg(user)) var/mob/living/silicon/robot/S = user - if(S.cell.charge < 20) + if(S.cell?.charge < 20) to_chat(S, "Scream module deactivated. Please recharge.") return S.cell.use(200) From 86c472eaf60f6d7283bf4edc74f356f7b81d8d98 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 7 Feb 2020 03:17:00 +0100 Subject: [PATCH 086/392] the holopad fix. --- code/datums/holocall.dm | 12 ++++++------ code/game/machinery/computer/camera_advanced.dm | 9 ++++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 72fe6f5a1c..e0b0072808 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -12,7 +12,12 @@ /mob/camera/aiEye/remote/holo/setLoc() . = ..() var/obj/machinery/holopad/H = origin - H.move_hologram(eye_user, loc) + H?.move_hologram(eye_user, loc) + +/obj/machinery/holopad/remove_eye_control(mob/living/user) + if(user.client) + user.reset_perspective(null) + user.remote_control = null //this datum manages it's own references @@ -54,11 +59,6 @@ /datum/holocall/Destroy() QDEL_NULL(hangup) - var/user_good = !QDELETED(user) - if(user_good) - user.reset_perspective() - user.remote_control = null - if(!QDELETED(eye)) QDEL_NULL(eye) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 8de470fdb8..e5ac9a0f78 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -47,7 +47,10 @@ jump_action.Grant(user) actions += jump_action -/obj/machinery/computer/camera_advanced/proc/remove_eye_control(mob/living/user) +/obj/machinery/proc/remove_eye_control(mob/living/user) + CRASH("[type] does not implement ai eye handling") + +/obj/machinery/computer/camera_advanced/remove_eye_control(mob/living/user) if(!user) return for(var/V in actions) @@ -157,7 +160,7 @@ var/cooldown = 0 var/acceleration = 1 var/mob/living/eye_user = null - var/obj/machinery/computer/camera_advanced/origin + var/obj/machinery/origin var/eye_initialized = 0 var/visible_icon = 0 var/image/user_image = null @@ -170,7 +173,7 @@ /mob/camera/aiEye/remote/Destroy() if(origin && eye_user) - origin.remove_eye_control(eye_user) + origin.remove_eye_control(eye_user,src) origin = null . = ..() eye_user = null From f38e69467326e99bc654d4a41291c1d007e1c004 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Fri, 7 Feb 2020 03:42:08 +0100 Subject: [PATCH 087/392] Does it work? Yes. Does it compile? No. --- modular_citadel/code/modules/mob/cit_emotes.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm index 62570e7bf3..2be83733e5 100644 --- a/modular_citadel/code/modules/mob/cit_emotes.dm +++ b/modular_citadel/code/modules/mob/cit_emotes.dm @@ -14,7 +14,6 @@ emote_type = EMOTE_AUDIBLE /datum/emote/living/insult/run_emote(mob/living/user, params) - var/insult_message = "" if(user.mind?.miming) message = "creatively gesticulates." else if(!user.is_muzzled()) From 83a08ee9f54d2cf7d0e15df08f19dab5d7b76def Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 7 Feb 2020 05:21:08 +0100 Subject: [PATCH 088/392] Extras and tg#45018 --- code/modules/food_and_drinks/food/snacks.dm | 7 ++++--- code/modules/projectiles/guns/energy/dueling.dm | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index c068c1aa40..aa76a81c7e 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -71,10 +71,11 @@ All foods are distributed among various categories. Use common sense. if(!eater) return if(!reagents.total_volume) - var/obj/item/trash_item = generate_trash(eater) + var/mob/living/location = loc + var/obj/item/trash_item = generate_trash(location) qdel(src) - eater.put_in_hands(trash_item) - + if(istype(location)) + location.put_in_hands(trash_item) /obj/item/reagent_containers/food/snacks/attack_self(mob/user) return diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index 6fe10eb3b6..615bb5d939 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -320,10 +320,10 @@ if(C.setting == counter_setting) return BULLET_ACT_BLOCK - var/mob/living/L = target - if(!istype(target)) + if(!isliving(target)) return BULLET_ACT_BLOCK + var/mob/living/L = target switch(hugbox) if(DUEL_HUGBOX_NONE) var/obj/item/bodypart/B = L.get_bodypart(BODY_ZONE_HEAD) 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 089/392] 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 090/392] 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 091/392] 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 82e36846bc895f96b2d0bc66db3a647df2875fcf Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 8 Feb 2020 06:18:00 +0100 Subject: [PATCH 092/392] /datum/element/cleaning cleans your face! --- code/datums/elements/cleaning.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index e4fb3edd48..3f80204089 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -45,4 +45,4 @@ cleaned_human.clean_blood() cleaned_human.wash_cream() cleaned_human.regenerate_icons() - to_chat(cleaned_human, "[src] cleans your face!") + to_chat(cleaned_human, "[AM] cleans your face!") 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 093/392] 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 094/392] 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 095/392] 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 096/392] 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 097/392] 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 098/392] 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 c5bbce09287955c200320b4d634f863f74e5adc7 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Sun, 9 Feb 2020 18:36:36 -0600 Subject: [PATCH 099/392] add the BOW --- code/game/objects/items/storage/belt.dm | 15 +++++++++++++++ icons/mob/back.dmi | Bin 99516 -> 100372 bytes icons/mob/belt.dmi | Bin 19659 -> 19900 bytes icons/obj/clothing/belts.dmi | Bin 12732 -> 13099 bytes icons/obj/storage.dmi | Bin 72459 -> 71397 bytes tgstation.dme | 4 ++++ 6 files changed, 19 insertions(+) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 082cbe245d..1be9df5c30 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -612,6 +612,21 @@ /obj/item/ammo_casing )) +/obj/item/storage/belt/quiver + name = "leather quiver" + desc = "A quiver made from the hide of some animal. Used to hold arrows." + icon_state = "quiver" + item_state = "quiver" + +/obj/item/storage/belt/quiver/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 15 + STR.display_numerical_stacking = TRUE + STR.can_hold = typecacheof(list( + /obj/item/ammo_casing/caseless/arrow + )) + /obj/item/storage/belt/medolier name = "medolier" desc = "A medical bandolier for holding smartdarts." diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index 26f81b70df8aea4933205e22b563896cc7a5df41..7a2882790336d8b3a09057cf678e82aad792afbf 100644 GIT binary patch delta 37154 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 delta 36280 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 literal 19659 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 II;Vst0LXq--v9sr diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index e329720cf70bd58c1128cf7e36297ce42399104d..1ff87b26e42334ffabf84e74caeab3efe14c453e 100644 GIT binary patch literal 13099 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 literal 12732 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

r=! z9i@IzJGqSNZL+A;gQRXDLjtKa)IVZWMHi_~Gc|46lO>JnSkIE01^@}4yho5P zudYjlPqIYYcP|QYo}%q?Q4yvm<+4oS@`WN)10$=mN7=QX1~gwjGWhB6%LW6Oq0`-v z%!20mlo>hq9F5Mx9qx+_WT8(vc)G>wvmXq$H!s6lBu7ryhW3f?qbN0q!+qJroFU|i zV*jNlT9snlK$C>b8KN=`+|p*p;ek zcd!j{Ba=q^l=iuM0wXo;KHB>`_0LfV>=wKrxD`iRwcC4!S~X0{@1_+8n9^9Ut{=23 z_r`at_XQH&?^qe*)Z3v+tP|BRCw_$CnBhAk;I)5{O@dRnc4M|U=5kn={r#>E^8sZ% z4whom(x_5WQ>#TglUE*tyQ2K9Uy$uhsH;WeFX{eGZFaU?Y$Df-fl(G~in^@*(^@)= zT6l}B7iW4#8~=Am`gKfn?+=F5AilVhPr<%R))|>TD1nMsH+s6eZ15X4;SxONTRlE? zZ_Gz+4GES8PxpxEd!eq}eivmxx^G7kUnx_8;1g$azP5y~Yg;7kH%l-pg>1qr=#43C?}Tzol{VXU1Jg|CPOD+;t& z?1{5GtYo3rV%&2X0T=qiR~wHiL3tKQ-%8z%XR*jNe)Q4u--df#eOeGGA@yS+6eJ-P zSvk2vk+nAU9eu;=C-;thoA|afy@Lz^z05&D$a;F^6Zc)J=b;&lC_UmhMJ;XcujwpV z@$Uc-R&iHJj-f4M5aC05s5GN(vfr~MoW(zZNjuiqE)yzibuQE+t}-&`)*4a_g$^6!$HK))H+jl;&(Lhw#ZA~f)Awohc@c-zy|KGDuw=nI-&((h{ T_c>7i$^g`rHI*t9EQ00j_oNTlIB` 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 E18tt>-v9sr diff --git a/tgstation.dme b/tgstation.dme index 28ae7eee99..c84c38c8ae 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2579,6 +2579,7 @@ #include "code\modules\projectiles\ammunition\ballistic\smg.dm" #include "code\modules\projectiles\ammunition\ballistic\sniper.dm" #include "code\modules\projectiles\ammunition\caseless\_caseless.dm" +#include "code\modules\projectiles\ammunition\caseless\arrow.dm" #include "code\modules\projectiles\ammunition\caseless\ferromagnetic.dm" #include "code\modules\projectiles\ammunition\caseless\foam.dm" #include "code\modules\projectiles\ammunition\caseless\misc.dm" @@ -2609,6 +2610,7 @@ #include "code\modules\projectiles\boxes_magazines\external\toy.dm" #include "code\modules\projectiles\boxes_magazines\internal\_cylinder.dm" #include "code\modules\projectiles\boxes_magazines\internal\_internal.dm" +#include "code\modules\projectiles\boxes_magazines\internal\bow.dm" #include "code\modules\projectiles\boxes_magazines\internal\grenade.dm" #include "code\modules\projectiles\boxes_magazines\internal\misc.dm" #include "code\modules\projectiles\boxes_magazines\internal\revolver.dm" @@ -2619,6 +2621,7 @@ #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\magic.dm" #include "code\modules\projectiles\guns\ballistic\automatic.dm" +#include "code\modules\projectiles\guns\ballistic\bow.dm" #include "code\modules\projectiles\guns\ballistic\laser_gatling.dm" #include "code\modules\projectiles\guns\ballistic\launchers.dm" #include "code\modules\projectiles\guns\ballistic\magweapon.dm" @@ -2671,6 +2674,7 @@ #include "code\modules\projectiles\projectile\energy\tesla.dm" #include "code\modules\projectiles\projectile\magic\spellcard.dm" #include "code\modules\projectiles\projectile\reusable\_reusable.dm" +#include "code\modules\projectiles\projectile\reusable\arrow.dm" #include "code\modules\projectiles\projectile\reusable\foam_dart.dm" #include "code\modules\projectiles\projectile\reusable\magspear.dm" #include "code\modules\projectiles\projectile\special\curse.dm" From 4622f66162a5b28055286d24cc4351413d73a1c1 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Sun, 9 Feb 2020 19:45:22 -0600 Subject: [PATCH 100/392] for real this time --- .../projectiles/ammunition/caseless/arrow.dm | 8 +++ .../boxes_magazines/internal/bow.dm | 6 ++ code/modules/projectiles/gun.dm | 5 ++ .../modules/projectiles/guns/ballistic/bow.dm | 53 ++++++++++++++++++ code/modules/projectiles/pins.dm | 2 + .../projectiles/projectile/reusable/arrow.dm | 6 ++ sound/weapons/bowdraw.wav | Bin 0 -> 39260 bytes sound/weapons/bowfire.wav | Bin 0 -> 77974 bytes 8 files changed, 80 insertions(+) create mode 100644 code/modules/projectiles/ammunition/caseless/arrow.dm create mode 100644 code/modules/projectiles/boxes_magazines/internal/bow.dm create mode 100644 code/modules/projectiles/guns/ballistic/bow.dm create mode 100644 code/modules/projectiles/projectile/reusable/arrow.dm create mode 100644 sound/weapons/bowdraw.wav create mode 100644 sound/weapons/bowfire.wav diff --git a/code/modules/projectiles/ammunition/caseless/arrow.dm b/code/modules/projectiles/ammunition/caseless/arrow.dm new file mode 100644 index 0000000000..e0ca637a8b --- /dev/null +++ b/code/modules/projectiles/ammunition/caseless/arrow.dm @@ -0,0 +1,8 @@ +/obj/item/ammo_casing/caseless/arrow + name = "wooden arrow" + desc = "An arrow made of wood, typically fired from a bow." + projectile_type = /obj/item/projectile/bullet/reusable/arrow + 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 diff --git a/code/modules/projectiles/boxes_magazines/internal/bow.dm b/code/modules/projectiles/boxes_magazines/internal/bow.dm new file mode 100644 index 0000000000..9ce1565606 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/internal/bow.dm @@ -0,0 +1,6 @@ +/obj/item/ammo_box/magazine/internal/bow + name = "bow... magazine?" //shouldn't be seeing this + ammo_type = /obj/item/ammo_casing/caseless/arrow + caliber = "arrow" + max_ammo = 1 + start_empty = 1 \ No newline at end of file diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9740b4be04..ca033ae126 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -51,6 +51,7 @@ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' var/obj/item/firing_pin/pin = /obj/item/firing_pin //standard firing pin for most guns + var/no_pin_required = FALSE //whether the gun can be fired without a pin var/obj/item/flashlight/gun_light var/can_flashlight = 0 @@ -107,6 +108,8 @@ /obj/item/gun/examine(mob/user) . = ..() + if(no_pin_required) + return if(pin) . += "It has \a [pin] installed." else @@ -226,6 +229,8 @@ return FALSE /obj/item/gun/proc/handle_pins(mob/living/user) + if(no_pin_required) + return TRUE if(pin) if(pin.pin_auth(user) || (pin.obj_flags & EMAGGED)) return TRUE diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm new file mode 100644 index 0000000000..0fd071a955 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/bow.dm @@ -0,0 +1,53 @@ +/obj/item/gun/ballistic/bow + name = "wooden bow" + desc = "Some sort of primitive projectile weapon. Used to fire arrows." + icon_state = "bow" + item_state = "bow" + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_HEAVY //need both hands to fire + force = 5 + mag_type = /obj/item/ammo_box/magazine/internal/bow + fire_sound = 'sound/weapons/bowfire.wav' + slot_flags = ITEM_SLOT_BACK + item_flags = NONE + casing_ejector = FALSE + inaccuracy_modifier = 0.33 //to counteract the innaccuracy from WEAPON_HEAVY, bows are supposed to be accurate but only able to be fired with both hands + pin = null + no_pin_required = TRUE + trigger_guard = TRIGGER_GUARD_NONE //so ashwalkers can use it + +/obj/item/gun/ballistic/bow/shoot_with_empty_chamber() + return + +/obj/item/gun/ballistic/bow/chamber_round() + chambered = magazine.get_round(1) + +/obj/item/gun/ballistic/bow/afterattack() + . = ..() + if (chambered) + chambered = null + magazine.get_round(0) + update_icon() + +/obj/item/gun/ballistic/bow/attack_self(mob/living/user) + if (chambered) + var/obj/item/ammo_casing/AC = magazine.get_round(0) + user.put_in_hands(AC) + chambered = null + to_chat(user, "You gently release the bowstring, removing the arrow.") + else if (get_ammo()) + to_chat(user, "You draw back the bowstring.") + playsound(src, 'sound/weapons/bowdraw.wav', 100, 1) + chamber_round() + update_icon() + +/obj/item/gun/ballistic/bow/attackby(obj/item/I, mob/user, params) + if (magazine.attackby(I, user, params, 1)) + to_chat(user, "You notch the arrow.") + update_icon() + +/obj/item/gun/ballistic/bow/update_icon() + icon_state = "bow_[get_ammo() ? (chambered ? "firing" : "loaded") : "unloaded"]" + +/obj/item/gun/ballistic/bow/can_shoot() + return chambered \ No newline at end of file diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 0465a611cd..cd9f3ef6a5 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -23,6 +23,8 @@ if(proximity_flag) if(istype(target, /obj/item/gun)) var/obj/item/gun/G = target + if(G.no_pin_required) + return if(G.pin && (force_replace || G.pin.pin_removeable)) G.pin.forceMove(get_turf(G)) G.pin.gun_remove(user) diff --git a/code/modules/projectiles/projectile/reusable/arrow.dm b/code/modules/projectiles/projectile/reusable/arrow.dm new file mode 100644 index 0000000000..f1c9638fd9 --- /dev/null +++ b/code/modules/projectiles/projectile/reusable/arrow.dm @@ -0,0 +1,6 @@ +/obj/item/projectile/bullet/reusable/arrow + name = "wooden arrow" + desc = "Woosh!" + damage = 15 + icon_state = "arrow" + ammo_type = /obj/item/ammo_casing/caseless/arrow \ No newline at end of file diff --git a/sound/weapons/bowdraw.wav b/sound/weapons/bowdraw.wav new file mode 100644 index 0000000000000000000000000000000000000000..bba8a87e063ab7dcf460a3a027443d860c2fcdb8 GIT binary patch literal 39260 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 literal 0 HcmV?d00001 From 63be3300d27ee322fac4fd40686007e90b32335f Mon Sep 17 00:00:00 2001 From: Linzolle Date: Sun, 9 Feb 2020 19:52:44 -0600 Subject: [PATCH 101/392] actually --- code/modules/projectiles/guns/ballistic/bow.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm index 0fd071a955..448e2915d9 100644 --- a/code/modules/projectiles/guns/ballistic/bow.dm +++ b/code/modules/projectiles/guns/ballistic/bow.dm @@ -37,7 +37,7 @@ to_chat(user, "You gently release the bowstring, removing the arrow.") else if (get_ammo()) to_chat(user, "You draw back the bowstring.") - playsound(src, 'sound/weapons/bowdraw.wav', 100, 1) + playsound(src, 'sound/weapons/bowdraw.wav', 75, 0) //gets way too high pitched if the freq varies chamber_round() update_icon() From d4c74c19de1a91124df2b6918344ee907421c0b0 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 10 Feb 2020 04:26:50 +0100 Subject: [PATCH 102/392] Something about cryopods. --- code/game/machinery/cryopod.dm | 98 ++++++++++------------ code/modules/admin/verbs/debug.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 15 ++-- 3 files changed, 51 insertions(+), 64 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index e9d3006b06..b33b87f8b1 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -6,7 +6,6 @@ * ~ Zuhayr */ - //Main cryopod console. /obj/machinery/computer/cryopod @@ -18,7 +17,6 @@ density = FALSE interaction_flags_machine = INTERACT_MACHINE_OFFLINE req_one_access = list(ACCESS_HEADS, ACCESS_ARMORY) //Heads of staff or the warden can go here to claim recover items from their department that people went were cryodormed with. - var/mode = null var/menu = 1 //Which menu screen to display @@ -130,7 +128,8 @@ playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) updateUsrDialog() return - if(!allow_items) return + if(!allow_items) + return if(frozen_items.len == 0) to_chat(user, "There is nothing to recover from storage.") @@ -182,7 +181,7 @@ var/last_no_computer_message = 0 // These items are preserved when the process() despawn proc occurs. - var/list/preserve_items = list( + var/static/list/preserve_items = typecacheof(list( /obj/item/hand_tele, /obj/item/card/id/captains_spare, /obj/item/aicard, @@ -203,9 +202,9 @@ /obj/item/tank/jetpack, /obj/item/documents, /obj/item/nuke_core_container - ) + )) // These items will NOT be preserved - var/list/do_not_preserve_items = list ( + var/static/list/do_not_preserve_items = typecacheof(list( /obj/item/mmi/posibrain, /obj/item/gun/energy/laser/mounted, /obj/item/gun/energy/e_gun/advtaser/mounted, @@ -215,7 +214,7 @@ /obj/item/gun/energy/printer, /obj/item/gun/energy/kinetic_accelerator/cyborg, /obj/item/gun/energy/laser/cyborg - ) + )) /obj/machinery/cryopod/Initialize(mapload) . = ..() @@ -287,14 +286,14 @@ #define CRYO_DESTROY 0 #define CRYO_PRESERVE 1 #define CRYO_OBJECTIVE 2 +#define CRYO_IGNORE 3 /obj/machinery/cryopod/proc/should_preserve_item(obj/item/I) for(var/datum/objective_item/steal/T in control_computer.theft_cache) if(istype(I, T.targetitem) && T.check_special_completion(I)) return CRYO_OBJECTIVE - for(var/T in preserve_items) - if(istype(I, T) && !(I.type in do_not_preserve_items)) - return CRYO_PRESERVE + if(preserve_items[I] && !do_not_preserve_items[I]) + return CRYO_PRESERVE return CRYO_DESTROY // This function can not be undone; do not call this unless you are sure @@ -303,52 +302,47 @@ find_control_computer() var/mob/living/mob_occupant = occupant + var/list/obj/item/cryo_items = list() //Handle Borg stuff first if(iscyborg(mob_occupant)) var/mob/living/silicon/robot/R = mob_occupant - - R.contents -= R.mmi - qdel(R.mmi) + if(R.mmi?.brain) + cryo_items[R.mmi] = CRYO_IGNORE + cryo_items[R.mmi.brain] = CRYO_IGNORE for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags - if(should_preserve_item(O) != CRYO_DESTROY) // Preserve important things inside the item - continue + cryo_items[O] = should_preserve_item(O) O.forceMove(src) R.module.remove_module(I, TRUE) //delete the module itself so it doesn't transfer over. //Drop all items into the pod. for(var/obj/item/I in mob_occupant) - mob_occupant.doUnEquip(I) - I.forceMove(src) - + if(cryo_items[I] == CRYO_IGNORE) + continue + cryo_items[I] = should_preserve_item(I) + mob_occupant.transferItemToLoc(I, src, TRUE) if(I.contents.len) //Make sure we catch anything not handled by qdel() on the items. - if(should_preserve_item(I) != CRYO_DESTROY) // Don't remove the contents of things that need preservation + if(cryo_items[I] != CRYO_DESTROY) // Don't remove the contents of things that need preservation continue for(var/obj/item/O in I.contents) - if(istype(O, /obj/item/tank)) //Stop eating pockets, you fuck! - continue + cryo_items[O] = should_preserve_item(O) O.forceMove(src) - //Delete all items not on the preservation list. - var/list/items = contents - items -= mob_occupant // Don't delete the occupant - - for(var/obj/item/I in items) - if(istype(I, /obj/item/pda)) - var/obj/item/pda/P = I - QDEL_NULL(P.id) - qdel(P) + for(var/A in cryo_items) + var/obj/item/I = A + if(QDELETED(I)) //edge cases and DROPDEL. continue - - var/preserve = should_preserve_item(I) - if(preserve == CRYO_DESTROY) + var/preserve = cryo_items[I] + if(preserve == CRYO_IGNORE) + continue + else if(preserve == CRYO_DESTROY) qdel(I) - else if(control_computer && control_computer.allow_items) + else if(control_computer?.allow_items) control_computer.frozen_items += I if(preserve == CRYO_OBJECTIVE) control_computer.objective_items += I - I.loc = null + I.moveToNullspace() else I.forceMove(loc) @@ -417,6 +411,7 @@ #undef CRYO_DESTROY #undef CRYO_PRESERVE #undef CRYO_OBJECTIVE +#undef CRYO_IGNORE /obj/machinery/cryopod/MouseDrop_T(mob/living/target, mob/user) if(!istype(target) || user.incapacitated() || !target.Adjacent(user) || !Adjacent(user) || !ismob(target) || (!ishuman(user) && !iscyborg(user)) || !istype(user.loc, /turf) || target.buckled) @@ -443,29 +438,24 @@ var/generic_plsnoleave_message = " Please adminhelp before leaving the round, even if there are no administrators online!" if(target == user && world.time - target.client.cryo_warned > 5 MINUTES)//if we haven't warned them in the last 5 minutes - var/caught = FALSE + var/list/caught_string + var/addendum = "" if(target.mind.assigned_role in GLOB.command_positions) - alert("You're a Head of Staff![generic_plsnoleave_message] Be sure to put your locker items back into your locker!") - caught = TRUE + LAZYADD(caught_string, "Head of Staff") + addendum = " Be sure to put your locker items back into your locker!" if(iscultist(target) || is_servant_of_ratvar(target)) - to_chat(target, "You're a Cultist![generic_plsnoleave_message]") - caught = TRUE + LAZYADD(caught_string, "Cultist") if(is_devil(target)) - alert("You're a Devil![generic_plsnoleave_message]") - caught = TRUE - if(istype(SSticker.mode, /datum/antagonist/gang)) - if(target.mind.has_antag_datum(/datum/antagonist/gang)) - alert("You're a Gangster![generic_plsnoleave_message]") - caught = TRUE - if(istype(SSticker.mode, /datum/antagonist/rev)) - if(target.mind.has_antag_datum(/datum/antagonist/rev/head)) - alert("You're a Head Revolutionary![generic_plsnoleave_message]") - caught = TRUE - else if(target.mind.has_antag_datum(/datum/antagonist/rev)) - alert("You're a Revolutionary![generic_plsnoleave_message]") - caught = TRUE + LAZYADD(caught_string, "Devil") + if(target.mind.has_antag_datum(/datum/antagonist/gang)) + LAZYADD(caught_string, "Gangster") + if(target.mind.has_antag_datum(/datum/antagonist/rev/head)) + LAZYADD(caught_string, "Head Revolutionary") + if(target.mind.has_antag_datum(/datum/antagonist/rev)) + LAZYADD(caught_string, "Revolutionary") - if(caught) + if(caught_string) + alert(target, "You're a [english_list(caught_string)]![generic_plsnoleave_message][addendum]") target.client.cryo_warned = world.time return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index ad2eeb7289..d85ea037d3 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -487,7 +487,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(alert("This mob is being controlled by [M.key]. Are you sure you wish to assume control of it? [M.key] will be made a ghost.",,"Yes","No") != "Yes") return else - var/mob/dead/observer/ghost = new/mob/dead/observer(M,1) + var/mob/dead/observer/ghost = new/mob/dead/observer(get_turf(M), M) ghost.ckey = M.ckey message_admins("[key_name_admin(usr)] assumed direct control of [M].") log_admin("[key_name(usr)] assumed direct control of [M].") diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3559edc0fb..5ceac18316 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -55,7 +55,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/deadchat_name var/datum/spawners_menu/spawners_menu -/mob/dead/observer/Initialize() +/mob/dead/observer/Initialize(mapload, mob/body) set_invisibility(GLOB.observer_default_invisibility) verbs += list( @@ -76,11 +76,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) updateallghostimages() - var/turf/T - var/mob/body = loc - if(ismob(body)) - T = get_turf(body) //Where is the body located? - + if(body) gender = body.gender if(body.mind && body.mind.name) name = body.mind.name @@ -105,14 +101,15 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) update_icon() - if(!T) + if(!isturf(loc)) + var/turf/T var/list/turfs = get_area_turfs(/area/shuttle/arrival) if(turfs.len) T = pick(turfs) else T = SSmapping.get_station_center() - forceMove(T) + forceMove(T) if(!name) //To prevent nameless ghosts name = random_unique_name(gender) @@ -268,7 +265,7 @@ Works together with spawning an observer, noted above. if(!key || key[1] == "@" || (SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, can_reenter_corpse, special, penalize) & COMPONENT_BLOCK_GHOSTING)) return //mob has no key, is an aghost or some component hijacked. stop_sound_channel(CHANNEL_HEARTBEAT) //Stop heartbeat sounds because You Are A Ghost Now - var/mob/dead/observer/ghost = new(src) // Transfer safety to observer spawning proc. + var/mob/dead/observer/ghost = new(get_turf(src), src) // Transfer safety to observer spawning proc. SStgui.on_transfer(src, ghost) // Transfer NanoUIs. ghost.can_reenter_corpse = can_reenter_corpse if (client && client.prefs && client.prefs.auto_ooc) From c34714cb9055543733f5ab4a103e6673d6c79852 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 10 Feb 2020 07:37:59 +0100 Subject: [PATCH 103/392] Something about the in operator and spaceDMM version update. --- code/__HELPERS/game.dm | 2 +- code/__HELPERS/mobs.dm | 2 +- code/controllers/subsystem/job.dm | 6 +++--- code/controllers/subsystem/vote.dm | 6 +++--- code/datums/hud.dm | 2 +- .../gamemodes/dynamic/dynamic_rulesets_midround.dm | 2 +- code/game/machinery/syndicatebomb.dm | 2 +- code/game/machinery/telecomms/machines/receiver.dm | 2 +- code/game/mecha/mecha.dm | 2 +- code/game/mecha/working/ripley.dm | 2 +- code/game/objects/items/boombox.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 4 ++-- code/game/objects/items/religion.dm | 4 ++-- .../structures/crates_lockers/closets/genpop.dm | 2 +- code/game/objects/structures/traps.dm | 2 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 4 ++-- code/modules/admin/verbs/mapping.dm | 2 +- .../clockcult/clock_structures/ocular_warden.dm | 2 +- .../food_and_drinks/kitchen_machinery/gibber.dm | 2 +- code/modules/food_and_drinks/pizzabox.dm | 2 +- .../core/special_pins/dir_pin.dm | 2 +- code/modules/jobs/job_exp.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 4 ++-- code/modules/mob/living/say.dm | 4 ++-- code/modules/mob/living/silicon/pai/update_icon.dm | 4 ++-- code/modules/mob/living/silicon/robot/robot_modules.dm | 6 +++--- .../modules/mob/living/simple_animal/hostile/statue.dm | 2 +- code/modules/mob/living/simple_animal/parrot.dm | 4 ++-- .../reagents/chemistry/machinery/chem_dispenser.dm | 2 +- .../reagents/chemistry/reagents/alcohol_reagents.dm | 2 +- .../reagents/chemistry/reagents/other_reagents.dm | 8 ++++---- code/modules/reagents/reagent_containers/rags.dm | 4 ++-- code/modules/spells/spell_types/summonitem.dm | 4 ++-- code/modules/vore/eating/belly_obj.dm | 10 +++++----- code/modules/vore/eating/bellymodes.dm | 2 +- dependencies.sh | 2 +- 36 files changed, 58 insertions(+), 58 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 605f7f8ae7..60d7fa42b9 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -436,7 +436,7 @@ var/list/result = list() for(var/m in group) var/mob/M = m - if(!M.key || !M.client || (ignore_category && GLOB.poll_ignore[ignore_category] && M.ckey in GLOB.poll_ignore[ignore_category])) + if(!M.key || !M.client || (ignore_category && GLOB.poll_ignore[ignore_category] && (M.ckey in GLOB.poll_ignore[ignore_category]))) continue if(be_special_flag) if(!(M.client.prefs) || !(be_special_flag in M.client.prefs.be_special)) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 1669c941c2..a5924994e7 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -529,7 +529,7 @@ GLOBAL_LIST_EMPTY(species_list) continue if(M.stat != DEAD && !override) continue - if(speaker_key && speaker_key in prefs.ignoring) + if(speaker_key && (speaker_key in prefs.ignoring)) continue switch(message_type) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 7597a9229a..31e436f206 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -118,7 +118,7 @@ SUBSYSTEM_DEF(job) if(flag && (!(flag in player.client.prefs.be_special))) JobDebug("FOC flag failed, Player: [player], Flag: [flag], ") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("FOC incompatible with antagonist role, Player: [player]") continue if(player.client.prefs.job_preferences[job.title] == level) @@ -158,7 +158,7 @@ SUBSYSTEM_DEF(job) JobDebug("GRJ player not enough xp, Player: [player]") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("GRJ incompatible with antagonist role, Player: [player], Job: [job.title]") continue @@ -340,7 +340,7 @@ SUBSYSTEM_DEF(job) JobDebug("DO non-human failed, Player: [player], Job:[job.title]") continue - if(player.mind && job.title in player.mind.restricted_roles) + if(player.mind && (job.title in player.mind.restricted_roles)) JobDebug("DO incompatible with antagonist role, Player: [player], Job:[job.title]") continue diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 086167fc48..9924ed7917 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -149,7 +149,7 @@ SUBSYSTEM_DEF(vote) var/list/this_vote = voted[ckey] var/list/pretty_vote = list() for(var/choice in choices) - if("[choice]" in this_vote && "[choice]" in scores_by_choice) + if(("[choice]" in this_vote) && ("[choice]" in scores_by_choice)) sorted_insert(scores_by_choice["[choice]"],this_vote["[choice]"],/proc/cmp_numeric_asc) // START BALLOT GATHERING pretty_vote += "[choice]" @@ -160,7 +160,7 @@ SUBSYSTEM_DEF(vote) for(var/score_name in scores_by_choice) var/list/score = scores_by_choice[score_name] for(var/indiv_score in score) - SSblackbox.record_feedback("nested tally","voting",1,list(blackbox_text,"Scores",score_name,GLOB.vote_score_options[indiv_score])) + SSblackbox.record_feedback("nested tally","voting",1,list(blackbox_text,"Scores",score_name,GLOB.vote_score_options[indiv_score])) if(score.len == 0) scores_by_choice -= score_name while(scores_by_choice.len > 1) @@ -376,7 +376,7 @@ SUBSYSTEM_DEF(vote) else to_chat(world, "Notice:Restart vote will not restart the server automatically because there are active admins on.") message_admins("A restart vote has passed, but there are active admins on with +server, so it has been canceled. If you wish, you may restart the server.") - + return . /datum/controller/subsystem/vote/proc/submit_vote(vote, score = 0) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index e2d9bc579f..6b6fcb9691 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -32,7 +32,7 @@ GLOBAL_LIST_INIT(huds, list( /datum/atom_hud var/list/atom/hudatoms = list() //list of all atoms which display this hud - var/list/mob/hudusers = list() //list with all mobs who can see the hud + var/list/hudusers = list() //list with all mobs who can see the hud var/list/hud_icons = list() //these will be the indexes for the atom's hud_list var/list/next_time_allowed = list() //mobs associated with the next time this hud can be added to them diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index abd560171e..7ad4cee884 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -61,7 +61,7 @@ trimmed_list.Remove(M) continue if (M.mind) - if (restrict_ghost_roles && M.mind.assigned_role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL]) // Are they playing a ghost role? + if (restrict_ghost_roles && (M.mind.assigned_role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL])) // Are they playing a ghost role? trimmed_list.Remove(M) continue if (M.mind.assigned_role in restricted_roles) // Does their job allow it? diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index ebc2533124..221e35118e 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -79,7 +79,7 @@ try_detonate(TRUE) //Counter terrorists win else if(!active || defused) - if(defused && payload in src) + if(defused && (payload in src)) payload.defuse() countdown.stop() STOP_PROCESSING(SSfastprocess, src) diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm index 0fd3aec012..4dd3af036c 100644 --- a/code/game/machinery/telecomms/machines/receiver.dm +++ b/code/game/machinery/telecomms/machines/receiver.dm @@ -33,7 +33,7 @@ for(var/obj/machinery/telecomms/hub/H in links) for(var/obj/machinery/telecomms/relay/R in H.links) - if(R.can_receive(signal) && R.z in signal.levels) + if(R.can_receive(signal) && (R.z in signal.levels)) return TRUE return FALSE diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index b279f90740..6891719f97 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -867,7 +867,7 @@ return /obj/mecha/proc/moved_inside(mob/living/carbon/human/H) - if(H && H.client && H in range(1)) + if(H?.client && (H in range(1))) occupant = H H.forceMove(src) H.update_mouse_pointer() diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 41f8984570..845b208db1 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -146,7 +146,7 @@ ..() if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) - if(O && O in src.cargo) + if(O && (O in cargo)) occupant_message("You unload [O].") O.forceMove(drop_location()) cargo -= O diff --git a/code/game/objects/items/boombox.dm b/code/game/objects/items/boombox.dm index 10d12f1973..3b93480e43 100644 --- a/code/game/objects/items/boombox.dm +++ b/code/game/objects/items/boombox.dm @@ -23,7 +23,7 @@ if(!boomingandboxing) var/list/tracklist = list() for(var/datum/track/S in SSjukeboxes.songs) - if(istype(S) && S.song_associated_id in availabletrackids) + if(istype(S) && (S.song_associated_id in availabletrackids)) tracklist[S.song_name] = S var/selected = input(user, "Play song", "Track:") as null|anything in tracklist if(QDELETED(src) || !selected || !istype(tracklist[selected], /datum/track)) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index a82f99064e..e43aa681ce 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -51,7 +51,7 @@ /obj/item/flashlight/attack(mob/living/carbon/M, mob/living/carbon/human/user) add_fingerprint(user) - if(istype(M) && on && user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH)) + if(istype(M) && on && (user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH))) if((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(50)) //too dumb to use flashlight properly return ..() //just hit them in the head @@ -390,7 +390,7 @@ return TRUE /obj/item/flashlight/emp/attack(mob/living/M, mob/living/user) - if(on && user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH)) // call original attack when examining organs + if(on && (user.zone_selected in list(BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH))) // call original attack when examining organs ..() return diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 5fd9600a97..ac490b0122 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -44,9 +44,9 @@ if(H.stat == DEAD || H == user) continue if(H.mind && (has_job_loyalties || has_role_loyalties)) - if(has_job_loyalties && H.mind.assigned_role in job_loyalties) + if(has_job_loyalties && (H.mind.assigned_role in job_loyalties)) inspired += H - else if(has_role_loyalties && H.mind.special_role in role_loyalties) + else if(has_role_loyalties && (H.mind.special_role in role_loyalties)) inspired += H else if(check_inspiration(H)) inspired += H diff --git a/code/game/objects/structures/crates_lockers/closets/genpop.dm b/code/game/objects/structures/crates_lockers/closets/genpop.dm index 80b64aaedc..2b263bb1ed 100644 --- a/code/game/objects/structures/crates_lockers/closets/genpop.dm +++ b/code/game/objects/structures/crates_lockers/closets/genpop.dm @@ -95,7 +95,7 @@ if(user.lying && get_dist(src, user) > 0) return - if(!broken && registered_id != null && registered_id in user.held_items) + if(!broken && registered_id != null && (registered_id in user.held_items)) handle_prisoner_id(user) return diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 9c1859df08..2cdc082ef3 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -35,7 +35,7 @@ . = ..() if(!isliving(user)) return - if(user.mind && user.mind in immune_minds) + if(user.mind && (user.mind in immune_minds)) return if(get_dist(user, src) <= 1) . += "You reveal [src]!" diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index da7c264774..14906bc83a 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -303,7 +303,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null //These three are weird. For best performance, they are only a number when they're not being changed by the SDQL searching/execution code. They only become numbers when they finish changing. var/list/obj_count_all var/list/obj_count_eligible - var/list/obj_count_finished + var/obj_count_finished //Statclick var/obj/effect/statclick/SDQL2_delete/delete_click @@ -682,7 +682,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null SDQL2_TICK_CHECK SDQL2_HALT_CHECK if(islist(obj_count_finished)) - obj_count_finished = obj_count_finished.len + obj_count_finished = length(obj_count_finished) state = SDQL2_STATE_SWITCHING /datum/SDQL2_query/proc/SDQL_print(object, list/text_list, print_nulls = TRUE) diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 24e80fd8f3..35ab3927d4 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -135,7 +135,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) if(!(locate(/obj/structure/grille) in T)) var/window_check = 0 for(var/obj/structure/window/W in T) - if (W.dir == turn(C1.dir,180) || W.dir in list(5,6,9,10) ) + if(W.dir == turn(C1.dir,180) || (W.dir in list(5,6,9,10))) window_check = 1 break if(!window_check) diff --git a/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm b/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm index d0940ebb7a..00db2b0d72 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ocular_warden.dm @@ -118,7 +118,7 @@ continue if(ishostile(L)) var/mob/living/simple_animal/hostile/H = L - if(("ratvar" in H.faction) || (!H.mind && "neutral" in H.faction)) + if(("ratvar" in H.faction) || (!H.mind && ("neutral" in H.faction))) continue if(ismegafauna(H) || (!H.mind && H.AIStatus == AI_OFF)) continue diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 4406491f10..24f60300fa 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -212,7 +212,7 @@ meatslab.throw_at(pick(nearby_turfs),i,3) for (var/turfs=1 to meat_produced) var/turf/gibturf = pick(nearby_turfs) - if (!gibturf.density && src in view(gibturf)) + if (!gibturf.density && (src in view(gibturf))) new gibtype(gibturf,i,diseases) pixel_x = initial(pixel_x) //return to its spot after shaking diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index bd556b8397..b163c6ba97 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -220,7 +220,7 @@ unprocess() qdel(src) if(!bomb_active || bomb_defused) - if(bomb_defused && bomb in src) + if(bomb_defused && (bomb in src)) bomb.defuse() bomb_active = FALSE unprocess() diff --git a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm index 4ce5597af8..eb4d9a3366 100644 --- a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm @@ -18,7 +18,7 @@ write_data_to_pin(new_data) /datum/integrated_io/dir/write_data_to_pin(var/new_data) - if(isnull(new_data) || new_data in list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)/* + list(UP, DOWN)*/) + if(isnull(new_data) || (new_data in GLOB.alldirs/* + list(UP, DOWN)*/)) data = new_data holder.on_data_written() diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index f99bf65071..5ff791c5f3 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -40,7 +40,7 @@ GLOBAL_PROTECT(exp_to_update) return exp_type /proc/job_is_xp_locked(jobtitle) - if(!CONFIG_GET(flag/use_exp_restrictions_heads) && jobtitle in (GLOB.command_positions | list("AI"))) + if(!CONFIG_GET(flag/use_exp_restrictions_heads) && (jobtitle in (GLOB.command_positions | list("AI")))) return FALSE if(!CONFIG_GET(flag/use_exp_restrictions_other) && !(jobtitle in (GLOB.command_positions | list("AI")))) return FALSE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3559edc0fb..ca70e3c8e6 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -196,13 +196,13 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) else ghostimage_default.icon_state = new_form - if(ghost_accs >= GHOST_ACCS_DIR && icon_state in GLOB.ghost_forms_with_directions_list) //if this icon has dirs AND the client wants to show them, we make sure we update the dir on movement + if(ghost_accs >= GHOST_ACCS_DIR && (icon_state in GLOB.ghost_forms_with_directions_list)) //if this icon has dirs AND the client wants to show them, we make sure we update the dir on movement updatedir = 1 else updatedir = 0 //stop updating the dir in case we want to show accessories with dirs on a ghost sprite without dirs setDir(2 )//reset the dir to its default so the sprites all properly align up - if(ghost_accs == GHOST_ACCS_FULL && icon_state in GLOB.ghost_forms_with_accessories_list) //check if this form supports accessories and if the client wants to show them + if(ghost_accs == GHOST_ACCS_FULL && (icon_state in GLOB.ghost_forms_with_accessories_list)) //check if this form supports accessories and if the client wants to show them var/datum/sprite_accessory/S if(facial_hair_style) S = GLOB.facial_hair_styles_list[facial_hair_style] diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 0fb48f65b1..690272ba40 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -258,7 +258,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(M.stat != DEAD) //not dead, not important if(yellareas) //CIT CHANGE - see above. makes yelling penetrate walls var/area/A = get_area(M) //CIT CHANGE - ditto - if(istype(A) && A.ambientsounds != SPACE && A in yellareas) //CIT CHANGE - ditto + if(istype(A) && A.ambientsounds != SPACE && (A in yellareas)) //CIT CHANGE - ditto listening |= M //CIT CHANGE - ditto continue if(!M.client || !client) //client is so that ghosts don't have to listen to mice @@ -365,7 +365,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(message_mode == MODE_HEADSET) imp.radio.talk_into(src, message, , spans, language) return ITALICS | REDUCE_RANGE - if(message_mode == MODE_DEPARTMENT || message_mode in GLOB.radiochannels) + if(message_mode == MODE_DEPARTMENT || (message_mode in GLOB.radiochannels)) imp.radio.talk_into(src, message, message_mode, spans, language) return ITALICS | REDUCE_RANGE diff --git a/code/modules/mob/living/silicon/pai/update_icon.dm b/code/modules/mob/living/silicon/pai/update_icon.dm index 9e40b71c5d..8c051d9c41 100644 --- a/code/modules/mob/living/silicon/pai/update_icon.dm +++ b/code/modules/mob/living/silicon/pai/update_icon.dm @@ -8,9 +8,9 @@ var/list/states = icon_states(icon) icon_state = "" if(resting) //The next line is some bullshit but I can make it worse if you want and make it a single line instead of four.. :) - if(dynamic_chassis_sit && ("sit") in states) + if(dynamic_chassis_sit && ("sit" in states)) icon_state = "sit" - else if(dynamic_chassis_bellyup && ("bellyup") in states) + else if(dynamic_chassis_bellyup && ("bellyup" in states)) icon_state = "bellyup" else if("rest" in states) icon_state = "rest" diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index e304f13d1d..c6af8bd4c2 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -340,7 +340,7 @@ /obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc var/medmodels = list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot", "Medihound", "Medihound Dark", "Vale") - if(R.client && R.client.ckey in list("nezuli")) + if(R.client && (R.client.ckey in list("nezuli"))) medmodels += "Alina" var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medmodels if(!borg_icon) @@ -437,7 +437,7 @@ /obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "Vale") - if(R.client && R.client.ckey in list("nezuli")) + if(R.client && (R.client.ckey in list("nezuli"))) engymodels += "Alina" var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in engymodels if(!borg_icon) @@ -515,7 +515,7 @@ /obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc var/list/secmodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider", "K9", "K9 Dark", "Vale") - if(R.client && R.client.ckey in list("nezuli")) + if(R.client && (R.client.ckey in list("nezuli"))) secmodels += "Alina" var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in secmodels if(!borg_icon) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 1e1fa9d41b..a82f8ab6dc 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -191,7 +191,7 @@ /obj/effect/proc_holder/spell/aoe_turf/blindness/cast(list/targets,mob/user = usr) for(var/mob/living/L in GLOB.alive_mob_list) var/turf/T = get_turf(L.loc) - if(T && T in targets) + if(T && (T in targets)) L.blind_eyes(4) return diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index f378906db1..e79e24b885 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -467,11 +467,11 @@ return return - if(parrot_interest && parrot_interest in view(src)) + if(parrot_interest && (parrot_interest in view(src))) parrot_state = PARROT_SWOOP | PARROT_STEAL return - if(parrot_perch && parrot_perch in view(src)) + if(parrot_perch && (parrot_perch in view(src))) parrot_state = PARROT_SWOOP | PARROT_RETURN return diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 0abdc9a739..5f4172fb7b 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -270,7 +270,7 @@ if(!is_operational() || recording_recipe) return var/amount = text2num(params["amount"]) - if(beaker && amount in beaker.possible_transfer_amounts) + if(beaker && (amount in beaker.possible_transfer_amounts)) beaker.reagents.remove_all(amount) work_animation() . = TRUE diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 810124b2ba..f3d687d160 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -551,7 +551,7 @@ All effects don't start immediately, but rather get worse over time; the rate is value = 1 /datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_life(mob/living/carbon/M) - if(M.mind && M.mind.assigned_role in list("Station Engineer", "Atmospheric Technician", "Chief Engineer")) //Engineers lose radiation poisoning at a massive rate. + if(M.mind && (M.mind.assigned_role in list("Station Engineer", "Atmospheric Technician", "Chief Engineer"))) //Engineers lose radiation poisoning at a massive rate. M.radiation = max(M.radiation - 25, 0) return ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c7e574594b..0d9f800b09 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -338,8 +338,8 @@ /datum/reagent/water/holywater/on_mob_life(mob/living/carbon/M) if(!data) - data = 1 - data++ + data = list("misc" = 1) + data["misc"]++ M.jitteriness = min(M.jitteriness+4,10) if(iscultist(M)) for(var/datum/action/innate/cult/blood_magic/BM in M.actions) @@ -348,7 +348,7 @@ to_chat(M, "Your blood rites falter as holy water scours your body!") for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) qdel(BS) - if(data >= 25) // 10 units, 45 seconds @ metabolism 0.4 units & tick rate 1.8 sec + if(data["misc"] >= 25) // 10 units, 45 seconds @ metabolism 0.4 units & tick rate 1.8 sec if(!M.stuttering) M.stuttering = 1 M.stuttering = min(M.stuttering+4, 10) @@ -369,7 +369,7 @@ "You can't save him. Nothing can save him now", "It seems that Nar'Sie will triumph after all")].") if("emote") M.visible_message("[M] [pick("whimpers quietly", "shivers as though cold", "glances around in paranoia")].") - if(data >= 60) // 30 units, 135 seconds + if(data["misc"] >= 60) // 30 units, 135 seconds if(iscultist(M) || is_servant_of_ratvar(M)) if(iscultist(M)) SSticker.mode.remove_cultist(M.mind, FALSE, TRUE) diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 59c956acd6..7a67b27d67 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -26,7 +26,7 @@ if(reagents.total_volume) . += "It's soaked. Alt-Click to squeeze it dry, and perhaps gather the liquids into another held open container." -/obj/item/reagent_containers/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity) +/obj/item/reagent_containers/rag/afterattack(atom/A, mob/user,proximity) . = ..() if(!proximity) return @@ -45,7 +45,7 @@ C.visible_message("[user] has touched \the [C] with \the [src].") log_combat(user, C, "touched", log_object) - else if(istype(A) && src in user) + else if(istype(A) && (src in user)) user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]...") if(do_after(user, action_speed, target = A)) user.visible_message("[user] finishes wiping off [A]!", "You finish wiping off [A].") diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm index c4b184cc9b..d0e415fb2a 100644 --- a/code/modules/spells/spell_types/summonitem.dm +++ b/code/modules/spells/spell_types/summonitem.dm @@ -38,7 +38,7 @@ else message = "You must hold the desired item in your hands to mark it for recall." - else if(marked_item && marked_item in hand_items) //unlinking item to the spell + else if(marked_item && (marked_item in hand_items)) //unlinking item to the spell message = "You remove the mark on [marked_item] to use elsewhere." name = "Instant Summons" marked_item = null @@ -78,7 +78,7 @@ if(iscarbon(M)) //Edge case housekeeping var/mob/living/carbon/C = M - if(C.stomach_contents && item_to_retrieve in C.stomach_contents) + if(C.stomach_contents && (item_to_retrieve in C.stomach_contents)) C.stomach_contents -= item_to_retrieve for(var/X in C.bodyparts) var/obj/item/bodypart/part = X diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index 460ea74225..e33f748292 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -190,7 +190,7 @@ if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) var/sound/eating = GLOB.pred_vore_sounds[vore_sound] SEND_SOUND(H,eating) - else if(H && H in contents && H.client) + else if(H?.client && (H in contents)) var/sound/eating = GLOB.prey_vore_sounds[vore_sound] SEND_SOUND(H,eating) recent_sound = TRUE @@ -246,7 +246,7 @@ if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) var/sound/releasement = GLOB.pred_release_sounds[release_sound] H.playsound_local(owner.loc, releasement, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF) - else if(H && H in contents && H.client) + else if(H?.client && (H in contents)) var/sound/releasement = GLOB.prey_release_sounds[release_sound] SEND_SOUND(H,releasement) recent_sound = TRUE @@ -302,7 +302,7 @@ if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) var/sound/releasement = GLOB.pred_release_sounds[release_sound] H.playsound_local(owner.loc, releasement, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF) - else if(H && H in contents && H.client) + else if(H?.client && (H in contents)) var/sound/releasement = GLOB.prey_release_sounds[release_sound] SEND_SOUND(H,releasement) recent_sound = TRUE @@ -364,7 +364,7 @@ if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) var/sound/eating = GLOB.pred_vore_sounds[vore_sound] H.playsound_local(owner.loc, eating, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF) - else if(H && H in contents && H.client) + else if(H?.client && (H in contents)) var/sound/eating = GLOB.prey_vore_sounds[vore_sound] SEND_SOUND(H,eating) recent_sound = TRUE @@ -586,7 +586,7 @@ for(var/mob/living/H in hearing_mobs) if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) H.playsound_local(owner.loc, pred_struggle_snuggle, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF) - else if(H && H in contents && H.client) + else if(H && H.client && (H in contents)) SEND_SOUND(H,prey_struggle_snuggle) else diff --git a/code/modules/vore/eating/bellymodes.dm b/code/modules/vore/eating/bellymodes.dm index 6942a2d5a9..ea15892a30 100644 --- a/code/modules/vore/eating/bellymodes.dm +++ b/code/modules/vore/eating/bellymodes.dm @@ -195,7 +195,7 @@ for(var/mob/living/H in hearing_mobs) if(H && H.client && (isturf(H.loc) || (H.loc != src.contents))) SEND_SOUND(H,pred_digest) - else if(H && H in contents && H.client) + else if(H?.client && (H in contents)) SEND_SOUND(H,prey_digest) //No digestion protection for megafauna. diff --git a/dependencies.sh b/dependencies.sh index a2f6873a32..488504b288 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -23,4 +23,4 @@ export NODE_VERSION=12 export PHP_VERSION=5.6 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.0 +export SPACEMAN_DMM_VERSION=suite-1.2 From d778273083b7f63f531b129b56c0fd42dc7040e4 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Mon, 10 Feb 2020 21:46:03 +1300 Subject: [PATCH 104/392] Make ash walkers a static spawn --- _maps/map_files/Mining/Lavaland.dmm | 2736 +++++++++++++---- .../objects/structures/ghost_role_spawners.dm | 11 +- .../ruins/objects_and_mobs/necropolis_gate.dm | 14 +- 3 files changed, 2116 insertions(+), 645 deletions(-) diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 72f68910f7..4f4bd7f781 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -77,6 +77,27 @@ "aA" = ( /turf/open/lava/smooth/lava_land_surface, /area/template_noop) +"aQ" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"aU" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/item/t_scanner/adv_mining_scanner/lesser, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"cp" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "cu" = ( /obj/item/pickaxe, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -85,6 +106,106 @@ /obj/structure/ore_box, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"cw" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"dA" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"dD" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"dF" = ( +/obj/structure/stone_tile/block/cracked, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"dM" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eb" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/machinery/iv_drip, +/obj/item/reagent_containers/glass/beaker/waterbottle/large, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eh" = ( +/obj/structure/stone_tile/slab/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eo" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eq" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eP" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"eQ" = ( +/obj/structure/closet/crate/radiation, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/flare, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"ft" = ( +/obj/structure/stone_tile/block, +/obj/item/twohanded/bonespear, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"fN" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/item/twohanded/bonespear, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "fQ" = ( /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/unexplored/danger) @@ -165,6 +286,17 @@ /obj/structure/stone_tile, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"gt" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "gy" = ( /obj/structure/stone_tile/cracked, /obj/structure/stone_tile{ @@ -203,6 +335,12 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"gF" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "gG" = ( /obj/structure/stone_tile{ dir = 1 @@ -239,18 +377,47 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"hd" = ( +/obj/structure/mineral_door/sandstone, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "hg" = ( /obj/structure/stone_tile/surrounding, /obj/structure/stone_tile/center/cracked, /mob/living/simple_animal/hostile/megafauna/legion, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"hr" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/item/hatchet, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "hs" = ( /obj/structure/stone_tile/block{ dir = 1 }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"hy" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"hD" = ( +/obj/effect/mob_spawn/human/corpse/damaged, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "hH" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -271,6 +438,13 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"ia" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "id" = ( /obj/structure/stone_tile{ dir = 4 @@ -284,6 +458,10 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"io" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "ir" = ( /obj/structure/stone_tile/slab/cracked{ dir = 5 @@ -327,6 +505,38 @@ /obj/structure/stone_tile/block/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"iG" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/seeds/tower, +/obj/item/seeds/tower, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"iJ" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/clothing/head/helmet/roman/legionnaire, +/obj/item/twohanded/bonespear, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) "iK" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile/cracked{ @@ -376,6 +586,16 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"jj" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) "jk" = ( /obj/structure/stone_tile/center, /obj/structure/stone_tile/surrounding_tile, @@ -491,6 +711,12 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"ke" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "kg" = ( /obj/structure/fluff/drake_statue, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -504,6 +730,12 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"kk" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "kl" = ( /obj/structure/fluff/drake_statue/falling, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -551,6 +783,13 @@ /obj/structure/stone_tile/center, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"kG" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "kH" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 1 @@ -562,6 +801,9 @@ /obj/structure/stone_tile/center/cracked, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"kI" = ( +/turf/closed/mineral/random/volcanic, +/area/ruin/unpowered/ash_walkers) "kJ" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 4 @@ -587,10 +829,30 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"kP" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) "kR" = ( /obj/structure/stone_tile/slab/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"lb" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) "le" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -1179,10 +1441,988 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"nt" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"nB" = ( +/obj/item/shovel, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"nI" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"nJ" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/unpowered/ash_walkers) +"nU" = ( +/obj/structure/stone_tile, +/obj/item/shard, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"nW" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/flashlight/lantern, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) "ol" = ( /obj/effect/landmark/stationroom/lavaland/station, /turf/open/lava/smooth/lava_land_surface, /area/template_noop) +"ot" = ( +/obj/structure/stone_tile/surrounding_tile, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"oB" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"oS" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/malf_upgrade, +/obj/item/disk/tech_disk/illegal, +/obj/structure/safe, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pc" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pq" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pt" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"pD" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pF" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pG" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"pH" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"qh" = ( +/obj/structure/stone_tile/surrounding/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"qi" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"qA" = ( +/obj/item/flashlight/lantern, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"qN" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"qS" = ( +/obj/structure/stone_tile/slab, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"rz" = ( +/obj/item/storage/box/rxglasses, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"rO" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/ore_box, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"rQ" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"sa" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"se" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"sk" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"sl" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"sq" = ( +/obj/structure/stone_tile, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"sx" = ( +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/obj/item/stack/sheet/mineral/coal, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"sR" = ( +/obj/structure/stone_tile/block/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"ty" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"tz" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/toy/cards/deck/syndicate, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"ub" = ( +/obj/structure/stone_tile/slab, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"ui" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"uk" = ( +/obj/structure/lavaland/ash_walker, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"uz" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"vi" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"vu" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"vR" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"wm" = ( +/obj/item/seeds/glowshroom, +/obj/item/seeds/glowshroom, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"ww" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"wF" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"xr" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/closet/crate/internals, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/pickaxe, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"xs" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"xJ" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/block, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"xX" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/item/pickaxe, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"yf" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"yv" = ( +/obj/structure/stone_tile/block, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"zf" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"zv" = ( +/obj/machinery/hydroponics/soil, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Ad" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Ag" = ( +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"An" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/twohanded/bonespear, +/obj/item/twohanded/bonespear, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"AH" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/twohanded/bonespear, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"AU" = ( +/obj/structure/stone_tile, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"AY" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/item/flashlight/lantern, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Bf" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Bj" = ( +/obj/structure/necropolis_gate, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Br" = ( +/obj/structure/stone_tile/slab, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Bs" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"BF" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"BG" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"BH" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"BP" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"BU" = ( +/turf/closed/indestructible/riveted/boss/see_through, +/area/ruin/unpowered/ash_walkers) +"Ch" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"CG" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"CL" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/clothing/head/helmet/skull, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Dn" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/ruin/unpowered/ash_walkers) +"Do" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Ds" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Dx" = ( +/obj/structure/bonfire/dense, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Dz" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Ef" = ( +/obj/structure/stone_tile/block/cracked, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"Ez" = ( +/obj/machinery/grill{ + name = "old rusty grill" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"EQ" = ( +/obj/structure/stone_tile/surrounding/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"EV" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Fn" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Fz" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"FD" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"Gc" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Gw" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Gx" = ( +/obj/item/pickaxe, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"GC" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"Hq" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/scythe, +/obj/item/twohanded/bonespear, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"HX" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"It" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Jq" = ( +/obj/structure/stone_tile/slab/cracked, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"JP" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"JR" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"JZ" = ( +/obj/structure/stone_tile/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"KA" = ( +/obj/structure/stone_tile/slab, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"KJ" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"KV" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/damaged, +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"LJ" = ( +/turf/open/water, +/area/ruin/unpowered/ash_walkers) +"Mh" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Mx" = ( +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors) +"MQ" = ( +/obj/structure/table/optable, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/item/surgical_drapes, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"MS" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"MX" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"NN" = ( +/obj/structure/stone_tile/block/cracked, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Ou" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/storage/toolbox/syndicate, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Oy" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"OR" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/block/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Pj" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Qd" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/storage/belt, +/obj/item/twohanded/bonespear, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Qk" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/item/stack/marker_beacon/ten, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"QC" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"QG" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"QM" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Rb" = ( +/obj/structure/closet/crate, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/obj/item/flashlight/lantern, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Rk" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Rr" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/closed/indestructible/riveted/boss, +/area/ruin/unpowered/ash_walkers) +"RF" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"RX" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Sh" = ( +/obj/structure/stone_tile/block, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Si" = ( +/turf/closed/indestructible/riveted/boss, +/area/ruin/unpowered/ash_walkers) +"Sr" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/ruin/unpowered/ash_walkers) +"SG" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Tn" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/kitchen/knife/combat/bone, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"TN" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/center, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/turf/open/lava/smooth{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/ruin/unpowered/ash_walkers) +"Uh" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/weldingtool/experimental, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) "Uq" = ( /obj/docking_port/stationary{ area_type = /area/lavaland/surface/outdoors; @@ -1195,6 +2435,222 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"UG" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"UV" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Vb" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/seeds/cotton, +/obj/item/seeds/cotton, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Vj" = ( +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"VI" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"VP" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Wb" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/ruin/unpowered/ash_walkers) +"Wh" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Wj" = ( +/obj/structure/stone_tile/surrounding_tile/cracked, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"WL" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/ancient, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/lizard, +/obj/item/reagent_containers/blood/lizard, +/obj/item/stack/sheet/cloth/ten, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"WN" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/item/twohanded/bonespear, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"WT" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"WU" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Xe" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Xf" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Xo" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"Xw" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/item/construction/rcd/loaded/upgraded, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Xz" = ( +/obj/structure/stone_tile/surrounding_tile/cracked{ + dir = 8 + }, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"XG" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Yg" = ( +/obj/structure/flora/rock/pile/largejungle{ + light_range = null + }, +/turf/open/water, +/area/ruin/unpowered/ash_walkers) +"Yy" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/item/flashlight/lantern, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"YH" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/ash_walkers) +"Zc" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/machinery/the_singularitygen, +/turf/open/indestructible/boss, +/area/ruin/unpowered/ash_walkers) +"Zs" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/turf/closed/indestructible/riveted/boss, +/area/ruin/unpowered/ash_walkers) (1,1,1) = {" aa @@ -52358,9 +53814,9 @@ aa aa aa ad -ab -ab -ab +Mx +Mx +Mx aj aj aj @@ -52615,11 +54071,11 @@ aa aa aa ad -ab -ab -ab -aj -aj +Mx +Mx +Mx +Mx +Mx aj aj aj @@ -52864,20 +54320,20 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ab -ab -aj -aj -aj +Si +Si +Si +Si +Si +Si +Si +Ag +Ag +Ag +Mx +Mx +Mx +Mx aj aj aj @@ -53121,20 +54577,20 @@ aa aa aa aa -aa -ad -ad -ad -iy -ab -ab -ab -ab -ab -ab -ab -ab -aj +Si +Sr +Sr +Sr +JZ +nI +nI +nI +nI +CG +Ag +Ag +Ag +Mx aj aj aj @@ -53378,20 +54834,20 @@ aa aa aa aa -aa -ad -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj +Si +Sr +nI +nI +nI +nI +pq +nI +LJ +nI +nI +nI +Ag +Mx aj aj aj @@ -53635,20 +55091,20 @@ aa aa aa aa -aa -it -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj +Si +yv +nI +nI +nI +nI +BF +LJ +LJ +LJ +nI +JZ +nI +Mx aj aj aj @@ -53892,20 +55348,20 @@ aa aa aa aa -aa -it -ab -ab -ab -ab -ab -ab -ab -ai -ai -ab -ab -ab +Si +yv +nI +nI +Ad +nI +LJ +LJ +LJ +LJ +kI +nI +JZ +Mx aj aj aj @@ -54149,20 +55605,20 @@ aa aa aa aa -aa -ab -ab -ab -ab -ab -ab -ab -ad -ai -ai -ab -ab -ab +Si +nI +nI +Ez +nI +LJ +LJ +Yg +LJ +kI +kI +nI +nI +Mx aj ab aj @@ -54406,21 +55862,21 @@ aa aa aa aa -aa -ab -ab -ab -ab -ab -ab -ab -ab -ai -ai -ad -ab -aj -aj +Si +nI +nI +sx +nI +LJ +LJ +LJ +LJ +kI +kI +Sr +Ag +Mx +Mx aj aj aj @@ -54663,21 +56119,21 @@ aa aa aa aa -aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ad -ab -ab -aj -aj +Si +nI +nI +nI +Wh +nI +LJ +LJ +Gc +nI +Sr +nI +Ag +Mx +Mx aj aj aj @@ -54920,21 +56376,21 @@ aa aa aa aa -aa -ad -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj +Si +Sr +nI +nI +nI +Wh +nI +nI +nI +nI +nI +nI +Ag +Mx +Mx aj aj aj @@ -55177,21 +56633,21 @@ aa aa aa aa -aa -aa -aa -it -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj +Si +Ag +Ag +nI +nI +nI +nI +Ds +nI +Ds +nI +nI +Ag +Mx +Mx aj aj aj @@ -55429,25 +56885,25 @@ aa aa aa aa +wF +Do +Mh aa aa -aa -aa -aa -aa -aa -aa -ad -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj +Rr +Ag +xs +eq +nI +nI +nI +nI +nI +nI +nI +nI +Ag +Mx aj aj aj @@ -55457,14 +56913,14 @@ aj ab ab ab +ab ak ak ak ak ak -ak -ak -ak +ab +ab ak ak ak @@ -55687,42 +57143,42 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -ad -ab -ab -ab -ab -ab -ab -ab -ab +Si +Si +Si +Si +Si +Si +Si +yv +nI +nI +sq +kk +Gx +nI +nI +nI +Si +Mx +aj +aj ab aj aj aj -aj -aj -aj -aj +aa +ab ab ab ab ak ak -ak -ak -ak -ak -ak -ak -ak +ab +ab +ab +ab +ab ak ak ak @@ -55944,13 +57400,32 @@ aa aa aa aa +Si +oS +CG +wm +Vb +Bs +Si +yv +sq +CG +AH +Ds +Ds +KV +nI +Ad +Si +aa +ab +aj +aj +ab +aj aa aa -aa -aa -aa -aa -ad +kG ab ab ab @@ -55960,14 +57435,6 @@ ab ab ab ab -aj -aj -aj -aj -aj -aj -aj -aj ab ab ab @@ -56171,17 +57638,6 @@ ak ak ak ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak al fQ aj @@ -56200,13 +57656,33 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +Gw +Si +aU +Wh +zf +Qk +iG +Si +Wh +EV +Xe +ke +Ch +kk +Ad +Wh +nI +Ad +lp +lz +lp +lF +lp +lP +lS +iy +iu ab ab ab @@ -56217,14 +57693,6 @@ ab ab ab ab -aj -aj -aj -aj -aj -aj -aj -aj ab ab ab @@ -56429,18 +57897,6 @@ ak ak ak ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak aj aj aj @@ -56457,13 +57913,33 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +Rk +Si +sR +rz +qh +pq +Jq +ke +ub +YH +sR +Dx +Bf +UV +kk +Ds +nI +yv +lu +lq +lD +lG +lu +lQ +lu +kR +kM ab ab ab @@ -56474,14 +57950,6 @@ ab ab ab ab -aj -aj -aj -aj -aj -aj -aj -aj ab ab ab @@ -56686,18 +58154,6 @@ ak ak ak ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak aj aj aj @@ -56714,13 +58170,33 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +uz +Si +MQ +nU +ui +Xw +Rb +Si +sR +Wh +gt +gF +pF +sq +Ad +VP +Ad +pq +lv +lv +lE +lv +lE +lR +lv +ab +jS ab ab ab @@ -56731,27 +58207,7 @@ ab ab ab ab -aj -aj -aj -aj -aj -aj -aj -aj ab -ab -ab -ak -ak -ak -ak -ak -ak -ak -ak -ak -ak ak ak ak @@ -56971,14 +58427,33 @@ aa aa aa aa +uz +Si +WL +eb +dM +eQ +Zc +Si +Wh +XG +pq +NN +JZ +oB +EV +nB +nI +Si +aa +aj +aj +aj +aj +aj aa aa -aa -aa -aa -aa -ad -js +FD ab ab ab @@ -56988,26 +58463,7 @@ ab ab ab ab -aj -aj -aj -aj -aj -aj -aj -aj ab -ab -ab -ak -ak -ak -ak -ak -ak -ak -ak -ak ak ak ak @@ -57229,41 +58685,41 @@ aa aa aa aa +Si +Si +Si +Si +Si +Si +Si +CG +Wh +CG +JR +Ad +Pj +ia +yf +Ds +Si +aj +aj +ab +ab +aj +aj +aj aa -aa -aa -aa -aa -ad -ad -ad ab ab ab ab -ab -ab -ab -ab -aj -aj -aj -aj -aj -aj -aj -aj -ab -ab -ab -ak -ak -ak -ak -ak -ak ak ak +ab +ab +ab +ab ak ak ak @@ -57484,42 +58940,42 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -ai -ai -ai +dD +pt +Wb +Dn +Zs +Zs +xX +gF +Fz +QM +CG +Wh +pc +dA +yv +qA +vR +WU +Ag +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -ab -ab -aj -aj -aj -aj -aj -aj -aj -aj -ab -ab -ab -ak -ak -ak ak ak ak ak +ab +ab ak ak ak @@ -57740,27 +59196,27 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -ai -ai -ai -ad +wF +qS +Si +Si +Si +Si +Si +Si +Si +Br +pD +Wh +Ad +NN +Wh +hr +zv +BH +sq +Ag ab -ab -ab -ab -ab -aj -aj aj aj aj @@ -57997,27 +59453,27 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -ai -ai -ai -ad +Gw +Si +KA +KA +KA +KA +KA +Si +Si +Si +ft +Ad +pq +NN +VI +Vj +MS +AU +Ag +Ag ab -ab -ab -ab -ab -aj -aj aj aj aj @@ -58254,28 +59710,28 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -ai -ai -ai -ad +lb +tz +KA +AY +BP +cw +WT +ty +Si +Si +qN +nI +hD +UG +Ag +Ag +Ag +Ag +Ag +Ag +Mx ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -58511,28 +59967,28 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ai -ai -ai -ai -ad +uz +Ou +KA +QC +GC +hy +ww +vi +Si +BU +kP +cp +CG +xJ +RF +Ag +xs +xs +xs +Xz +Mx ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -58768,28 +60224,28 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -gP -ai -ai -ai -ai -ad +Gw +An +KA +nt +Ef +uk +rQ +MX +sa +Bj +ub +It +dA +sk +Si +Si +nJ +Si +Si +Ag +Mx ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -59025,29 +60481,29 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ab -ai -ai -ai -ai +Gw +Uh +KA +jj +vu +qi +TN +RX +Si +BU +Oy +cp +pq +UG +nJ +WN +Yy +Hq +nJ +Ag +Mx ab ab -ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -59282,27 +60738,27 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -ab -ai -ai -ai -ai -ab -ab -ab -ab -ab -ab -ab -ab +sl +CL +KA +nW +Dz +Xf +QG +se +Si +Si +KJ +CG +fN +ub +RF +eh +EQ +Tn +nJ +Ag +Mx aj aj ab @@ -59539,28 +60995,28 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +Gw +Si +KA +KA +KA +KA +KA +Si +Si +Si +sR +pq +sq +nI +nJ +JP +Qd +iJ +Si +Sh +Mx ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -59796,28 +61252,28 @@ aj aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa +pH +qS +Si +Si +Si +Si +Si +Si +Si +io +rO +xr +nI +eo +nJ +nJ +nJ +Si +Si +dF +Mx ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -60054,27 +61510,27 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +aQ +Fn +SG +SG +SG +BG +SG +Xo +ot +nI +nI +nI +pG +Ag +Ag +eP +Ag +Ag +Wj +Mx ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj -aj aj aj aj @@ -60318,19 +61774,19 @@ aa aa aa aa +Mx +Mx +nI +nI +nI +HX +Ag +Mx +Mx +Mx ab +Mx ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aj -aj aj aj aj @@ -60575,15 +62031,15 @@ aa aa aa aa -it -ab -ab -ab -ab -ab -ab -ab -ab +Mx +Mx +Ag +nI +nI +OR +Ag +Mx +Mx ab ab aj @@ -60833,13 +62289,13 @@ aa aa aa ad -ab -ab -ab -ab -ab -ab -ab +Mx +Ag +Ag +nI +gF +Ag +Mx ab ab ab @@ -61091,12 +62547,12 @@ aa aa ad ad -ab -ab -ab -ab -ab -ab +Mx +Mx +Ag +hd +Ag +Mx ab ab ab @@ -61350,7 +62806,7 @@ ad ad ad ad -ab +Mx ab ab ab @@ -61607,7 +63063,7 @@ ad ad ad ad -ab +Mx ab ab ab @@ -61860,12 +63316,12 @@ aa aa aa aa -gP -js -ab +Mx +Mx +Mx ad ad -ab +Mx ab ab ab @@ -62122,7 +63578,7 @@ aa aa aa aa -ab +Mx ab ab ab @@ -62385,10 +63841,10 @@ ab ab ab ab -aj -aj -aj -aj +ab +ab +ab +ab ab ab aj @@ -62643,9 +64099,9 @@ ab ab ab ab -aj ab -aj +ab +ab ab ab ab @@ -62902,8 +64358,8 @@ ab aj aj aj -aj -aj +ab +ab ab ab ab diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index e9d9e4ce77..483b8fccbe 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -51,14 +51,17 @@ move_resist = MOVE_FORCE_NORMAL density = FALSE short_desc = "You are an ash walker. Your tribe worships the Necropolis." - flavour_text = "The wastes are sacred ground, its monsters a blessed bounty. You would never leave its sacred ground. \ - You have seen lights in the distance... they foreshadow the arrival of outsiders that seek to tear apart the Necropolis and its domain. \ - Fresh sacrifices for your nest." + flavour_text = "The wastes are sacred ground, its monsters a blessed bounty. You would never willingly leave your homeland behind. \ + You have seen lights in the distance... they foreshadow the arrival of outsiders to your domain. \ + Ensure your nest remains protected at all costs." assignedrole = "Ash Walker" /obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn) new_spawn.real_name = random_unique_lizard_name(gender) - to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!") + if(is_mining_level(z)) + to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!") + else + to_chat(new_spawn, "You have been born outside of your natural home! Whether you decide to return home, or make due with your new home is your own decision.") new_spawn.grant_language(/datum/language/draconic) var/datum/language_holder/holder = new_spawn.get_language_holder() diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 26e5f1a9c0..c80b4d972c 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -22,6 +22,8 @@ var/static/mutable_appearance/dais_overlay var/obj/structure/opacity_blocker/sight_blocker var/sight_blocker_distance = 1 + var/uses + var/ashwalker_only = FALSE /obj/structure/necropolis_gate/Initialize() . = ..() @@ -87,9 +89,13 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/necropolis_gate/attack_hand(mob/user) - if(locked) + if(locked || uses == 0) to_chat(user, "It's [open ? "stuck open":"locked"].") return + if(ashwalker_only) + if(!(user.mind.assigned_role == "Ash Walker")) + to_chat(user, "The gate screeches in an incoherant language!") + return toggle_the_gate(user) return ..() @@ -131,12 +137,18 @@ density = FALSE sleep(5) open = TRUE + if(uses && uses > 0) + uses -= 1 changing_openness = FALSE return TRUE /obj/structure/necropolis_gate/locked locked = TRUE +/obj/structure/necropolis_gate/ashwalker + uses = 1 + ashwalker_only = TRUE + GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) /obj/structure/necropolis_gate/legion_gate desc = "A tremendous, impossibly large gateway, set into a massive tower of stone." From 4dddca9c7a161a44b1ac2ae0d2c6b7d8d400e30b Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Mon, 10 Feb 2020 21:50:20 +1300 Subject: [PATCH 105/392] forgot that --- _maps/map_files/Mining/Lavaland.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 4f4bd7f781..7a064c2278 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -1911,7 +1911,6 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "Bj" = ( -/obj/structure/necropolis_gate, /obj/structure/stone_tile/block{ dir = 4 }, @@ -1919,6 +1918,7 @@ dir = 8 }, /obj/effect/decal/cleanable/blood, +/obj/structure/necropolis_gate/ashwalker, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "Br" = ( From 32a5957c183478864f44d7ab3318aaa020d1bddf Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 10 Feb 2020 04:30:07 -0700 Subject: [PATCH 106/392] usr --- code/game/turfs/turf.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index d8434f986c..e8f53f551d 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -363,13 +363,13 @@ if(.) return if(length(src_object.contents())) - to_chat(usr, "You start dumping out the contents...") - if(!do_after(usr,20,target=src_object.parent)) + to_chat(user, "You start dumping out the contents...") + if(!do_after(user,20,target=src_object.parent)) return FALSE var/list/things = src_object.contents() var/datum/progressbar/progress = new(user, things.len, src) - while (do_after(usr, 10, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, progress))) + while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, progress))) stoplag(1) qdel(progress) From c19549c7f9759a81a54bb6f8c2dc757a73a641b7 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 10 Feb 2020 14:51:05 +0100 Subject: [PATCH 107/392] Something about a couple stack trace issues. --- code/datums/beam.dm | 3 ++- code/game/objects/items/grenades/chem_grenade.dm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index d0b6d791ec..d97ee9a773 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -61,7 +61,8 @@ /datum/beam/proc/recalculate_in(time) if(timing_id) deltimer(timing_id) - timing_id = addtimer(CALLBACK(src, .proc/recalculate), time, TIMER_STOPPABLE) + if(!finished) + timing_id = addtimer(CALLBACK(src, .proc/recalculate), time, TIMER_STOPPABLE) /datum/beam/proc/after_calculate() if((sleep_time == null) || finished) //Does not automatically recalculate. diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index afdde02e32..acd71c57ac 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -117,7 +117,7 @@ if(!O.reagents) continue var/reagent_list = pretty_string_from_reagent_list(O.reagents) - user.log_message("removed [O] ([reagent_list]) from [src]") + user.log_message("removed [O] ([reagent_list]) from [src]", LOG_GAME) beakers = list() to_chat(user, "You open the [initial(name)] assembly and remove the payload.") return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism. From 8b68e57de054874192187f6804b8e46c94314ba9 Mon Sep 17 00:00:00 2001 From: r4d6 Date: Mon, 10 Feb 2020 22:02:39 -0500 Subject: [PATCH 108/392] Add the pickaxes --- code/modules/mining/equipment/mining_tools.dm | 16 ++++++++++++++ .../research/designs/mining_designs.dm | 20 ++++++++++++++++++ code/modules/research/techweb/all_nodes.dm | 2 +- icons/obj/mining.dmi | Bin 63133 -> 64071 bytes 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index cc41682f96..32f9812068 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -66,6 +66,22 @@ force = 19 materials = list(MAT_DIAMOND=4000) +/obj/item/pickaxe/plasteel + name = "plasteel-tipped pickaxe" + icon_state = "titaxe" + toolspeed = 0.5 + desc = "A pickaxe with a plasteel pick head. Less robust at cracking rock walls and digging up dirt than the titanium pickaxe, but better at cracking open skulls." + force = 19 + materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + +/obj/item/pickaxe/titanium + name = "titanium-tipped pickaxe" + icon_state = "psteelaxe" + toolspeed = 0.3 + desc = "A pickaxe with a titanium pick head. Extremely robust at cracking rock walls and digging up dirt, but less than the plasteel pickaxe at cracking open skulls." + force = 17 + materials = list(MAT_TITANIUM=4000) + /obj/item/pickaxe/drill name = "mining drill" icon_state = "handdrill" diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index b4ac5f109d..69e695afac 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -62,6 +62,26 @@ category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO +/datum/design/plasteel_pick + name = "plasteel-tipped pickaxe" + desc = "A pickaxe with a plasteel pick head. Less robust at cracking rock walls and digging up dirt than the titanium pickaxe, but better at cracking open skulls." + id = "plasteel_pick" + build_type = PROTOLATHE + materials = list(MAT_METAL=2000, MAT_PLASMA=2000) + build_path = /obj/item/pickaxe/plasteel + category = list("Mining Designs") + departmental_flags = DEPARTMENTAL_FLAG_CARGO + +/datum/design/titanium_pick + name = "titanium-tipped pickaxe" + desc = "A pickaxe with a titanium pick head. Extremely robust at cracking rock walls and digging up dirt, but less than the plasteel pickaxe at cracking open skulls." + id = "titanium_pick" + build_type = PROTOLATHE + materials = list(MAT_TITANIUM = 4000) + build_path = /obj/item/pickaxe/titanium + category = list("Mining Designs") + departmental_flags = DEPARTMENTAL_FLAG_CARGO + /datum/design/jackhammer name = "Sonic Jackhammer" desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e1abfedde6..f93ae54b0f 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -620,7 +620,7 @@ display_name = "Advanced Mining Technology" description = "Efficiency Level 127" //dumb mc references prereq_ids = list("basic_mining", "adv_engi", "adv_power", "adv_plasma") - design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv", "ore_silo") + design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv", "ore_silo", "plasteel_pick", "titanium_pick") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index a7593e4a55c9671a77707d741262826ee1f3e312..f2e98aff32e417edfe0ad0d00dc7693345b30903 100644 GIT binary patch delta 43926 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

0`2B;t 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 delta 42987 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%0Abyq9Q=+% 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

gehVT@lO*oEFS2$6M07Urn?e;&=s@pf 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%0D&JOr=E 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 From dc4790bdd465f0fb794425be64812e4b8e63bad8 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Tue, 11 Feb 2020 16:44:39 +1300 Subject: [PATCH 109/392] Move RCD to spawn room on suggestion --- _maps/map_files/Mining/Lavaland.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 7a064c2278..13dd939ad7 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -1703,6 +1703,7 @@ /obj/structure/stone_tile/slab, /obj/structure/table/wood, /obj/item/toy/cards/deck/syndicate, +/obj/item/construction/rcd/loaded/upgraded, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "ub" = ( @@ -2587,7 +2588,6 @@ /obj/structure/stone_tile/cracked{ dir = 4 }, -/obj/item/construction/rcd/loaded/upgraded, /turf/open/indestructible/boss, /area/ruin/unpowered/ash_walkers) "Xz" = ( From a9a167b9d3531702ca417040b4854f8bd54be185 Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 11 Feb 2020 20:18:32 +0200 Subject: [PATCH 110/392] 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 111/392] 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 112/392] 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 62ff589840cea1ab70f6c09441173a2b66d3171c Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 12 Feb 2020 09:10:24 +0100 Subject: [PATCH 113/392] Something about a couple runtimes. --- code/game/machinery/dance_machine.dm | 2 ++ code/modules/flufftext/Hallucination.dm | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 6bedfb0a10..38b479e226 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -202,6 +202,8 @@ for(var/i in 1 to 10) spawn_atom_to_turf(/obj/effect/temp_visual/hierophant/telegraph/edge, src, 1, FALSE) sleep(5) + if(QDELETED(src)) + return #define DISCO_INFENO_RANGE (rand(85, 115)*0.01) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 150f066886..0f4c03cdbc 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -65,6 +65,9 @@ GLOBAL_LIST_INIT(hallucination_list, list( //Returns a random turf in a ring around the target mob, useful for sound hallucinations /datum/hallucination/proc/random_far_turf() + var/turf/target_T = get_turf(target) + if(!target_T) + return var/x_based = prob(50) var/first_offset = pick(-8,-7,-6,-5,5,6,7,8) var/second_offset = rand(-8,8) @@ -76,7 +79,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( else y_off = first_offset x_off = second_offset - var/turf/T = locate(target.x + x_off, target.y + y_off, target.z) + var/turf/T = locate(target_T.x + x_off, target_T.y + y_off, target_T.z) return T /obj/effect/hallucination From bb320a22e6590a741fda711ec684771e2129c0e6 Mon Sep 17 00:00:00 2001 From: InnocentFire Date: Wed, 12 Feb 2020 03:10:33 -0500 Subject: [PATCH 114/392] Updates markings_notmammals.dmi So, apparently plain_r_arm, left arm, and both hands are all using the same sprite as none_r_arm etc, so I fixed those sprites as well to match the new ones. --- .../icons/mob/markings_notmammals.dmi | Bin 48277 -> 48261 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/mob/markings_notmammals.dmi b/modular_citadel/icons/mob/markings_notmammals.dmi index 79c97968eda1fc17cb9238244b21b1b456fd4125..43452c8d145f65ac28a05905e6ed6aecc3b18d8d 100644 GIT binary patch delta 41901 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 Qoe8tJc;iCJdAEQ51CJqQAOHXW delta 41957 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

&Kv~bUj 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 ZC|Wfb{e}DuJ_Q8;YpaWA2$mjy{}=oLEam_J From e099ed957840ce71573cb6e72093b04943e140a2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 12 Feb 2020 09:24:49 +0100 Subject: [PATCH 115/392] Further mob holder fixes. --- code/datums/elements/mob_holder.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 5b471a0dc7..6f0ec98efc 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -40,7 +40,7 @@ to_chat(user, "Your hands are full!") return FALSE if(source.buckled) - to_chat(user, "[src] is buckled to something!") + to_chat(user, "[source] is buckled to something!") return FALSE if(source == user) to_chat(user, "You can't pick yourself up.") @@ -52,7 +52,7 @@ source.visible_message("[user] picks up [source]!", \ "[user] picks you up!") - to_chat(user, "You pick [src] up.") + to_chat(user, "You pick [source] up.") source.drop_all_held_items() var/obj/item/clothing/head/mob_holder/holder = new(get_turf(source), source, worn_state, alt_worn, right_hand, left_hand, inv_slots) if(proctype) @@ -101,6 +101,8 @@ target.forceMove(src) var/image/I = new //work around to retain the same appearance to the mob idependently from inhands/worn states. I.appearance = target.appearance + I.layer = FLOAT_LAYER //So it doesn't get screwed up by layer overrides. + I.plane = FLOAT_PLANE //Same as above but for planes. I.override = TRUE add_overlay(I) name = target.name @@ -158,7 +160,7 @@ /obj/item/clothing/head/mob_holder/container_resist() if(isliving(loc)) var/mob/living/L = loc - L.visible_message("[src] escapes from [L]!", "[src] escapes your grip!") + L.visible_message("[held_mob] escapes from [L]!", "[held_mob] escapes your grip!") release() /obj/item/clothing/head/mob_holder/assume_air(datum/gas_mixture/env) From e5ab230b26bc92af51ee3da7c70c6ecfa837a90a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 12 Feb 2020 09:32:38 +0100 Subject: [PATCH 116/392] Monky chokehold deluxe. --- code/datums/elements/mob_holder.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 6f0ec98efc..57fac65591 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -172,7 +172,7 @@ location = location.loc if(ismob(location)) return location.loc.assume_air(env) - return loc.assume_air(env) + return location.assume_air(env) /obj/item/clothing/head/mob_holder/remove_air(amount) var/atom/location = loc @@ -183,4 +183,4 @@ location = location.loc if(ismob(location)) return location.loc.remove_air(amount) - return loc.remove_air(amount) + return location.remove_air(amount) From 5c102d4da0d3d85aaecb776097685e014b23f162 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 12 Feb 2020 11:30:55 +0200 Subject: [PATCH 117/392] 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 118/392] 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 12b84aa3339519bfe256abfa8a18f8de3f47f129 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Wed, 12 Feb 2020 12:43:47 +0100 Subject: [PATCH 119/392] 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 57fac65591..56fb60979d 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -130,7 +130,7 @@ if(AM == held_mob) held_mob.reset_perspective() held_mob = null - qdel(src) + QDEL_IN(src, 1) //To avoid a qdel loop. /obj/item/clothing/head/mob_holder/Entered(atom/movable/AM, atom/newloc) . = ..() From 2bd8499b94e3bfdafec4f6f62a6f808bc60216e4 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 12 Feb 2020 14:28:35 +0200 Subject: [PATCH 120/392] We shallnt want mass production. --- code/modules/reagents/chemistry/machinery/pandemic.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 8870ef8ed5..01c75027ec 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -191,7 +191,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)]") - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 100) . = TRUE if("create_vaccine_bottle") var/id = params["index"] @@ -201,7 +201,7 @@ B.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id)) wait = TRUE update_icon() - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 400) . = TRUE /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) 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 121/392] 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 7cd3a51c4e145b05716d8a4d470130e5d2e431c5 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 14:48:53 -0500 Subject: [PATCH 122/392] Update pistol.dm --- code/modules/projectiles/guns/ballistic/pistol.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 5f67194b29..68f212ba30 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -79,6 +79,7 @@ /obj/item/gun/ballistic/automatic/pistol/stickman name = "flat gun" desc = "A 2 dimensional gun.. what?" + can_suppress = FALSE icon_state = "flatgun" /obj/item/gun/ballistic/automatic/pistol/stickman/pickup(mob/living/user) From ba8c7b191c3e0c33a9eacb0253194f4bf7f77b1d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 14:52:24 -0500 Subject: [PATCH 123/392] Update stickman.dm --- code/modules/mob/living/simple_animal/hostile/stickman.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index fa5cb151ed..8afc985ea7 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -40,7 +40,7 @@ minimum_distance = 5 icon_state = "stickmanranged" icon_living = "stickmanranged" - casingtype = /obj/item/ammo_casing/c45/nostamina + casingtype = /obj/item/ammo_casing/c10mm projectilesound = 'sound/misc/bang.ogg' loot = list(/obj/item/gun/ballistic/automatic/pistol/stickman) From 1ce92329584b6d0699a26ef99dcfe8121a84dd96 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 15:00:08 -0500 Subject: [PATCH 124/392] Update cereals.dm --- code/modules/hydroponics/grown/cereals.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index c5a7e0797a..d72f1e7f05 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -33,6 +33,7 @@ icon_state = "seed-oat" species = "oat" plantname = "Oat Stalks" + rarity = 10 //Not really new, just better product = /obj/item/reagent_containers/food/snacks/grown/oat mutatelist = list() @@ -45,7 +46,7 @@ filling_color = "#556B2F" bitesize_mod = 2 foodtype = GRAIN - grind_results = list(/datum/reagent/consumable/flour = 0) + grind_results = list(/datum/reagent/consumable/flour = 0.5) //So when it grinds it has 50% more wheat tastes = list("oat" = 1) distill_reagent = /datum/reagent/consumable/ethanol/ale @@ -81,6 +82,7 @@ species = "meatwheat" plantname = "Meatwheat" product = /obj/item/reagent_containers/food/snacks/grown/meatwheat + rarity = 40 mutatelist = list() /obj/item/reagent_containers/food/snacks/grown/meatwheat From 0bd1357e5fea85cb9934376263b22c8270bb5b83 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 15:03:15 -0500 Subject: [PATCH 125/392] flour --- code/modules/hydroponics/grown/cereals.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index d72f1e7f05..1d1309acb8 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -46,7 +46,7 @@ filling_color = "#556B2F" bitesize_mod = 2 foodtype = GRAIN - grind_results = list(/datum/reagent/consumable/flour = 0.5) //So when it grinds it has 50% more wheat + grind_results = list(/datum/reagent/consumable/flour = 0.5) //So when it grinds it has 50% more flour tastes = list("oat" = 1) distill_reagent = /datum/reagent/consumable/ethanol/ale From 34d8381b673b843780fffc614977d18ce90624bf Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 15:21:17 -0500 Subject: [PATCH 126/392] Update blood_drunk_miner.dm --- .../simple_animal/hostile/megafauna/blood_drunk_miner.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 899e901827..471fa936f1 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -39,8 +39,8 @@ Difficulty: Medium ranged = 1 ranged_cooldown_time = 16 pixel_x = -16 - crusher_loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator, /obj/item/crusher_trophy/miner_eye) - loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator) + crusher_loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator/premiumka, /obj/item/crusher_trophy/miner_eye) + loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator/premiumka) wander = FALSE del_on_death = TRUE blood_volume = BLOOD_VOLUME_NORMAL @@ -73,7 +73,7 @@ Difficulty: Medium target.stun_absorption -= "miner" /obj/item/projectile/kinetic/miner - damage = 20 + damage = 50 speed = 0.9 icon_state = "ka_tracer" range = MINER_DASH_RANGE From aad78ffb78d6b6fb215c5a292cc536e02a647e8b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 12 Feb 2020 17:53:42 -0700 Subject: [PATCH 127/392] Update teleportation.dm --- code/game/objects/items/teleportation.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 8c0f315ca3..14ba93a60c 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -141,11 +141,15 @@ return FALSE return ..() -/obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user) - if(is_parent_of_portal(target)) +/obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user, delay = 30) + if(delay) + var/datum/beam/B = user.Beam(target) + if(is_parent_of_portal(target) && (!delay || do_after(user, delay, target = target))) qdel(target) to_chat(user, "You dispel [target] with \the [src]!") + qdel(B) return TRUE + qdel(B) return FALSE /obj/item/hand_tele/afterattack(atom/target, mob/user) From 7949c4fa01c8bd6cb61d8113f32dc0e37d0cc317 Mon Sep 17 00:00:00 2001 From: keronshb Date: Wed, 12 Feb 2020 21:24:12 -0500 Subject: [PATCH 128/392] Changes cult stunhand when halos are out Turns the stunhand into a burn + knockback hand. So it remains more defensive than offensive. --- code/modules/antagonists/cult/blood_magic.dm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 1bb1b8533a..a4a8b9d2a7 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -143,7 +143,7 @@ //Cult Blood Spells /datum/action/innate/cult/blood_spell/stun name = "Stun" - desc = "A potent spell that will stun and mute victims upon contact." + desc = "A potent spell that will stun and mute victims upon contact. Becomes burn and knockback when the cult has ascended!" button_icon_state = "hand" magic_path = "/obj/item/melee/blood_magic/stun" health_cost = 10 @@ -437,8 +437,15 @@ else target.visible_message("[L] starts to glow in a halo of light!", \ "A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!") - else - if(!iscultist(L)) + else // cult doesn't stun any longer when halos are out, instead it does burn damage + knockback! + var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + if(user_antag.cult_team.cult_ascendent) + if(!iscultist(L)) + var/atom/throw_target = get_edge_target_turf(L, user.dir) + L.adjustFireLoss(20) + if(!L.anchored) + L.throw_at(throw_target, 7, 1, user) + else if(!iscultist(L)) L.Knockdown(160) L.adjustStaminaLoss(140) //Ensures hard stamcrit L.flash_act(1,1) From 5d327751704abb691fe6c478336528cbd58ecba8 Mon Sep 17 00:00:00 2001 From: keronshb Date: Wed, 12 Feb 2020 21:31:48 -0500 Subject: [PATCH 129/392] Changes the desc a little Changes it to "When the cult ascends, so does the spell, it burns and throws back the victim" Thanks Justin! --- code/modules/antagonists/cult/blood_magic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index a4a8b9d2a7..826b518e21 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -143,7 +143,7 @@ //Cult Blood Spells /datum/action/innate/cult/blood_spell/stun name = "Stun" - desc = "A potent spell that will stun and mute victims upon contact. Becomes burn and knockback when the cult has ascended!" + desc = "A potent spell that will stun and mute victims upon contact. When the cult ascends, so does the spell, it burns and throws back the victim!" button_icon_state = "hand" magic_path = "/obj/item/melee/blood_magic/stun" health_cost = 10 From 73e782a4deadc99dcc00756f7685ac93566b60a9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 12 Feb 2020 20:56:09 -0700 Subject: [PATCH 130/392] Update teleportation.dm --- code/game/objects/items/teleportation.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 14ba93a60c..4439e7c170 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -142,8 +142,7 @@ return ..() /obj/item/hand_tele/proc/try_dispel_portal(atom/target, mob/user, delay = 30) - if(delay) - var/datum/beam/B = user.Beam(target) + var/datum/beam/B = user.Beam(target) if(is_parent_of_portal(target) && (!delay || do_after(user, delay, target = target))) qdel(target) to_chat(user, "You dispel [target] with \the [src]!") 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 131/392] 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 132/392] 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 165f46b8365ee9c8df25c60230e2834085b9f410 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Thu, 13 Feb 2020 17:05:36 +1100 Subject: [PATCH 133/392] goodbye blood bullets --- code/modules/projectiles/projectile.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index a902c545b8..11605f8afb 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -185,10 +185,6 @@ else new /obj/effect/temp_visual/dir_setting/bloodsplatter(target_loca, splatter_dir, bloodtype_to_color()) - if(iscarbon(L) && !HAS_TRAIT(L, TRAIT_NOMARROW)) - var/mob/living/carbon/C = L - C.bleed(damage) - else L.add_splatter_floor(target_loca) else if(impact_effect_type && !hitscan) new impact_effect_type(target_loca, hitx, hity) 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 134/392] 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 a8a071851af42184ac885a4c0dffba6a9ad3f2e9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 00:32:26 -0700 Subject: [PATCH 135/392] s --- code/__DEFINES/flags.dm | 1 - code/__DEFINES/interaction_flags.dm | 2 -- code/__DEFINES/obj_flags.dm | 25 ++++++++++---------- code/_onclick/item_attack.dm | 6 ++++- code/modules/antagonists/cult/blood_magic.dm | 2 +- code/modules/projectiles/gun.dm | 2 +- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 317066f673..957f6edae4 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -54,7 +54,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define PASSCLOSEDTURF (1<<5) #define LETPASSTHROW (1<<6) - //Movement Types #define GROUND (1<<0) #define FLYING (1<<1) diff --git a/code/__DEFINES/interaction_flags.dm b/code/__DEFINES/interaction_flags.dm index 6df5bf77fb..dc3242c910 100644 --- a/code/__DEFINES/interaction_flags.dm +++ b/code/__DEFINES/interaction_flags.dm @@ -20,5 +20,3 @@ #define INTERACT_MACHINE_SET_MACHINE (1<<6) //MACHINES HAVE THIS BY DEFAULT, SOMEONE SHOULD RUN THROUGH MACHINES AND REMOVE IT FROM THINGS LIKE LIGHT SWITCHES WHEN POSSIBLE!!-------------------------- //This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. //THIS FLAG IS ON ALL MACHINES BY DEFAULT, NEEDS TO BE RE-EVALUATED LATER!! - -#define INTERACT_GHOST_READ (1<<0) \ No newline at end of file diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index 831f73ac74..1c21e2d7b6 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -17,18 +17,19 @@ // Flags for the item_flags var on /obj/item -#define BEING_REMOVED (1<<0) -#define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips -#define FORCE_STRING_OVERRIDE (1<<2) //used for tooltips -#define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. -#define SLOWS_WHILE_IN_HAND (1<<4) -#define NO_MAT_REDEMPTION (1<<5) //Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. -#define DROPDEL (1<<6) //When dropped, it calls qdel on itself -#define NOBLUDGEON (1<<7) //when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() -#define ABSTRACT (1<<8) //for all things that are technically items but used for various different stuff -#define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect) -#define SURGICAL_TOOL (1<<10) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes) -#define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform. +#define BEING_REMOVED (1<<0) +#define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips +#define FORCE_STRING_OVERRIDE (1<<2) //used for tooltips +#define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. +#define SLOWS_WHILE_IN_HAND (1<<4) +#define NO_MAT_REDEMPTION (1<<5) //Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. +#define DROPDEL (1<<6) //When dropped, it calls qdel on itself +#define NOBLUDGEON (1<<7) //when an item has this it produces no "X has been hit by Y with Z" message in the default attackby() +#define ABSTRACT (1<<8) //for all things that are technically items but used for various different stuff +#define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect) +#define SURGICAL_TOOL (1<<10) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes) +#define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform. +#define NO_ATTACK_CHAIN_SOFT_STAMCRIT (1<<12) //Entirely blocks melee_attack_chain() if user is soft stamcritted. Uses getStaminaLoss() to check at this point in time. // Flags for the clothing_flags var on /obj/item/clothing diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index cda19dbaac..e658c7d8e8 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -1,5 +1,9 @@ /obj/item/proc/melee_attack_chain(mob/user, atom/target, params) + if(item_flags & NO_ATTACK_CHAIN_SOFT_STAMCRIT) + if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) + to_chat(user, "You are too exhausted to swing [src]!") + return if(!tool_attack_chain(user, target) && pre_attack(target, user, params)) // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example) var/resolved = target.attackby(src, user, params) @@ -112,7 +116,7 @@ send_item_attack_message(I, user) if(I.force) apply_damage(totitemdamage, I.damtype) //CIT CHANGE - replaces I.force with totitemdamage - if(I.damtype == BRUTE && !HAS_TRAIT(src, TRAIT_NOMARROW)) + if(I.damtype == BRUTE && !HAS_TRAIT(src, TRAIT_NOMARROW)) if(prob(33)) I.add_mob_blood(src) var/turf/location = get_turf(src) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 1bb1b8533a..3f70dc6e82 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -343,7 +343,7 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "disintegrate" item_state = null - item_flags = NEEDS_PERMIT | ABSTRACT | DROPDEL + item_flags = NEEDS_PERMIT | ABSTRACT | DROPDEL | NO_ATTACK_CHAIN_SOFT_STAMCRIT w_class = WEIGHT_CLASS_HUGE throwforce = 0 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 9740b4be04..6029fe302d 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -15,7 +15,7 @@ throw_speed = 3 throw_range = 5 force = 5 - item_flags = NEEDS_PERMIT + item_flags = NEEDS_PERMIT | NO_ATTACK_CHAIN_SOFT_STAMCRIT attack_verb = list("struck", "hit", "bashed") var/fire_sound = "gunshot" From aa12ec70a30e80bf01201a4e40e776c73c1ee6ac Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 13 Feb 2020 03:02:26 -0500 Subject: [PATCH 136/392] Update shields.dm --- code/game/objects/items/shields.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 2e8005e631..3be698dd3a 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -236,3 +236,4 @@ throwforce = 15 //Massive pice of metal w_class = WEIGHT_CLASS_HUGE item_flags = SLOWS_WHILE_IN_HAND + transparent = FALSE From 9331b26a21ce88c82e4267392954342ec2e6ab99 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 01:42:27 -0700 Subject: [PATCH 137/392] Update DNA.dm --- code/__DEFINES/DNA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 6913473e88..9ebe6bb552 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -138,8 +138,8 @@ ////organ defines #define STANDARD_ORGAN_THRESHOLD 100 -#define STANDARD_ORGAN_HEALING 0.001 -#define STANDARD_ORGAN_DECAY 0.00222 //designed to fail organs when left to decay for ~15 minutes +#define STANDARD_ORGAN_HEALING (1/(15 MINUTES / 1 SECOND)) +#define STANDARD_ORGAN_DECAY (1/(15 MINUTES / 1 SECOND)) //designed to fail organs when left to decay for ~15 minutes. 1 SECOND is SSmobs tickrate. #define G_MALE 1 #define G_FEMALE 2 From 3bab6d70f79cd5fb114494fe657976f0c939dc11 Mon Sep 17 00:00:00 2001 From: Zellular <36803434+Zellular@users.noreply.github.com> Date: Thu, 13 Feb 2020 00:43:09 -0800 Subject: [PATCH 138/392] Update widerobot.dmi --- modular_citadel/icons/mob/widerobot.dmi | Bin 722742 -> 722742 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/mob/widerobot.dmi b/modular_citadel/icons/mob/widerobot.dmi index 3f48c3902ce29f532c7df53a444ee47f4d92491f..50c29bb75ffd61d471fef306835c9c917d7dcdbb 100644 GIT binary patch delta 321219 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

uS49&G)^2VtI94iB|q5=**vgNk$f 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 CwfZFh delta 321050 zcmb@u1z1&E_cw|M(W8JElv1LkluCny0g6Z?ogyIJpwv>7kY-cT2uOz#(jcOAcW;!I zQfjlwZ!FI_@Bh5_x!=9deZI?sdoR{rd(OG$sNeXFvHTd!`7xL?lnHThRn>63W9(pL zZ)WRgW@Al2@HDOBOFHqn;LQ-H(#V9YF?;( z!o*+l6+cDt@}lI$sxyf6-fhyXkROYstAY~!n;~(zCE{i2YBWxG;ZBy24%(0AscP$% zg(WMVZi+M|Z%n@>lc`xDeZJ|{PqsdC#}2qUDY-YXG~km3eq4{+TXQviIg&a2=i%#C z35@%@mzzw+I$bUl1jppao~fG|UHkF9do+c1NHcI#fcDeqF<*?!$LvJdjKe3H@(4CcXU5yK9z@EZ-&dNzWt|q<^vz80OC#AKv+Scp8~p=NcTU=Njw^ z=NkNJ#5MSdH%JoG{D+C$(X*W%+o{dx~DQd8a^BoCIVY~i<+~b&3iKXcC9*w+nE;D8MehRz2lXhvKV^A;q^@bkGw?qM}C!fBh zHooJOTtLq8#904kj`g%&3UW9qsv4lU?OQ3P=rc7*rE!}1sC%N=sXQgIAWkK*zoH6$>v=F&=wERL^TlzkkFz1t^7ryQS zlYZUDE;x-~{R|d7&UoEmwWy=a%_Y*dEu^%pYtnj8#A_icE69BGnfw6aOt~z2EHSJk z;p8`@pN)OdIP=y-g0&9p#^^e$$Y zlV({~uimnl2QOCyC;2**#FZ+9NgX4o`b?>H`I^(ah&H;JI5I2_-wU?$+8Rhc$2WUj z*V1AcojtwPe$%S&yS)gKB&VRGMX#@w^rudInX{9-mFJ^Z_}7fHtPL8R!RrK3vGl&# z4-_sFrTcb|^bipkd*7MrjEl9B{C2T>o&3%0u&d8<@9|~ywx^u=_)dsY#~|Kx0rK@!^laJW z?1}f2+mzGFSjGwrB(HlH8`TkLdcU;|eQzhPLsnn-*0#*}_BVr8pU-xjG$)UX2uS;z zo^`YgBp>|Zz=?z5)jDx6K2M`O$tq8Sm)3a2j-3{%Y7+c> zscjV-WxO<2?oc*Lfc{WlI#hldFuXaff=fC=KwzM2xqIZ(c%`JI>@XxU;sf=)cWcgAe``Vn%TJN51=$kM?Uqs~ z!QG%g21m%5F6(?QUwKde2f=fVzGq${H+%k+5s;zB^NcT~4IS~bo~C)vy+%qxcajno zfc{+cQVJy@kla|fo+D4dtAB*@X3desOW03c$p&Zsy5gT#l8Q1FiKBo2h5Y?K*{1mS z-{1f9qK18t z9WqJ^iu37aEEjyjy6`x$bTbjs`gt}E4qo31F+Xci7@s}wQWH(h7@OyVJ}K4E@%rI~+!H9SOI$ z8buW3S?{-mMzF9;Dd(iIATp#FHdo173JQv0W?>Nj@q(mrcLU^m@4CUVoVZ?@IIgE{n z+I)KM#B-1P$`z3*uW8tYlbB8dqUJwY<^BF3IPLNDa3u-d8m7p|NPd@E1!aG;Si%tr zWI?2$N$O&>$mnDl39nVIuKQUUWkTeVw`7U$Ow6)ZA{>L#2AMpVveGj%n;fzUSrd+%OE>BNRAe$sWQyJ+ zat^{&y&QCGy@dUfYK`t0+db*B(A7V0BR8*q_V$`?x`V!-O9}J!di?4fk=%3sUk4tp ze|+_SaZ9R~Pn4woUPPZcwY0@t{aJs1|FeHc`BigWR!pNVD`=hi&ipPmJ;su{A)2}W zypJKTTrXo*GoPHw!M^Qe+R))K5E2E6Q{AQ0+~P7;n5}!R4-V)GwPaQfmL5b#B9Sp5 zu9c3th-Ury_Zbc`?*3<}_5NpP(e;2^J>!GEv);LU4tA94Wb7p}ct1W-tDs=x?UV4; zfBc=S`I3mkBb@P3&y|X*j@>DedTMrdl^$A|>vHR)^;h-65bb>poB)A`!66Okfs#!o zF{Q_v4YDyHb7ghUHElgdHvWmUgcBua@ja1?S;`0Jezc2J)3FzTdq%>GE7$Q{YNA8e zUx7dNawi;+s=0jj_fjyI(WOwy`$qb#0VLjb4*$eyCm&c|Cg>#C{l5{ z&Pa4Aa~+<*AoE|2^gCUvru--wmG(=u@r2$BtUlH6(L@FD0J2D zHb~P4R(a>9{T;BAZ=X+eH=*aez0&_g-~Di_yda-Gz z>aUJG=pD15ZeZ-?qw_KBdy_u=h}y@ZOO&|vFX?u743#^~g&uZyDEK>zJ#F#1YH$W3 zR(gjeYmTK>Pun+T`4IgCNdI;5rLbtb>qHcY=BKIk z7^(|C`DM67QeNg}KIZzXA33BO3A=;beJ^3Duh?aH{smP2o@D8ooI}=O&f)BO46m+r zCtdw`{Ic?SC!nPLl_SS!|P7qtWN!h#X+-m4zQJ1C_^kAc9 z>KD>9w@&KP>l4&D7v4D4-E^mb@m-9Yj+#$~Nw2U$$Bd1xTTj{o)hTrpB zZbv+;p3u}Q5PbXqKL1W)^d|0DJpI}@A-*Bh&`0WDOY7pvQR9|aP}R=Z@!-?=Xqok_ zH#;)DcLviqr6d=?^>qE|4f_fm%tpdDYh>=~c1Lr=boxV%cH`D4>HS59)+Rwb3wD4) z25<6TqaJ&LCv9!ZBeUV%*%>ys6o^yH)3J7~*2BAtKl2d(+W3{7n_K?ZuV013DYYbq zui9C9`DWJfOfq`Nk#HuW)qscMNj%#XF11)bxuEx-7O@mC%Ln9@d-&?xM=0KHI-vg7 zJ*e4EwNRuRQeP*ztTFv4HvRk5)XT3|$;3B^TPehIH9V`&GcaK1R;%?2=tp*1Ggomf z6s>Y`?ddBXo37QEw4Nl1)0-Z&e*J>uPwxM4(z!t&Lht@0hq=Mq9T)7bO#^e^jEmtwk!p$vk?%X*p?LVUu62?tyi;9Z4Mps|3ad8E0|MK$@ zICXrD&fguUs-)Eq?-nFiufXZRbke*RNk^=j4Qs zTSqhX_xH13yQTyuhlhvj$69`h9`3F4d+t5W(_aagTq|M+a2wHR1keXW78hXZ{p@w$<(~KnVpt)r`3AsO8da; zIHqcc?;n@HAu|=Y2{+@SVR8nBg0wWI{b^Q-*M5(p4t`9mzCOo#MOavKcWb%#E`tYC zvxJ3uvY*AuSb5!?v_q|1k=>N^dNpoh(GJnmOI)ehwZ6SZ#ha&FsRj$J1%m?@ae&(l z4&9vYZ^kvxtv8z#Eqolc?rjL7Iqqa>UAZjaFoiS(tv$Wr9}v*%eY}>YFtMZh;l7(zCe*N6DY7 z9_S+boA%{8_wU_Pw6@NNFP*cCCS8^t^wfVg6M2P=O;JuRXlr>igG%q|P16LYs4G{l z-13h}mruBo)XAFENma7H63{yH!%qL^%@^ht7R(83CRfeeb7#ze+Rh*nkbhx8e z%BD_5Mnq&5k)<>B4-8}{Cnq;vccTe-(yv|Pz#=DVjJ{sRDh;jHyb{HB9vY5@PKzdk z!oZ<+-)y|>Ey928hvS-SH7rjBWX8lUj0kHoh)zw5xvCx(eY4kf>VIf%WfjTvjyz+& zw01u)on9<^d;2LfE33tHQ&>xDtBSUET$SFct@BLr(H)Qd&B4XxQtUw3<-4jH8ky?) z9uEigk!q%_)YQw;bNSk%3 z1!&mFd&8ID;%A&IotB2KwVxN$dRFr6zI?vwty^A9W_#Peva_(TDh2CS?sa9HCe$aqg`svPsy$Ggd2PZ|7T4_RWW;t*Yt<-2LKY-Aj?h z+@g)m0z_9qV!yZsSG~HhkHbbYB{*~l?{tTFrsWjWXw~j7+iZ5FL=uHG1oFor8&DZjO_mjv(iK-o89ecFc6LaC8~8FILzg{rdIm zd`>@9W&B4xaV85r?`8wf^A@||tV>Eu7q@>+)nVo0g_L+rJ5(W0r++qmW`D_4LdD7| z&s{vJr>AGyR%qI}lK;_{Kl%Cj*}1sn;Af|f%=0SKl>MNtOU#Sfn5Za9OIZhpqS)A2 zgq(^BG7L_S-BIiShFKO8jWpd#=Y^MK;(u}*fy_~v8IXLm!P0LQm=QqO?2cc3{-i^g z_dj?L)h)+gKkLb8UVNv|=*>cHRZ~;b+{{b~7Kr*XnVx5J2^lb}v9a;Om_uj(+uOdX z4((9)BKztpm_*kfS@c-98;O&~s=U0s57pH(5L8;L)i}MMi-pFme4sVe z_}RGoa&rCO>V5l1MzZ7MY0GuEBcr0EzgX0|ZkqR6m*!MdXhAG)>FiXOl?~{SICL)` zx3(Jnn0FT|9dv<$)91d7Ojx_gqEq}ISR8+Y@@he|EhDx&W;K#SJ(f&-JNahKE~S|; zS(Qn32@?5V@ty!r?E2%!4<;F`oXf&Y(cFBvg1C~qdlh{=k{BOMvj3qyLtXEg6lUWc zkB5xDT(HV5hnH$A?%H|<>P8KL-BP{>*}E5(F=ZhpSDdkbF=oKji5YzNXDQY zc#rJt?4C@eR3`6WI}eX)Am}#morvDd%*+Kb*W$IcHB~)5an2$E=XPAZa1T#MEJYiF zvmow_w!B>Ymj4;CAnCztde}1%W%3kG`?@{_NSa8)G3WJ?i08Ofr|n z`8Cx&SC89^BvgQV-9U2m_wS>kqu^&)Y<^9ZSy*WQ#;peth?4_T6e%cFe)dcpAdD=y zhcG78@qu*i%gYZ`uGZu%Em`&t4srlSNxd7Q20(1Wb&+fT=H&==r88B>Hoh;mCT7;dG!yhBq{Uq!I~OEAL9m`@pfsg;!QcImvqY}FoxyDQ8t=5t z-P<*U@(AnPs5FiJW08$z!G*gMEx`-VeeM4e=Vu-|n28a%| z8|$iH(vi{8901_mkgcWeVbi3%;NVlJW!3Di^m7StdL#GY-dtIU!SU6oB-E0 zKRde&0ON=E@B5!Tc`^d_RhYrEZ^}kru%}iYfy`4yAdXAp%i|)ci9N#?0^rMrEd`e0 zG~DE1(1ZD3LvVc>I0*`JayDjWDReAlW#uO7cj@Wo2YYyQK8U2QbW@*(B-Yz_0jYE^ z7S!f{{(K9xPe`MUuW#yS3l+=4hZ6^0l@n`X-v)wWHv&xg7pOYTkKzOhW|n^qEiEk>bkLn@44wVIWJ>Zm zvpQK19rF7U^tInY2$#Wd*K9u;UUm+mzIN;U`SXA;;J2lzsmt%oWv`I1-(kK3DaiYi zn>999BT$oC9xl3DPU_HO5>R6|fN z*e%UoY*JD|wHxk-7cs)!_2!zlnJCyXkZzZbBG`zLXXu8IevM;V|?#_4Vne`x;5NuhIW) zL4OEXjXb6mw!cG4N;*Fx4)EkwMc~_?O_xKc!S`PQuLI~%OIzD%zKapU68q)Lx9#lgVy_$fKR|j(CB*sPBq z)x?t&=tE4K8j{hB4-hDzUVigFHt@@f5WBv6 zFgVJMA2~=t%T*FNm>qMgVTex-J%XiymMT7c7gD5_)|if9hJC(tSlMG`M1a3w&6qDl+FtcyR_yl9+Z~;C8J;X zHs*9Q?rNYKF--MWonz9Ed9t#z44OuB(-YAmK9QlTiqkY|pASsf8ql1n{`GRVV&L)I zSDWQ7Y8RpjkDp=#?+cUw8i8ip;~v63eED+cS+ySMmCubDm_08q4>G8J_^=;RIzW^& z)6>6$nycN;+WPuKJw1ARY)69VKe!a`Dpmriab6kALLenl>=fV4U2?9Bjf=aTc#iG) zg_9_#n*(szaeNx1%%F}#5M(3iu##VeNIj8+CK62JOhN#3h5z>Pjz01EkA{^(g3Rn!4 zjU|do4}HJAvPhe{=$j$+=~LLMA_AiS&B|(=*u}mbI`oOuSooqZbd~=7*@3y=YOuVn zXqi-hzsY4aH)_450a}G^Hj8I|+5~hQV3<-8faOmjh7(+gcE{~Kun1;*& zUv`u@_K)a&(lQ9iFR?ZgRhp3I0HzX)`h}}K)V*7SH})9h<9FM#tcFt08Qr!G1jJ8G zOvTMN*B-~(%jYy5r$6w@^q_Cb4!%|=PDMp!0pSkg8muA-Sz%M>i_c}6MJC>3Hl?GH zv9Z}cKF261Da|_*#cqq#Kaw1Duifomf2f;K5ba-M*W<3Qvz2RaZ?9T5RWLnz3-7t~ zp%Dd2aHI6CLTf9c=C#PawC-+5dS;W0Brd)bIdq*F`z0CD29K~}BG;rP`S1sMrEkE&o~qO)X6ZM7oFXVxZJB%W z!J+8&?i`|U^O^URz%y*_Yuj8?*tfiBAG(^@B$(^vjsVMV$h?I3K02gP`@S9{Tcw9h zTCFyH`D|5;=0Pu?tcUpe=Wo`7w%|sH<$5_u1APYlnb72#13-*Po1T8$j@8e3NJO>Bfy*D*Sm@o9*9rjpe5k9N=hCCa=dt7HF*DJR zXg#$3FuPjt5Voo5dWwvJbNTl6IfgZBOUu6Q)VusP6F2r(Txxsa7-#L2ut0$Af zw{f({Ic3RD|2Q&Mh4mgaWZmEJ8~;!=TF(?`w=_-8(<+E`>|D|0Q1 zqVC}64y#Oidpk-|HiR%R(1zq2MTCc^0*Zyebq|9)Fzwt5`5+(oOda(iTPx!^pdu)i z06-2bTyrQxz-sL3XF8<+NBSLIoh>9cT_GvIwB|bRn^kyK>CI3W{A%23?xd1((q%8w zU7Hh&*=cjxB&3rYf4<_L&R)=& z0aceDidI##@%rtfKf%@6h!a`-( z6*LtCpoP+6{JcE<4y3z|#?miN5)(g!GaS4pH+1U7^J1Q5!5NgRfv}u~l$UFQD|S7= z&!wh+l3LSWTMy9ROM!H96G#(wNOOR`+yQrzJ3DKV;4<+{WVLENA~ZC)mF00ZFdog# z&8{oua}jZIIXs@f0uEYzPKDj2fA-~1@-L5#jm;pc1Fd0Zo4~=v#eV>aq500nLad-o zBE+hUuY-Cy$U<+11#V@$aM%*%uC%mbA%l#FjAX7H&xcgx-Me>Y;}uTk*4C#e*Z2el zb6~l1@eaW#)~<|Y#=Y>^X>JQ}95#-YYPax!xAPJ)&%(xzZ!P4T94?u|rSk6)-Q7y- z@ruc(L(5x}LNFo<2_V<2bXgtPfcZiL9*<{|!6*-~L^Aj3#QHc%Mw$zs?#Fg&OW2h!s{mY1<&;2c0({^cA15zW?ZsCmrtCUpZNnu~x~_kV>Ts`B!|18r5R zhY1!c5JMnQEScgpHEVB^jRf-oh#mr2&;a_4PWM?}kv9|BfTc1oJV#TZPBC0O%1e0s ztUC@wFCcz^hl5hh+#V(C&Ps){gV6`~p_T!`VrTLt*+v76&3yS>VlQv!4c;`wD)FkJ z*VfYTWe_+}x;}gPX=z{F5BG7KJBtOlvi`olOpv+6{(=H&bSp&_k-sxU^oaQQTp)=& zeyAj!9s4z*5L*cb@v;O-I!-emZ4tE-_ugTRkmpX;nz|m0~fL-r2e`P z~&r(V8?Vhv9D3@sFK`=cg+bqS~GTJq%%BGswpMc9Q!V@>QTd>4CY2jfj@DGL4FcnPePt$Shjt8aV_7)xjf)*iZXe*X}!~ zg0g5-yE^sdPv@u?2mnL~9JQ$(7lMybt^~XiR}w=(dA~2S3?$r-A5`#MzUl*#1`4wq z=JJ|CxbQsu+RDn0^z56NXMqLF1;CvN*cKRns7um+{IJN2J=bw+R{OkWRI5wt2#srd zX@h*1ab=F<@X8glrC0QLf#8S7l0+kp@nTICVlT;PsUVUC?QtntDj6+v0V;ApCG(g!p%=jnw#$V2i{rOd=tJ)6 z9kSl3y=>NQP{Mf2qjAB0Qnn8M^;{P5h)~*PWs>0&x#|Nj!T- z7kO+$)7~6xluoZAlTNFiwPvvw3||Z)5>bEYPk=ilIaazKLT$EccfTBze$CS=9~)bn z91z#9RoNGhbrfT~B6FAKJEYBowZUJ{r5NiKxI_&ulAaHLA_1Z4PL10|EF~53D%LUy z_j=hO;4=1F!YV=Q+?Yv`S=*ayu0Z$}`~zy^I}@{O8~_G2Y~`(&od*Lplq#d%+9mQlcczTv%j#dJ+2}VpT)blm0JJa}9j# zY!<`^OR2TsA*ct*`UkYv_AL!iO{{m)Mq)52sHmJPs~e}nF&I@PrMGQu5BLQHexRb& z*YQQ1WVT4GCaQ$93niYdJ@!~vI86GOc*u;Fz2r2OkBK@jU8UsG zdOXnA#|Hi*XYD%wdhl{j57J+ROdKULssBBk{^8DGeN;euoFI)lIaOSNyCJ4#BN}%s zVpYB7s*L(l&g&L;v=+ExR06DYrjlmtjc03Di^mGwYF1^R^chF%rhkCM^J|OPvb&3^ z_d3!3%xcb5M95;kTL%MOQs!_GPx!&l;~s-C6RYuLBa}y2@3>JRvaEM(bjm;Tk=%x8 zBbcvac>losF*t#Tg86*=9{b+RJ0tzKwGlIDKk@j<9~=@A?f9q~d9ujE)jjvgb;QFX z_^XZ!#XOQ5D4R}H9CtX7t4ai>Cur#jMyav#~rm*YeYfR{K4Z^-+k6w z-RFqNrbQuSAUTblM&I`1me(h~_G}5GEh^*r_s$RtGYH$KK|MN^VQ=!dnCBp5O_eJZ zvWNJjLtzpw;)0zW*O_-g52vsP=_o@1I8kEn8=1n$s@rO{dZ)x;70^kM(c)^uo167r zYv-&W|5voI9x&9aJ3J zAwLq%d8h8T;geT}9c~r7e6YXOH}#7xe_is?b3^JnLc40KHf^cNv^oEo!8kRMGb1!P zd8OYTZQ8x=C*(ehmtF!HP%z0((|q9No*s=w4ans~;UV2=3w-)TVP^%uhR?6NH15_B z;#Zbk)LLC~=_Qa5Z=B8R<@K5`EwKArm$4t3&4qEU)&2}(YN^YqkwDeUpvewoPp&rv zSXu7^PZG}bE+fMN*lvH9@@c2L`m=&I6P7xz3-3&%rG22l^tfnv1L7-gcopIq)Ei_W zzdw1yw2UWu$yNxhflAhm#gKCxBaU6`KrnWV9zQfH`g)*1af@YYW%+{JuFE?z3;CQ- z_KUU)L-_?affb`YmiEU(7K^Z_+@1ng5}1R1X|??(ledG4KZw~0LWc3gAjm44aRma;EeHw(#QEpjMt9R1Sb>R$24SmzOb`x$2y za`|JJjl^2e6X*R+WH7EZnrHCWR3oY*9*4VFbzqdxYJu3!d@8V@;fykZSofmxr@tPJ zBZvD?)Tx*X7ImC%Iuis45o-SZJji(uVU+P`fA#7pkdA<8z;&Ui1Ar;UeffL$x**Ag z?7x3(EccT`B65H?Twed|O)Lkb4T`^KW)p{v9}S`%BXe_TG6d-41SKD-*dLaf|FjLb zbPpJ47C#Alwzq8u5iH)k!9eX3w|a#4$uY0OA}F0P+;hZ*Pa?V;rHZ2;X2V5jAXtM{yDM1 z!w)+rY%fxV+I*@2R}z1;#QbeXOyN$Mtv8`XXDF?~=H}Dn-&?8?`;eFPXsFG_o&B}w zTD~Yw%|~d@!Mk@-P-9cFva%}R^%PBz2dWvZMJKwgC`}57+*rHUH_Iq2jA#ONI%Fer z;oA2vdvlN?psC(gWqG;qcKo+lTcO9Lqc3?sBrF7)=>||RXT5vJOxqrK??nyKPK6t8 zWs>9-VHki#&POM!Si+vey~>E#PD;N2WR3PhKv4}kN5F51tgF}VJnXBfVRaaH8jOKX zE8tSqTwNN<=`of&B932kD!O(sVEaCC`A!15~A zeZ76M6RHfL7AT#nq98`mgG6%_RP_`OTf%owQi{p+;OCMGHWvrUv}-FnK2fsWf>es3 zi_@~2D+jVxsDKx0-RyN5)HVJ1@uLs@4^MRKOySsr>;Oux>&woSXl0K|-yKm3XH^(Lt6|VYgLav0JU3OR zz4t$@bxl^obbI)vqRvxWct}`j6_wUvrf;k~uKlNzmZSh}D6PQyRLT*c z?aBQ>m!s_(!otGW<%;y9zgk&Xgbyx0gpMqLmOwA@9_1oUN>67&Id^7eZ*qt7@fGo; zDJVW}x<-bE0>hK@7b6du1*u`{Z6~e>vF5|pkqU5iXIpw)p?6Y5k%_;{ zSSm%5Q3X{%1VjY4u~EjiAsNjN1`{g#gv{l`Bed&9H=2rVnndTIda?aV1un-T>9}(4 z({$ksgMUBolnniVae*TvTI0}FAq^4D^I$!RruJ}uRl)VdWFx&>+tc-S!Oi*9kP85m zM#}6`m9({K_=^f;4m_cZkH{*W!?1FT#Jx{wd8%a&Azkb+u?JDpxCUqG+15#A- zLGw=EX4G+UyIVDB{WJ|vx>H+lE@N;l*_*S0ZSJTvF zzrHe8&jM3NGlRoSQ|oMhWIjx5 zgxP>SK~KAxP|YzN0?AB9E+Bx|SRcrHd-={oEsS<=;+rj-xVRo*d9bHy@rEl+E{9OP zK3x0vB(5lc5%!;_gpLE;%w#8`MydOWLatw`w z(4)$v%yOZaw4VXvns^$u4kqYN!|hP#Waj4f5mD)&=F2W2fsKbM0yMm!Jqpdp=jqKs zeTG>??NlNujlhOL>fM6qN$^91P*P;Z6Vn6Tk^bt{E58bz=-vgsQmfJQEFvlyk!N-F z3mal1W6-{30)??ALk~ zdV87Cu2$F5JtCCnAg1K(T15`s)}d!A*w4uT>}PhcW{baie`^#xGit6--g2BvaES%n zRB?E)dwaxe#@!_vdXo#>wcDfnE)lUIJ}5yuaCQ+dPNz019>R=Tk#+eDrOZJL<*sWR z6v=#xbzcU#6dudYuxJm*Dc}EIoA4L`~;F|&^gUdI7ceK z_2%tR2ThNcl)PWV#EI}A8o^iw_n$XIb_eryEhf-rSBf!zA~K7?{N>Hw>okJad^VNK zAN}S#CCAa-2fPj>3bPC_kSIoK(`?-s9LCTe2J=-S>vgO5kj;CsB@dz{s&t^8w*ZKU zzndx1t?O1T9;#McC)VG-Rl8Sga7e zM*ECJL_~_6m$f4I4wtIk+`~8VhldY3*=0ug7Or&>M%-p6rp!*J{K9z7wn?!o3tN8w zE#XbOE-R5a0eSjk^9Hm>rSRpX)02B_;S1A>cUVp;vklpwbrnyu>Pa{2P50f!-7T}h z&?nzxmkS@93cGu&90?y=U98c6roX!Asyiqurh8g=A`Vab-uBzAxdhO4Zl~-%e?ry@`|Hz zFrNypa;T>uBFiI^Q%Qet24W`{VQF$RsbD;v^-YzzZ;7=DRMv-M{QC|r?(Ju)`D-n%ym0k)^sEobs=N{SZ%+l7jNC!H)E$5OlR z-MMoVfoJLBzc$01UJdYHgSIv3M7X12tlGtdAt zhPk$Px|p@^hRcdh#x|)?iDHqMP5_oeJ)fL=-3yv#!V(jM>kJGwG7WUxOTfD0f zAtDHpzU|@RQJR1_Iq@egc?KM=j-Mp>gAgHXuIOb+V-Ra0eyJC7>+R%Bv_1=XZRqwZ zw4b@pC?=*m5Qnb@alFmhM&If*XRq(tNkH}Uv8iczbhPiVr3q9GA0*z0IXuAC5^Qg8 zhsMW0fVMwJGL1a73|g1Fw(FHHYc#a`eX#n)?=Dc9m<;sHj>87q5@QhE+o2@+N>}G+ zU9`*2u>{ZOod{1P*QkoIZ5;Fz8uNNQ=bdwsUW+&uim@li$f(A=(zm{?e44GYmAYA& zLmZobd<8%H?AunSZl{Dxqt8WNGXp8~3QL@O#|M|SmAoP`WM=&H3(8btgUh>?kyI=WTMsi_HC#6IaRQ{me zL6qF-B@S5i_!lbj$%Td2wY3sZUwcxb1z&k$ZCw+2yPSK7nBOJ>+riXVbs@jO=KZiC zL~2gGDvh%iQIV0?L^w&TyeW~xOYR;XNBj_f|CFk#s?iSJJhgLY&wBa#9w$glOuV7< z_FYqsUt!_(1)J6=E+ZJBM~oEJ>Zwwp6)4==0YHGBz^(;HS|Qu#aNE5WTea6#blV)h^)`BBOAUbAq#M%EIa!C6nl9 zu6rxGw#2a_WG=@AVC(i#o+Q{MKWN#^=Bi z&a7-}tp*j8f0Mp<&+jMTo>FatLZ?MF2w@33xK>g@6yD3vkX8`>M9EpeR zw_h0(2GW|~&5dV;r)g+pEiEkz$Zx>o!V34vJ$4r0@qZ%d!e`bN5>+eEXyMjx8A4WYOHuCnr3cygK0pey<2(s(6RiB|h@26stALq;H0((?0z;h|oz zq-nnJ3edeW%34HZ#twnPT0I0%MK4Bc}jd<@X3&`KW{q zv5R{i?(5)~?JEvvAH577IJmSgrFhkR%$oFRrhUM z5Xp)9mB&z7gj!~*BHPccEf!ABz!!waQ~J%B?QVj%OqoxvBq9R|W@fUn%kU)jLbc=s zF>(Fq=;+O#p;wpWVT^iTgzUJbOd@pp!1%6mZhHW%iMzYI$tft5l$CGYzD)>epLA-s zfk2$_)1Mci(rE&D677wrr;COIrBe-mPS!ykM-eVnQaS_Qg-Mx{G2if=jicf`ZZTxB`44?6$=T z%T7+d2;UhhG9?3GWz_z|xH=I_5GP=T8E30aQ0gm!=Z#{9Em?$w-ayUXQG~9pt`6)e z-fpVl8dOH0|Gfq1yJn!_10S%YW@WvGf;@K34)W68KcEA|zn=FKcrv^>Qkl7s)6dptPq<7t=@+bbu2wCI!%|owvS<=$6X2nj zj+~r4x!=6Gvvc+5ZoD^k%WE2*rr{uZNkqh{xp#4RwYsrelSW9yf)G9IVOC*hV@rN_ zf3=V3Wf%Wm&BI4u^JfKz&ay!I5=ec`>&#_o+ezfp5drJ5Ar`|z%i-&duUd z$4}9QHqf0rcloujh*!~1?FW84J3Eg)XxxK_`ac35UHq^)wRm~)&mfu>VD8>)aBlDH z+&_VIuZSNqoJ4Jx?gWP8isc{rZa3GUjq1Ht-u$MkbV!AAPQJDUnk~ohnyxjklxF7V zuY6pmB5H=R4HGjn(fA0*)OiTs)p{ZQ=Em@FQd$Q5ZzyGq1b$xA1M{TtvX`HgRo=6Z zob~$J;WmG&e1}nA^RqyFV}Wo_A9Clr-|!9STzu1Rk}*@dU&i1%&j?N5&?+|v-JV7e z+EMvK!SOXVB^j6nZ)n`iRm)KcuDt9AE+z!1k8VRt0BWD%c@3hno)=ITG6F%pH}B7; zH}ZX$qjrLbh=^9yIq+N~?j9Wy&8>R{Rwx=j7r;|9w1Nzw4`|WzCeqXaPV$Cl!B0Yq zE(H`Bn2J|I$HvAUI5;>|dOiN-(cv62N*oLSrvcMV6#%?1le6IAj~zNHBDoVMPRLht zo00v;wGA#Ni7tAqY<1Fo3og*rcW)=1t1o%wmLS$Jtf;Db=fMLK0?+}k{i!u95?}Kv zji&3|N1w`{E8R6US72bg4Qc_YN*#{1X_BnW$mD)p3-&e1-@|;KP zN*ln?Sorw)Wgb%1A$4^T(b2q5e;UZg3)R7sB$`F8=Zj1`olo=4%+5lxdkYj%Er)`K zXVl7-9YfBW114>GK@8|75 z2nm@hx%F#wo&r~t@R=Sw+w{zg-Q~UD;NY6CsbzMKK3Len$B!SMrl*$&7<)H_p2+fb z6Lb_pGd1)N9@xnixGnzpdWbtbNSd6P0qaT6&h`hDwcTAVb@iOSxUWJNTd1`u~2f-}Cyso=SK3 zecjjfexL92JdWc$&PgwjMCIVzM;$12!2a8dZ{&zWu--5{ zLZ=??XS{v%!-s(N!9hV$Y|H@5j?_=o-#f93$}%S&?U&FI@%j7vf9DWNIdtPJcTPLw zWh9YrBSvsLe{ETIYhkJB`F+r^(1cEfaB$bKOF#BDXR7mpyEOG+M3xdxh;sD3Ucn`o zBQttpmCa~Q?Kb*-R}SHmnfs(D;N+lUK~Ubvr&d$;ot-8;6AxV%db0dmmwgAK)n8{E zn}oDHF{b+;i*`hTZlJ}VlI`uD&Vd#eN6UV9^*)mLG37pnoWyg*r)0HoAJIKnHM8!#<00-c~5M zfIl(#3ot&!Ly_hVS326z%$@c~^XXa5HezbF(_URTHaa%;n5pTbiV0wgcav+M$jjXY z9FNDKe(oGQDEFo(cJ@Wde5Z{-U7WsjiLvb2X^)&S2JE7V>FI$`P0gOs&wcvJ=rGz; z29>}0YI8atH_z6k6mujQi3Gs96Rx&c09>n8PU~#8a>^TD+W$zeBeE zncj6D<@IO<@VadXc)*s>k3jRdF-SKYF#4O-xL%7kYbpmkVD!7))j*mFSM^zatd?p#e8Kzsob@ z>((oKFJ<-RGn|PsymYB%peC05j#(wM+++{hu@5~+Z5Pn{r+)l6Jrquk-z#q>bYC2F zAHG$CWPZogyb9>J>L;49$X#RDgqd#B6vRkxZv0s@(c1EU`!20j0!le)>jnWf^&b_j zM5!hg<90UTlJIV`qs>4luqaRZ4*>t2D(YUT+mQ{0UDgC3=vi)+w>cl%R3o@JI@lJ` zz0`vS)^g)0!!u`gxbDruZ5fesmr!|IW#+h*BBJ5zTp^lwy`vn={6%Oltgl{mWEJxA z@=|0VV%Ek3m0dE7u+xQux+R!mN=iy_Iz-dfaEIR+O!kVndw0w4FGiKPxZ5kb4>Rd% z_Qt<5@(TXBR@Hsh%YbJCJ?>jU?rYtQlBdr3pT-#3g~@H}?7R<9VT6C+;W)ZY6B8bu zo-rvY^@AzIzjw==KAc`E->{IPYAgs_T5araR72-QIj~Zw@?CxyNoW`sd%QV)@nT!* zqpQDa?;W+V5k-b^{rkJ%>1mhBe@*HSADRmNDSdmws10jsW@g6a;vup*lXH1_`ALN1 z&6_tZeh#hcF1MDF+CaY!1sdRtnEUrX*4`8AD88`|@3l9ZL-!r${sm%b$-O}0T@FJG zm$;q)00J`iLoN?qjp3MjRQ45+Y?6_Vkxn}4c zne+8$&yQ7NVbd>noZ;W+6Gl0fFY4;PxA4{$pI@Iq`ELAS4F}LIQe&OM?_9B&M0mgn zmO}?d(rC@gMWOmtVm zJJmM`%F5(qJ(YJdVnCeJeteLe*VBfx2FeV`Yw0eh!Ki_^jbo#E9SAgupf;io#hK3{h`rKosOOj-` zncg=MdWac7nw_sZyPYuQnvG36aWV1awWF5r_bvS``}NS#Pw-ec01uy880Dv!<`I)off|p|0pXJ@Nap zd8q3Ickc9ucLs~CgfVljemHua&>uj!=ZEqsOx9ON^4H^3!nq>8KQTIQ81Vk!OwSHI zaZWy;=`;A7!FMDQaB(od#l}@r0z2LM%N-C0P^L{mTb$2frX%~usysYefWadrjr}#OgjI}@xR?^A%BBv5^P1vHC z?Rqh8AkNrRle~?2H__mFw@!1U>{+8VPQvA(Q$$)`-hHf5jZWoIAbwtv0v+*m+D0|@ zOZ6`GMEAwt_Fj?-Vw6q;VsK! z*Vex<`jG<%lg@*ryonRhY8gkFOK<1Pu7s!r(9gWQMrxi%l&3fPmX;R3AK8U{N!?&0 zcw=?b$rtw4J=Ny_j-)$3A9nq(9)LLiZRVw;J6+}W6UJVn2U=eneIDt^nV6Xw)m4NL zo`Fo35rhZbDNEZ?@BQoE{C&;{WajIK2a(NpnFH--TV=;m2P#04e4B!l2@KSqONuQ8HMfB z*@0`sZ8n3L;2@FvhO_lJN)b#Q_1AuU9m|;N6xNWuE~p{P9e(z#CNiTpdgD`5!_mvL zGc#44ojjpcB>2l2N|)22g`7_~R#X3U#T6B&>=>?x>%2BnM(Jv@JP6%M%kIs^;Lm-^anI0p_R}n2_~r-Gvd^Cple8~f;IOJo>_tkNo}CRCpEvLgb!9c#-i!txEn%FPNOAGpF29yJZDgd4qDbv_oRG?17{{PG*}!+`0ZtHU6vVBs zj6Y&8F2J5ch%si}x^;V`q=>lI*?j$|ANr;{m|{ME{>->x!xPk%=+-4cV5GDtpW`dG zjw%))ygxcGx<|BFs6#|ry5V<*-nHQH@LghJ8QM)-uhTH|^Yepbzp0;D`n2?h*D}l>~OVMFoJl`0^AxjhNMLLeND zu;89&W$hLh|B|{cK{vzoPg$#xnVR3zlX10VI;N_oChubU%_g^L0o4dzY;8x_SpxGs zv|7ollYFS7_kK*8K%tTs2Zym!$UL`Uhr)%_)7ic&o|;kKnVD^gm!d`ltpBz}hJ}S) zV|rL7Y;g@Gv7-I>3kK0JmPPrLy151=Q>ZDsV;s{FEp@4*8Hj1C-xoy#d7A0@xfAKQ|@ z4N+lX_cy;dckyfVjEk>{6lr9^khzv;Ru#f`=MEa3-VAbLs`V-T?BzNhKeDMJ#A{pfWJBo;6)y>qef+GBZoa0V@ zpXumq>&7&@H*GI3WZc3}oj{A=1!@`^42ag^M(@u9F0(`m$uij3DKDNT*!^q#l)BLY zdxyEDG565=zQ%j}mXRy&RUMT~F5(_R29$t;8O0#qRSvABP9{D-BqQ4^*_E~H7Ad%76P&;If#rgCo(@&^Yqqd`x0un4zS5 z_PwL2Bm;rB2WI;{H`ik$mb}W18}fmh_>ZT5i%v)olehhOC183H71lbv&2mxD6jKRn zJ@A7lu&b-<`FT;`9^(@eDkxR^o*}g-sG{QIYeLFyHVw)#|5$dL>ijy^_1WGJ*}+*| z-H*4Kxq?DMoO>3C#k=X@RO3&QG>kZy-dQM_Ecllsxx@+aSSx1;^Pfl~qHa&o^US#%0Rl{Yd8{`;CV zZ9s{|&C}?ISSOa2y^i)EMe+CCVvq2uwZxN0kB)dEE`}W!1bBm(vWKyEa4;|{%Rav& zHD?@WLw)_J6A!>Lpfr{txWn< zzJ7D18yFZkedde`0zCv-hm1@XE z6YyG3?TRdp(K6wObe+7&g|pq-NVpFxlDKX44NId$2cSBS21lIuI;l;Y>{QQFmA}s#T=K5(En3;!Ly_Sym zUkh&)^SAJNlc^x>0UzmZ!gv;IS? zwvKSDeETOua|c!-#be&KBxVUo8!hrjfSt%Qtw1QT_z(Ona?gQh6bs*>KLQ%b%EVz* zwBVSBoQe0t#rCizA6i-ARrWPxBP~YQfWd&)Vi_+iL5O3oSkUPEf3b@w@2s^mHLh zCr;mEoilS6R;J$5)F`|Ep2^?0IOt$bESKuqX+1rQCF)+-(|w@-8USu(W##jtEeD(} z>dMFJdeEO-f~9(O#RD*;=Z``+PIM)2`CXSJ_T=ePMj*gj^j}Vs1cAjwfCXiaPu+~bNz_1=AR&RfMWwOFG;3VJCF<4V~ zIMPtkYUMBGw6O!*27r)XUUcD*U?AG3ALtg-=2>7 z;`}yJ^Ra-FV}>%5_dd$Z_^@r2`&R5KM{(_ z%JT0UP|+`9Z-27SXbCw=q>{)KSkx(4wV<6t+tN}PuLW_K{(@@#LCQ~rnyEX5M)sOK zyPu-#g2KWEV8wN%uQK@h%AoR#r9Ng>+C6?w1YFM!9XhlXN}&oXFHhqk+4hEpp0~@K zMV@|-wW*Fr@`WRb1rr7l0ypi=_fn;%!^&$lmBH*c0JjE*y}Qt33xU=w`9aM#2So3M zfc}rUcdx3zvH!iqpT64v(A_)i;zi3_XlrnbkYeXA-KhICro$N1{f>^<;h7-N@pUYs z_a$R&#)oYS8{7717*i@FG~CQo_BQ-m?6ls0f<`GxXYj4RMUu{LMme>FcgDmzogEsS zy&?YVt+woURr8jRk(qeL7-K@LxW=zMHV88dZ0#m;Xlno_=xjD|zM}GWAJfD4{@vSy zAFBF>(yhH#AUe60aX>g4_J5S8qol6Pxbv)e|NY6E=;@x|uVQ6FC?*iTkC#jJ?ZlD) zhGa37-!rIh>ATj~4y!ICsl_%C8$1tF6hmhfEIw9OpES6t$OC5v5yZ`&;o(pacR>H+ zcy&?XK={v$M~&(U$fsPaN7hV%fxbT0%#Oo{lhKVnImz@qbKf}wD`BZDKl~Y5v8Vls zu0N8ha{oD>dG#PUx$gg@582F{Gjoysmm}xARN$}!$Ci<1fKUBb&?o*tJ?;bi6 zPqT6hBmjG5uI{8i9~u(!r1gv0kpsJTrxO)^e?j9zeiO#0q<>;LU^MXP^|2of4P_&H zgC;k+%&#s#v%)s$uO>fOxkeFDg4kO(O*O9%=E5Sp>V zfDp+H6Gk{Vk^_)a#w97b<2iq`Ot6sA__n)nC7N=VcorLdmr z0_h--M|Db5le%Xq^u~{MybFI%9zA-LWUuf!IIS!nJ8Jq~Jb#`Q*%Mi{uu`-%=}eET zSySDYGGQSaEQ{nPe7RB8S9JS$dqWtrHT*cLHnd^4VYTyZ1(t zN#u$V#B4Z6Vd|5&St#)KZTTdDjY*Mtw=iId(K>OOz-X0{tpd@>FrybAwJd$WFjgg+P5j(%RNG!zc8QLJ7>I)|P zoF_XE3$#ZIToT{Qx-P?(wx&hcz;v%d#5Sv>fbJgeVS6tX!U_4Y=shO1bC9+k+uHL^ zqkK|L|8{wAeEVWOQJ&vj{weyFR-(q0E4$*Hn8)Lm3|&`jhkKgRzuI?z3n8vvAAssY z^>HJ4QTh4#0dj@uBtZz^bG^zW9NyX=*;(2>HUDrLS>)tz&Y|w@nG~sCoEp`F49z|S ztZ&sL22un0g#`rskfQ=Q+^p6|nXi(%1@;TE8aaNDkj6iji2Q2%gr3XnrKP2YdJpST z7Jpn(Ji>GQ$4N0Tr2^3K;WjErP(njP$-)1`W}W*5jFsS1+3ZR4|`5q12Ym* zVeb*JCVQ8GkMur`Gwy?5scn9u{l#&j)417!s1I3%YmG3_;Hc-Uafy`7g_*M-C_W!< zuH^WvpH8kDn{Dk*nyIHwHzES276uR2j?Frm18q8g@#5nan=>!YH*x>C(0{E#{jG|* zxgelnku6L^TbFp__l+-kVv~y6im{A??VAK?P)mi1i_sRfD8bNhh)P_&=*qo=bnP zJzazFlj;%XJM5|UQ7ZWE!;31CZ%PXNzXu=>;(k%YT zaXN!&!E)~Dy*%7FI5bpK!J!{g9P&iI_1m{tAn|W*Oj#n{Je{-ac&jGs*r$3Kja7cO znOENEz0a+1cTZF5R{KKdcK4v)zllqB`ivzROb-)fE;n&dU+~+V>`~t9th_M54&hUD zbl%_JP*=ER^iAq`hyIG3n*T+|jwZ7K0B5Tm(YROF zoDG3q{*N$*bz8@#*cw%YT5@snMl5|cS*4LvKf-Z6Hd}ATvoGEKQCs!+g3>;Z-|<#} zg3soLRhgwedv=HPS=Ev&h;3*%?ZVHW`t)hli-L`IzMU0c?Rh*2F^ZI-+%dc>1Wn5l z**AlR%oVG~P#6BrrTx~_1eJ)@`~LGq8{lIW1Btp$Ej>VTDl*kwUYG(RYKf8?PiF#w zF%sv}R2yaW9^8J0^s?!G6`icSQg8pbQN%8*`FBx3K!9!VQoEj$l#yBGr)UTHBU}0S z2+0dEECsywBBG)n+o}^LC!G!{kqV1m7(HK|T1h{Z@^NzMQi*@}WL&r1f9{6+56AV% z$+GE6l6KM?TaRo05%{kCxbd{U{)zMFw+J4O7?{uRW@G1J7O=f~Wz(7cdl>xhMh#2) z7QGbcxUe8$S44l2RzXdzO6%d48YpN9Wjr1ntY0Me6+IESlzLhtxCuu>WBY)J1i4drYGW5NdGDh6J{c7T_K0sh5mQ^3(*eb0>e&~c z4mmRYS)fzv`Hswqoy?p@e=LNKGR2IBZUpOeJgBKJ#$Px*B@qbY$-L~fQO+us!8((> z5o1FW2QG351xzuLX;h|~c3)1rnue%Ih||}FBFF{V#6sxS&*r_Anjafl{%5_C**2{B zD<$yG9feV1v2)wX6wj}GE43`RJ?c`Ip2w|BCD4gty6kuRgWpNj{MOV!mK>ntTpp`>15J z^bHPHciMM4u|Ragi7-Xf@}swy3VH{+GUQQI^Zop58ka70NNhK-vy(J7Hb#jDgaXjh zX6W)_6^>oo&%K9V+G#)|?eSx>P{pa;U$IG96_Cklrq3JiQ`P8UxB@d2e;|CUV!-2d zOIGRE&yH1mw@w)IE-sm`I7wJEmYc*v0^sdU6btE!15Lu4EB#&_5j7k=%r9+9h1B%F zprOV@BuYCP8X9aV1QO^SpB}nZV_^nus*z>-|A8H9cJJ^_pZ5Wlf(HxvG?G1*xgXA( zpe1Inw9Df6o!@cdDI1EntFKBnjxIw(LK zBNsM23ijx^xt>ao;;VGx=~=dY!J*m{>X~jo#r7xGTW<5z-7Pe}JXNpwb<-kpF$*Xq zIXUkV>H&9&c3)C@ojhpk~)Xk>$13tb>F|AytR+^JoQ!oiMcuTxrxo_ zJ|k)$1}JWmy}q^R4(&dRHZH2f_`~;ytTvDV!%ExNf?wXBLZO_$IiSVsKDET8>YHVd zAAy7MAjRBF&iQwdam5%iuB{t9@#Lq%4or{sx9#!e;w}M`0m6!v>tN-OYG|6?XW!v& zz&(&_kns(D?Np{P)G>VTLe!+X7S1QP`e!9Ddilo1#X)_c1_D!nejgf31-(!N(xR{^ zu^N#g7%T2L&W~S)NQ76EqDtM>F5^yfTJM3nt}bU|V;(K#ll`fH@Ui>3C4t@dTZrR| zYjji(1CDKvDDjv$q>u!qe~h1)8{4Sv#fyPJUw5BM9{5*8j9Iqhoz1IHjMdlHn!zV5 z#`f&FbGN~eBNMP^q!?lJM@eWm;4cm{b91!Q?!4GfYI&ZTfBaE{J|V#!D%I}Y9WfN} z@3y7g984^v1v#F-rbYwQ7hl_DG;K%d3}d^oFi3QI9&!SU{Fv_7q8fL)s_co02iGQw zO1v%%9NZ7_298om2@THMNj^)*_t`XW>d#lQ+$@g8uWw{+!Id^f~fP>fn>C01p{#YYNP<%{uaV)Q{ zFx!R-f)K2!sY?S44t$IRCXrY}QtB@EI-hG;?Vr$)} z%@x}tj9?>-H_w@0>RyxdTArw;3-~}Kurh09Y3T%4j!6h_)@6_CKfcBYlrcy zzU(=q^Kf*uvZ_k+O_RZaXTvIBTHs2C{VXab28B$#*2n0qRdq*4nU6M|+*%yZdp=!U zJ0=|4*xX!+Y!47DWSx5gTRR1 zmuvl~b>;-6uheeoAO^cPas2z-{$YJ|{zUV+Q;w_4H%LCOr?x;XNcrw;TRRx77Yh5K zh}FzY`H(ko#qC$hDb%}v{)Oo3-N4BY|Haf1|&zj#6B9k78-@Of{< zbdX}py0Cq_lHbbG+VJFZ-Ip%|kWXl4^~_;X0wI*3;QDfl2Xefm-|nadkOjx^s#;x& z3Ie}<86_q91g5fx6=vju;+)KZEZfcCaNjg`4;8!A9`1JQH;@(7Q&wlBu&|JM-^<(h zPf}G~J@($c+kn-F&Sc5#e>w( z%hN2Y0-D>Lc>h!nzM(c8GyS(@B1TH;htgtSY@g=24 zv>o>U6G$!*?rJL0N+Zl6rK{hC37gGop*f#vxj2MOHj5ospIiIjKahO(^uWviL2q&e zF8%23=`_!iV6T!m3kjDD-R*)Wk6t`~ZuqzC+1VGkkG5`d^DE30S7;6763;X=w=Ay$ zjOdrX-(za9S1-YWGf5L7Mf%Jn3dP+m)AY|B(a`7%i|-`0yWo;q)w@0l?cSnD1Z|Zz^}D`O*hzcRPSP@G+tagq z)`QmUtD729i8bN9Jgqc@|kxmj^RE&2B9%F-01i{k)>6X5L<>Z0T=BYXEu zN(!yORPUSRWtVLzn3i#790%$I<&pD5pV}&)gw=QVUq2mdjqY?++P|@}gz^u8zJvJw zX5HT>LQyqxE`P*m0-90E0BqlVEjMaQncJo@ZZ@rlKkXXOSLSDQ%zr`sh~K+*76t}~ zt@iNt5txc{{?l*~yz$<>dl)4^MR22En2#2qfp1>>P zlJ8evuYjO`QdZDtT?xPjKppYHwCCw>HXDmPs@rc18Gja;AdCSg>I3VGMn%mr(wwen zG!b&ShL5FbdJ{OlK8nxNArAK4wmblF#DlN0Zzf=vB3@E&9QF!0dbjq#9KCH?^TtO9 zC~ayR+&z7>6b}|3^93HYH(w-{prw^#P|VcL*#BGk@EUP#Xl$S5Az>Zav<>j_~aP>2FhDbfAvZX`?zh~Fj> z=o6x3l_`3jDWB}U>;eQSN{75Zef{dX;2(g;y*S5@mdYq0i?@RZ%UUxHZi+3_qkMQ$ zNEF5&JRmVW#{a1*wEN6fp3lgrKYf-ex?*H!cp+*eY|0%sT1fu~I+PIONZHnpG_A$C zv3mIAEezDX@CMFp`+F>7Vrfu01%46CPja7$F~xuY23$zT{Cl0t!)~VA{5bx9-OM_i zwzl2f3Cls&nmr!Jj%ltw0ncXPy?bMjxcvS5-R;i%cxa}Q%vUyUXO6k}+HemrHnhtX z@{4QKea^AH{V+E6+dr%6Sr$p8dm!kr{i%5?L)yeNbWWY(!k;uxoud4rQ=47xIv}+5 z4y}7gH`S&q`Et9^L)72`%$pQC!ih4%C5bwYLnxG$u$_SQ^t6J?BGAYJ+er(%R2#?I_j(Jl}mZ_V&8uxjwF0Eq=cR!k+RPBu40Ug3Z;vGPwsyxEh<|3 z-6e#sO+g8u9_wF(PFRsmgSfNPml5R&SA2P6q$Lo9dd*E*I$5vT(?O{cvezD=36o2i4~2O-~*vE*;2Wr>phA- z&R>%&wtM4)!ovxOmiIv-M1@)esRI-0;#a6JfDJ{*#o^f7Xir&@_2Tz^fIfg?NM$oK zInc;yzp(OV?X}#HE95Mo_LY?>8E$tt$9(>OrPDC4Q7XC<#Q>;l>^zBpE8-9l7WM=@ zG~S4mt&WDPMLV#d6t5+#)`%c?*PpiuSJjsLRmL#6}&duZy|d$d1S*t+}60qPuo(HHzT#6 zqF4nPXZ^$F=cT+CA?D50{fuO@Xqp#+*bz(qXdL6iAO3*}5fL;msmRZQT zwWiX924f@i39g?`orxOk9~Pq;+5R(SDZ)@lQnK#pJX&ws6~EsC)!kRrRTQrNN+ZN|z^3g0#e1y8Vf;erD1Be#@0ZzC5|PDNx=4If#xpKzVS-Y~h)K z8$3xgxtJ#F1%o-N!=fug`~_S>I%lV1K8&_^^alIw797~rZ>4BwiG-4VTDIZFNb2I8RhxSS1X;hcKNAd%rW7_@qX9wqCE8p z#a&nKo9@3a__Z_cwpRT?x^w5xYnetZzAWb4(NzHy<4>4CVLlgcJ9Eqd?ym>r?d;{D(bPbcMf##h$Q7euPl>DL=H<%0ZfMbtZ^%3+RfE+ke@ze^& z{&Me%Q24yO0uO6KV=hocC^90#ja94*PArEgV-2ofyVD%rl(5vizAr7a6{D;<3@UtA z54-$fCAOh~a}(baVr}(H$%C5PpF7u4qX+h2|M9kNvo}ZGxp<2wYsLJxT8T+YTA~64 z5kiCJT`(Hh+f-=hidC&CE%j-C@0u}U<39kSTte3N?TRtnQr~SBGH8`Z-!W*B#rmJ$ z)$fy{j_|i|EW-Gn{XKvE2e$3wW7m47pcy9qT@vyJK)9&T<1zKZ!X!yY-N?wONbT}L z_St1$ks^OE5N;9Ow{PRo14;XkOIL#$YV@N^)-H`?d1qlV0ykedGvaSYMEV;GSu;^i z1X@fSB)gN9HKI05>#0n3)9?h%cNqQi58xBA_Rm{3F7+-9kY*{c^F5V(Xj?Yp2we9l zC(P6wS7&9~6{!ArT~ayIyv#+FO&@roItj`EFdFcTk`J6Sk)n*=w#0D=J5Go%tkx)g(3-g0}co5=fC7U9g5FRgTIr?~hZul-uyT43z0{Uvfm&@^aW zx-wto`}q`oRM=a&%*#{z8EzvuWbX%y8@GG}jW5;Nku5znyHiHaclE&WG1mJ&MmRL)+jmQ1@UY8JdTs!^+owI1 z;QRFG-MhOWa2%mw^-f#g0ImG7V-S*l+e7xqU%k2q?)^fZC0#?`KZdZflj;FPAei0Z zdM>gF?S%Xol3upyO>rS1Kwi~IbIIHU;tIVS%WwfZK@3vaDZdfv zGrF^^Abac7&(w{dw_YLo%yJF}Z`VJ@Yv9E^oY8Uo-4)c)cpX;C3AgnI<7m7)KvK-7 z4Gq8GT^om7z9tm_}xZFrj_M5!{9{|gEB-k9Y zy0vezlaCC9$aLb^({?JvvgTH^M=I~^bnQGv@>gE!bC4GSly!KSA!=VoyU^Vz#yi92KZs&>f_s?(d{;8oEziZ1t%5EGfDzE0f&q?37p>{rjn+(&hh@2nv zaGg5bJ}XZZIHv8e&G)2P)v>_&r5>52-vSmzIUSKPB+?@_)&Y=&i@3Z zf`-U8^ZAW=rh~Vc2`&!|H)Rw1J;;^gJSf{Sv)HVgap8CWFmoAGw@v9*#arE;3DOC} z^6{?s(VuZ*w&B>OnvtsFx)87wHGJqE?tlh+jM<6_o-}Ivnc@CkWqw@@9GekDssP|%w`OCP>15MxP zVUO`H42b~P5&93-NTNu{O}?zROMm(D@BOge!1DM7i8?yqey?KMPC*xV z&-O<_JgOy4Ev>t&UB=}WemT3fcG?T(Uno~qH8a}@q#5Hdf9p(j`mUnQX(_&P6st1l zgs~upU{}b3B53oZ08;Y}tQ|stfx*F8V|(_L(3@(|nXu}8sjrWFxeTVhLtd}L)*#)D z!_H+Ti85bk@OIU=_coUWjFO^)8E4@Ag5E2V*w6CZ78DdDfHUJ*;A@E!oc-!(9zNhG+`R6=fr9nvz0D*3JI!OAV>VVt$&;>?I8p@Yxy~*$XRV+$YDET1ttGu@vm3 zsHvO-49KH$4xt!|J_0@EWW!C9smkAx3E*6zK|u^iqrZ*%3op$tpePVhd8=2Z1QUim zcbG}YPG4Vtd}j2R`Qsi|_Pjw?ST8_Rk79ep5;F%*pFVvAj3J7XyLKMo^s&KL{(!%B zV0x1lgqbLxpm5c@lZ+oXZOqc_XRBtsNGJ%2ZDD$`?!8idmAd(3zbt!xd;s~?rht#$=@y6g+@B<44T=4Rmy4`RG_!2%$E){PB{YvSOxHIbvSp5<8w4+Ob!O z*)Ao?mo{r_#71eZ-}DpqT^e7ncJ;dp`|9K_%2hQ5q0!Zne;km%3Fd6^HN+F@X6KEREa9^)ZbnnUpU1{&CX4TKXQuCUo2Tk#o`31jam+)yC9Q##O~>C!gJDPDSK$Qh*{Gy$ z{sgbRMIG9*J1$#Uc4rOu(a0uP{7$|x_T|T%)xU|<4EBtZtNH@0N35)NPi;SLcup+k z32WRdT6zT<0lv6DwDhtBkN08zVq>X1+fL!DjuegaUk);UIe3+hIc9wXUCk2?{XH6d zdFn^I;jRcv@dF4zZy;tQ4NWCQNh>OJw4u;N8b%EXbY7lp!B0DAeYhb?{-`wfBLE#= zsjpwNfZr{z$Mlq5{pKL>a-zYPcJT1<0NK7p04i6u2>1yb$e0>lZ`D_A-z2%}&@SI+ zu;wUJS~BjmPy)4zv}^slIh&i?+=c5uVrQXIcWviBvGwuWY8q-E`)v{W1$#K{2tDlE1gu?&8~|1gh``Q8=TXf6~`vw=sc6p+XjJcm;@fyI2V|0)}%Hr_T_ow8l_{@eV#%Fe0+K+V(fYQ2LnMnStg zj0&pMxQv7-bHCz@%WdWuf33Q|pvRxtft*^pTd+ zH{!eX_zbSS9F4D$mRSF6fS&y4XYnP;LCEtfz8W!*N(-wRMnY_G>($gjtFI$7$z#5A zMM%bvk=C7P!_0r04V(v_5gUYK84)_L`$@tBR#>kJem(Rgz8M6DmQgphI|`hqJg{e* zPMm^%2)^_ibu$iFD7zQ^bSN|=ePj<58n0X~)if=gQIA|Orudd%;`AoXn1+^?T_%xC z##vlYgQ9?bzTc{j_iJXi12j@`ka|YnyGIvVwUZ(l@^*JGGLgD>_pbHpuWSdp zIYU|Ld@20!n41jif%mKA{t!KhRKr=?Teu#}@>Z|vE1fq*?fMP91R{7{xY-0S;e9 zxR!JMy9K`lKs2IRtA5mKF#JwVp|S7CC@OV)zuO?sd6i4ml8t1<#F!xu&wl#!&T<5F zq>vS#b*~EXH+LzIDIvY`vBA9{FBzUYTKlWP!9B4G=YPxM1 zpofl2gfiI7&~v};DB#!~2M%z+{_#^?-SH34H_!k5d`#mMi}4SlwXMy3_EYryw27}4 z#YW-T7Lz-Xd82VuJ#SB@Z+QN*a!z|s=?1>Yy4Skw{~Pqz&o60yS$)Qct&Hl#@AI#t z2H$psiEX`!s7QViJaUdd-V7AR!;w~+Dg9SUTtY(VcTG3Lz=`(RNC_&xtKaIXC|fA! zE)};EEiI&dN*}&bOs7+A^NZ}x(FX^vabocytRTTZ4a8pF`S*#gDi+>!b&G=b= z_16TT7I9Hz6_xJ(;-2;mbCfmxtNYOs#?Vo(w)>5-Ot+A9_u}JfZ-Y!-G}z61A1?U$ zFKAtwan`}QlP?b2>L z=U*|Q+w{fV-shLWrSV5q^((3+tE~p5)TYoP-$6(^!j|&w<`F7x1?FwA@?{w8ufjT$kTD3JhsI>33V>v-6BhH?4Fx;rXNP*VyH8vgAN~&En3S~LQZvZ{2A4W&7M^=q{e1Cbd z)Q4#C$eiD47}OKo*(-QJV@qIUa}N&}EkE7T_a~v*S??7FhVkm`j_dP%p;De42WiSa z_;@*B5avmIDWnV!@qKH*-TUZ#NA1k@e6-|Pu{VDr%L*Tq=Y5bUK`e0&xigGu2Pfd%M z?@7U#QxH^Lb)1`Z^zUC9EBhfC91q8C+$bEFTM}dm3UT{pwq7x+V1fQo2e10h!&yj% z7DYWwiPB>;arS4%d*+r76jFr#&K!J{<;{%TUmB2o?cgpm&I^?8$Rh$}*8?|KXG2$} zc|$_bvS?yy<)NhIiDrKbzXjpn23ZTO{WI>b=xVmqj=Bx!3CN$B`ug7$43pByc?MO(oo_>`@Hj*N3TeyJ4NuSzcE^E6~t#GcB!gMLc+xgCqPn%pTl)iM;jhzWs*tD@kxnDaStdlS`}&hsOJ`9GXOf&JXVNIX*M4x=~`F)_vAed0{;DT+gugVeCssnB7( zM+KHG8*!*ZDHO}UatJw?H@pC?uV1f(F9E#a!jPLFb%f=bVUvDi8X?kj-Old5l^*{8 z4o*rKQ|(Bp1U}~+ z_I@#ZtGa4@r8iaNytv5L@cb_C?YK~Uv?|o3@TS@_`TS4ku$RL3)u?YwCqFWvBiWn) zwnXJm*NNQ>a;K`G+#Bt0Tky{&U&&x74;5+B*b5CtjbG;oehKcStSwQVqSNPbX(=C> z41KkX9h=5TFTN2sML;#XyEj9meJiVUkqL(<3m&c`rhqR`$$Bfz=XYHHNS>d-jNFMU z{ODDDGf%wdIm#rj*7@_f^~o=Zq)`S!AT^b-&&-7iiTocsF)O4tr={+JjNt2qh+8-T zQWJlrW>KGEVoOnvmaKetC?kMvDwF@qT+bh+LC<=}{lO2%uu2cdyfnbtr}bNC-BI$3 zhr#YMe#jEU;wNGgvR~jK2J$X=Tl*~R(IC8y-}GEIU98P-W#(gBSTx8g_(`vmmEsj_ z81?Gnm$@<-@)#Mm=M>uX1L4=z%QyM?f~AU+_cjbfy7Oy21wd^R$jH;!@DMBXBlO*_ zu_%WPJaxj?J8;4@#9$$;l?trV5X=?>&d?RU2g?gCO%(OgcD3D5hJV z(~NN-2f!ikPS;5)hrpuOtqAGIp87Ij%b7!+YT9DDucF@Ooy0Nef!FeO;IzScz$Z?R5@gjU5gSzU6-9eBx6A9hR$Jv+s^v14bm2hHcUE!gM zK9pjFG+Ia#58YscM<5NWcx3|G#;873g@Dg@G_wD-;U(bC$*^GZq@kuFM?Srvc*8>; zRMNW8tRm_woq41&0Mv^WfV+0pzxv}=H1WOtJh{UbnmFEW09yu`;ZfLW9$s5^CJQzU zEmXlDSC?J34}4puPcK{&Lr4d0?OA z*dKl{?b$PW*!h>iyTb7U9oHlL5l26GWTu5}Jf(ca6@9n$3+JkBW`g=|yQh+5P2Uv@e!s+U?b;%kh^tGjRSka%oiiGcr;M zGcJi!+dUD9Fu_mB0W-aNJCxTJ;80!3u2@ zc49k@g!z%>DaZbpU6UKG<8ebKCwF5~2)=K9#;+L2qR;7#F0g1Uq~p8S`z6ZgdH+0D zh7u6=7B{%YLygKPhmENAxAgdRN+?UdM`vo6)w?6F=8zzSVY&jFPCDuNh;!p3`4e;i z)kJ!5<+y0Y@1<+GOhnQ|ws}I0S?2&%i6(&PGIAhw`*m3tH#Zt8yOJ4Qi2WInVWGAJ zgvs~%{a?{U1y?3qD0wnr`s;4xKDlB&M+8!M2(E`tCH(z+g&#dj+z_nEV4%Um9L8TD z-A4@xU}_jPeZp8vI4!b$s#S>VUB%mweKMh=DH~>vXfdHDA5~N)<=arDVB{fxvP6N+Fz%q(AF5T>(@+=c$(&8#8deP zeO67*`TR1;)CnY5j^H9T#gCgh| z&F=;;SuA51+L2Dygz&EpC(~c2Ml;-YSe!5m=mq7X!iFIBmbVG~n3u=MiNRQgXU^~E zuDjo3e#$oQZcaX%s9>wnrB@hG!BuN=F>gB+{(&huo1(E36S2XEr-zuSQIUO~8(dup z*KrS$2=Rc`#+gf4E9r<`>w4w{RpwNfNfQG*@B0za0OWy{U99Aw496kIDsB+{7Gm zGHOBA97$NnCNyH&ES1xn>620=TP7j+xdo*M)d%%^>&nnJfCe5|N(JJM>_E(eoQUiZ zHbsVMViJi40m!8KuN$eHIM%8I zI6}r{P3v8LzB$C#1c@F|nXakqo*l^ytTOw66qM}OAgzeWSwnFYobxDeuqJ8oMbYDY z6PH3FT>v@IB8ve)xY`F=&klFK%gh9=vW@&!&FCS*mn`pf_>|)gbEoqZXYKz)Ffxk$ z_kX*BE_(^>C#aS&e)2Bq3$R8sKR*LE>W?^p95KtYCX%l1^XCfDg!O{S-kWjCJ%{TV zWw5h*RTijBT>+<4a6Bh6Z}Ltc%jDdoG|ehm&_hEaFf4)VsIrOf!^_o)@}yMy@anud z91V_2e(EfA-pw~@)eo8B1L?~&1kR>k>PMM9y@lRQu9+pN@!ZP)3ba86?LXujt%*xj z-+gh8n#!$cI|)jWb}+!VnP6*$<_p0yz>V9?s;p6=3o3ylFBpDZH2!5@{imw?s0KG3 z8mC%C0PW$T%+rx(ninMI;unWa)hD+edxM}GuI2E(#3tKeqXo+v>KL;y$f zZyu3XAsbv6zitERw8fb~y|Y<86!C4OXS%{>R3XAl0HS}>grm*?4DazCOWwr zUZ-Y?Kk!TLnvJ;+ahLGTm&>nBb_j3X8@qqU>S(No;CDkfBP1br-Pr*olQ8VP@h`gk zKmLlP9XXSI1h$;l!F>S;y)P}E%4EQ!N?0O=B{CK4fkA!?cl|m&H?8rG?YIS@f`m!v zkpz2NeAa%`d)Ea$O{SI%=_gk&pN#xCpA$a4-Sz3f-SUqC!3Z7bC|BV$&4pa=_@)o> z;C@5q`Ed?KKRNd!A8rD^y71cm2^`Vl%6~pHp3`cE-lSI{&BW4cCG%8k!FNKuUID(C zH84k#z4w;u)32=cj1b~KL_5$`HGXzmBwPZ)-%av2l&T8T+=}6V1*-z0UTa%hz{oN= zYI+)(ZWW_@VRcu22-an%t(d~@{26#u!LFHbr%q1I0O*uGox5e`vs}4qZh)$XhaE70 zW58?%r8Hq9vfwIw-e<4sneCBn{D4>ndbfFQ94qh2q+gR7%vLb8xs3}(IOzG;P)}{ zhzfW@|F1tX)WOA;WpCdegYy;u<)AHA29y)<$rWf7%i#w`sG1|fwF-G`Zw@Ny^FVFR zL8xegpXMuoV4y`39EHF~>SRfCMB93gqBDx&a(q@Ya%>Icz4M!X5SF2PNOGqnit@tk zo0?kJ+$A3a&kNOHOaYoK9Ety<7c4KEUx2q@$#3->d)*;&SPCfAibqQC*ccehMin?+ z~>ct~C5)K9R-IP?I&-!EwBR*K>Ys=G$;*d&M+QS}gEX~8r^0k}P9F^B-Cytjej zVl5Q+8woUou&>SVyb=F%N^vd+`Ia%UKM2N7CLCdaVar$gh7+W?B@dgeQ$w%k1iL=lXazk~Jl zsNF=Er}oY^-N;qC?@%^5=jQ5)BEWY3<2NHa`BJ^Rq|KS{O_CCGGtWa(l2ds>4()5xd8Wju*w;s^4yQgTJv?-wY<5V^$^uIYH^0FiuJ*khUmg~^fln>c4>ZR&#|Iu!R-L7| zsUdiJmP6^fo_|ZW{pS&WtC|2j|7K{a^JB$jYQilqy|L~cJ7le>J|b(FJOyJ*xTE)3 z_V5cETlW6hG4F}|WlpJ360D(>j8nGk);yCl%kf)# z@2mTnpLYd9-*gTuCUKWAM>cN)R|w2@C{^pVdNppk`etz$otknitoh# z_b5^FcpmQy9Isg3ar^O&8>;r7=s9IJD1WVU_X)}ll0vhUopQkc7KNXd;BB`%1Yy#` zV>Jb(Eia=^o#&0bhoK0#a!xSRq&FdU)g97#8ROpm8+LYY4Des6A<2Nv-1ixoR^IKB z2xdQz#6EDcM<$E_i2!UtPml$QLG_R+z=@4vd?qjMr-K?`notD+KN&xrt?770fXP7- zMC4zj#4{efefb1Y{kjxZfIae?5K8tXz6!WpvL1h_pykE@AUDuSnH3^1ih&nnS@6an|DHYuV?hp_H}r; zo$l6}d@w0qQsm|b80>?muu3SLpU-NgORt9g4Gd9qt3#helo(Ol|02#uPgQ8dcc%2l z)yJuWr%1USBP^txzB~XC2Nqb4i^HJ!-#=SIU7%No?{Y2yn70E5MfazQfPNPP`euu= zeDcXG0}ja=+S(znYZ{v$NMgS?kfx`iv(({rujs zXa5|8dpr!57-ndw0W}siWyW=_!YU8kSRU{!kHASRHX(r&2-8YD{(y%8&u&&0+<6jU z>^^_~4EYc&Xu1p&=X^`d|PU{-;nkL)nk41!q5W#GgE z#LJz5YD}|a?ni43MHHUDn2>7cL3xnp!i6w=l&%H-@1H+kA;C^|)+5X6u|vgxuj)jU z#=+c|37*R}qe5zb6mgh|dTVG3a_CELaOb@}Qay5(MJ{G|)36s>hVH*@w!+{3lB65? z#T<7I_UrN#XT2JjH1-;}WNFJ2X&CaGaO{nPwtyWCI(oEpq2Gc@vh&mcB^8;=J4^V4 z%{yzQBMylwWQXJ`+UZc11D6;KGxTp}8dHbcfV#{nnzM%BN(J&wWCW0?du2w+I5yRe z>cPdJk!1n~{%J0=sltOV9KEhtaeILVuoj^tN){^ zAm4x&0hptDuCAXT10?|%cBq^r5G6~X9%*Z)0!=>7L-KPE48kCfB1b{pI9$Y`U;&XQsR!Ja{XP9HP6H8N;qS<5?E1%ZH%66$ar8 zN@pTi(a=O36bumjTQ%UH$5(u`;JY}RMmn2T0RgCelYPk|T&vLi<6q6CJA)AH!_Y$@Yx3@Wf=TX}`3iV=A=0+_hkjj)c)eKByK@_C<6i^f=oL&T zyJ-ILS_vLpR0G@(@T`knDPq^2E=rvOjn-?Z5rBnZgH>5;X}Fb$W?W2a>I*pS-++jn z>R7JYRSkd^7IzJjPU3)Zl8bU&(Z8JwB_`L~=hhqM)`?KC43cqv8!w%sk(M*nZ-6oa zAl_L)zrW{B*Us!gJ}U~Puj^dV6tGqaY3I3DM5wHu5WrA?Bs*)WJUxQjJ_E54PSi>( z`@aDh%FQK#x5x24SW6dzvTmnTJ$msaS7}{yB@3{N_y+=QYR%te(*7IBL2h}!S0qZl zz6bhe5OA*WZ$oWJSQ5Msq3_BY)O$-^6&OVFCIw49z!q9w8xT5=(k0KsGV<=OtVfGs z!*2ClN#Z*OBo4o#V+@z1b#wk#nE(C%OYQr+Ll$C_GrI@%E^z{FH?Eb4!OR(s<$^3p zrUEQprdx(9_2}(^JD8Vb^d|eiwfh&Hp_D?f9dU*PfSzyl3MVBgM6#Kdtm|>4@Qu+e zjB{rV>7!c+EC(Q~131|pJ;aQ6uNj?((jTab#6M{h78(jFh8vy-oHsl0pTGm)$Rrv1 zX(V^|JXkR>eBVl2qUgP^bVPtjhL+vwl4*1h5`Ks$fSp>rhU&rXr{|oO9{2T-u~Xb6 z4}p?UBRW3wsbG@kA2M}hlYCXROA6IBD}7?sYi1qad#8b9owKkG9UchnGfUeJ&gz!d z5kWbhKoQQas4!3vK3-n1d*DY(Ok^t?AszfODd|SLBl~KFB)omWDqoe8n_Bh7lZrLu>UPDwfTgv>fTd zbTDF3B>evm#OJ?%hK2u^VUde3ML>3xG_gm$fiT>;{X5zm0NoA0R5!1^4`#;k6 zUaZ-N=>H^e=S6|?q!DWlLiyTz?=3jmXL4J=jv!!Wv-#)ecYxK(0BuViD@|PHb~>Vg z&gpU>jJ5`Au*MI+?HpyBclTa)WDlZC&1+2vt)!bu)l91~176_H)mVk7Hlnv9@lpHm zo(A;xk<2R`g8q>*;hxhl?w3pZ`QBrd;19$={WZN&BfCGl5;U;X8*br5Vs6ym44vMQf4JGBXzH zs=#0ZY)2*WiL_tVFGbYzr8BV~%}VawO*}+GotT`k%-xDdXq2?$kkI+_{{Qw+=|!h_ zdp!B+QZWYK+B3CWrJJ^xTx*OEe28GPJ^d8KI~YpQ>$|c{Jv|Q!3V5-3S`PEo>~sP~ zd~oeK&*MTl;aF)v5lF&sS0w=d>XDq4b?@9x5u^qRTX`g&+#C!BAK;O-nFBwVc^^|X z6BeFB68?54F!p5su??(klKK@tayr)H***PdcXxk8-$0E=Y`=tzKzI24JrYRkt=gqg zp}wT^wOPQ=ffEw^eP!;tO0C5;nGk4+y>^)ZAeM$5FjM|5M_CQKCz-i~K{kJaMjSiQ z;ZQw7gpxuI{N!zKM14Hf7|_%z#o(1;*O}ah+iiJTn}Xx&^jJ!Eo|R2iRa6}G#&{i! zp6ToE*&6{-{3-F|Mcm3v*fk7e*-<)K+n?q@HNu=-mk#?iK}=J^$liM=#GxpIGEB~r z*uJ`v%o0O1Tcg-n?Y>U?SV{c&IxQ*1UX#DQ1+w=zXU24hrCm}c{(ht#CLq(v2;gWy z3&C}O5hx~EzFX|5aSrSbIh3!UY41K4&sL98Wgpney&qf<8f7VLu4`tH9vso zrf-t?;>z2JL$X_|jBdx`j!|=cTY48hqaGYjKJ=bF0JcvCk&CCiL%R%9j0fFq&{%E z+%Tr|{~j(4gfLzke|45i8`YdS3(HvKD8oc7iRa%DhAhQ-)>P9OPcF@q8j2^sx{W>D zno(`tRvNbE={Si)hX{8-J%~_K22L%CP!@wBBJ?azyJq*`?fAWAtoHTtQlW3}IuI0( zbf}oYh~=w2S53_@z8BP}=cniakG_h$;O<4K4Y71wgz@%W zrA2>!dve=cA{DQ2qiItUG%66&z@Ib}SpP)x?0n2aQG?KDZj$-PZaKdugi412P+#wQ1yJ?L{*M^_;J--&s666uushtfP41uJKo ziH!RPZXcW8P2D>mcHaU@$b3TIn*0l1CDQ%WmNK;7`q}*JsKmL|&(_#D1)cO%z(X$F z4Vo0kIyg9h_b61{!(guQ@;Qw_0-_&s*}Ar0vT`f2yZaWZfx68|wjlVOzTxjk>AgRb z<5gcAHgxuXA<001lUnD@YeAD_kI?yl>H0cS1Qi>|8S3^%apGx?ynXAm&uz`{I1SuS zA56%l5vBcg&c8shM|mgSU{aXZ%tJ$GCQaDmt?JmKe$((xc^u8p#X+h<(cESGv=yKJ z0d?==3r_#cmghsuTQOL6Ox7-10ixy^d3jER@aFI9N4U0flO>+eWqyS>yjOzPTIiF_ z*K4Vt#k#HPLq?NhPVH&XWIU`gZ&{f@7~b+2do>1_P{jr8 z%*r0$>v_2-u=R80uu?;<_(=_~^sR%rcJ~uv(ZsRTam((qXa$QVs|llSU+Kovgo!&V zSBoX$daJ@bZ|wYpVh7IrD5bwTk=ruivaRm5t2`(;lQ-QD4yi#lp1$q6^9&BnUiGRM z(DgRbBZA-k!;lY8St&V1G^JQi5Bnbz`QqUZ2?nYjujrX7CQf^1wnl1J_I&J`U?`F9 zjC;g3#*aT4*J?FXjXUh?d0ioJ?9E9Bi4>f!7n!}YsA}iVW4gqG3s@_!CXCSVjZRl) z+`<0M&6hyWipk2tz8mKqTNJc??6ns#LS$(~6(sa&8ad(hYAQAunF!Xu{Y9ZY@=~EJ z4V;7ZY+a6j|G-yK%_icz(73Y`B)fNz(l}}xOK$hIt9B~-SIytL>H8kuQP!Y!3#Jd( zKU)^1J?*RSccjBA8#r!ZgVKt7&ci3Kr#ES!y&#P!3->F!eh~aULUj^W#dM zSSD>SV)RJ#8MVm9oNlK_uMT(3%eh8I7CD+%+lL;KqS)ac4`k0b54U&;JLx8W7oq3F zK6{`&bD3(j+vBtuLK3?!*xf@k4pHEko1a3=qPBc@jNI=*tiu&W?WV(Z4Kcou?b7BN z9%I^rxkh=F%Xa^Er_+D(2W9I6=AY$=*&>~kpGfvWfT?=-E@#ngM>!U;=O3RfO-G?o zY~O2ytZPZknB-o)W;l9cu|dQb(#U%xpU(Q%DludQ%l@drx3rCfzt7f-?XPV8`uekx zNSHIlSy`s_3~BuBZgg%7k*+^JN_E;~-{Oi;ey!ff(|*{g&MQe%RQ zUa7}_MaPaqM;k*H(nwS@%5`~9E3fKDjy=8vh`*4Lul!!sT64^S`TJ`3xNKy3%}>Ul zF1M(t6Bxl~KsZ3_oK5`0<;^|*i!t%mFT+z*F>}7or@Pa({aUwMtX~PE51Q-C^n&Hd zdvum2;4{`bYFd5P@5HqvoJcUY~L^Z%H$ zd&p#X>hDUGh^13#{!vIcSS0&>$JI@ar927VGPOccR_h@`Cf(_=fu^r|bs>ExJxXfU zv<6Qne4QjPh=afx?&%2`S&s5t!d=2b$yXH?SHys1UQMN!AM&W8YT_^Vftd@eC2&R! zmB8l6H;#zx%a;{7ep%0;9K`mm!6cty=4%;I>h7_=@HIMN8B%}t&3qpU@ z*FjEEJMVDaUX1V3-r%IX%7>G?Jt029Hr?-`+cY%lJHQeN$p|N~-nU}O(BKq;Yf@1- z^Ia)S7HOT7Z&XPWHWFXq-acaGXR-?svQD?-Cpt}^e5&NpH^o6Y0b!pncAn!jT8$z2 zs3<($_2+1khFe}|MSnG+vwZE&U{SA5G2D$v@uX%>HoO0I6ML8Ivh0s9I4#w8xni#D zhN(CjAF8UOWt~<5EyQb1?Nst?(%=(OTRKPOcm@OqHiVxRwij1N&W2ybY-MqbwPg93 zQJNYqzA=NqodoN0&d@#)}M++@y*Bn(ORDO(l{JwPMF6|mm1fS-b0zHac zWu+LT%>XIY|CT+ZL?v(6hN1j#Uwd=$gJ5V?`};R2RMnB7^v?DwwZ~O-FbU<*w{TH? zbEGFQkl1E;ZDpU@QDrL{<7ZbSCO*2cxB0~J9pvc`z-~44EY`H@A^Td-=W^u~XC7(& z_+RAM(Jd;jo>~T_$5|{RM}6NiJm?bFX7L5SY&O z8BsomRk!r#=IZvw^w^4>Ap3tT!9Ov0EtB53P6IEQdhl5Kl#6=CExV?N)a?f<#rWGo zX=9~z0ljG1jP8Otc;q?ki#kTJcrSsLzxG&a)w;vmEPNEd7gE!CjRk7XYea1#yQV|= zBv*n%5Mc)F`ufU!tD{endxPYravV7JxGVn!d0i=aSU=CPnu&xc+DLZfP1J*4kK)Zb z{@|7BH8WTpN;i1(g?-t|XQSvAbRs>@1wO_Z=F&P!8HTtPcBjgobc&?!AftCko(T9~ zgeX2jw_N6tLHfmzX6kiLrnlqDMzDq)O~{7P5+dGW$KUV7W;!-*)p5pAbD_q$kFY|9 zGkZt-D`G9vqY!;FKNg+k^Fe+52$%`)seRPBkBPPPZ;KVI$hfG7J49s3s3{#55YFE}>1!`gja5 zMqZp48x4eu>hyIuBSAxvGvl{H`hEuk!gKA!ToFk|wx;n4&v|OD?pYe4b~A+fV8#^h zYtr$_ehQ8_A!wnxrwf;Vugob<)r;4e^^1LKf9~ki>O2Rv&K zO2>R5uBA3a0dD|2%PfTKPh`<{dK}?d*dr62UfF#Um^o^m3xEy@#lo25+mMQ1@mrL@ z0$6s40E?#Y-BFW0LO{&FF1ufYoSzWY-iK~?jBnpP`h`{L?)hmDQ}l(fWV9`IMGn`( z-%W3i-f@-am1lIX0AavD%+NM*fIpg+aY3vCtj7s#c_vCy19(V8OX_lG_7X>(H@*D0 zv=1_}sLM{(_$pYmuFC2uf8Z&BW`ouq$}THzh+uaN4XWz5P{mJn>(7MW6@Kj&{WKe0 z!PLH7oa!INJ7XdziV?x#qOW#0iVhshSoq#O`TxYVW5UP(qA0v&L==1uh)@mT_vL>R z(a}5%4gufL3qKMEah&6mLdL+q{-lT}89sT}C8W^g1!uy*;X$6+1`idN!XbjIfzFT9 zvH^QFB)=CND7{?C?L2i9XVdVv`q7u{>_7W7TKIJJ#@^FzSie#7bDu^FwO-s=-DRs1 zC(Lno))oa+4+@kL7ej6LV=n(p_SD0tjeF8&qY+i##&Nez8%P*_cee+I9BUrhS&mcV z6%!AWJy7cg&p#TJi|I!*A>{6~sqy^##}ij!t!}U4mRnS)ZUv0bjeD)XSb>oE{(c7w z-c4}kODUS9KC6bBE1^8;x93zOD){Jl*nzGs?9S)cFVffq=R+JLWI1_5ePd%`Lawcf z9^gAt`y$2PQaQd=8YRy4R{uWcX$u86_Us2v^IlR?#g>=RT*!^97r~Fdcld7%cZyUD zdn#!qlUyi~$VBSiQ3Pyn+bKB0$$Ki5V`ebK+IDDyDf7up(fI>i{cl*mad$5Z#%Qnb zs-qyBPy4nQwr^d~oL-nRbc4OHvs~I1v?J)Fl%z>NbD_iH?I|gd74#+UST;&hRFgBy z=fkyP^cUm|L%Qe%21-k(u9`K+LH6!Ou;#j|K(8lQWlq4oU|)V=5>xbgeI2p~Fvp~B zd)?|0GRVBP3v6%|+rOWyS7d?jczndv3D0t3VwYoH7VDdlMY1aIx9#R9L}k~wEyc4| z#-Y@@4RKGzWMq6DzY7wS4w|;ulDe5dWcu&WZ8c25n3`{F)I|I8tKjwZ$4iQXwnwQ9 ziI~Sz2 zu)#l!_x@{ZFb3PMnZISo+VjbWr%L`VwCY?cL+6a&dup2Yd%`7S;tOKVDFi7caqry~ ze_Lpepv3eXl|G?NO~||Z);JYZerVNMU>(Wjd48F-I27e7?11;F?VW z6`KRPP;zRnz-Bs!nI~1e9%#S*KnhWw-J3i9_KD92+~-eYC&;w0A1ByRF?MYR*Ly14 zaJqilhK4U~qh?}}wc=9@%+IpwqE>3HIKDY0s;PZ*_FavP38YBt8gN$D&tp&ZA6LS@ z4IchGnNNobHR&Wp5hxjfL0274QW~BZG47l_op>cZxfqZGQ54EFpUlmza;^S@{TZGr z_S6KD0xO@U^6`mH-A8gIJ4fFnq$U@RikHN&?N(~5VkLHsqxoNF*tikqH3 zRYuI7ku<`=wTRX@Lk`%u^YShOQ2CNiAi z&?s7T<~6}Me_2%r-q!Dt1BF;GT~a1(Sa;zmIxnrRxRW%vb+pFyjy)nC4`0|d6^3)T z1ww(&|GS7A8<9=4mPQ$7WL+vdGOIxj98Y(|s(#)gx60zZ^5qEqms6V#7U%zPq`WT- zd*5h#EFtyvb^i$2xXkokh37q%;R&ngw~cCA&(5k`;h`FjpaN%&q0^z%II#`v;Lqq2AbiP@Q6Z0>fUPHD^gsO7Jjx9QdnZ(eL ziv4l!H&NL#$zZ`PeV=7%61N1Cf9--D&IsC08U0L`B2gvO# znaW2vQiybDm4$vO{Q4ai5P+ zO051R%i8kHzD@Ds*hdqbLiOgTdI-qgZXeU7N;M9pWX&cKT}cCyoca`Ixq_h-Ky6Go z8SVpMg$le{2M}_RK4L$VfL}|@bEy| z#qE8oj2n-kE8I@mSs)F>D@tXyG_tGo@sS2J(kX26~&foam|Gmr3|L7fTA zN(=a_2>gib)@pl2MgMxB*vsiQhB#}SdeMO@>waz z53kYE_$tS*ty&}WU9zms*;f^+j!ho5UyFZxcjtq;$+f zIA{GS3!ftn-ohTYms=HR!y-U;T%P843kgtPUO|{-R$}pYMVX@nQNvZ-7AKSMRFquG z>_Fb!9*Gv#N)6FfCmj)>_9s)~@K5xjm+x=LQPVqi26f5543+OuSH)U?9Hl@SKL1v# ztJ*Y=j`fKyOB=-U4~=9OmmeSFU|80!VCOnf+o-nh)9VphSkM?mm;oG*{C`uB7nqMB zSIsJwlV*DN_;zSu$k8qqp|w}4KSXk#kbz@x1Kk7hsb}~D-OHah-dO+qTzg!sWdA4uw}0Z()H-7h@=EhU-+FOU zV7{unAHXYtJ#&kj$@Z1dFf6u-Mo+0{>K291L3$`z8%ZUb*bL5)MWWe<-03yQSh+MX zFU8UxOawps{P|br#jk34hE|H%OY3I&G9EO+rMw=hr#kzIuy*6s(v<4pl}U`pu*_ZwpNVGjRhG zkbS{^7%1`34J-J;{Dsy!IA(b|>~R4kpboiC7ncqO!rQ&okoUuPH}p)7RFqAdoj$NbuZ+X&}z3=jyXb7 zHfMT6tYF~h&rO+NdUEPG>vO}h0|=q3>x)H(a-)TiMZZtv4ORV3ORcdoX1j|zo6;k{ zCUUIG%o8>x8dY*w<(g!83TJCnh#)1g#Q?7EPm<%Wus&*``@_=K{xjS#>Q!4{$Vetu zGEYqWLU>AlsxyoD!WpcJVXy1`Dp4C9MASB?u<-ifk&a^UpN9$X8Ql}Y8%s72$9%LIp% z+!u2RTo@{jmDzhFGfc7EfRTby0*csS{frB^Sd%mI-_#&u=xz7X z_6)g!a28VkZMO;ue?i-bYd>3Hp||Lh0B-~Un`t)JhaE>;HK59VsrR+jTVmwXh*4q$t-UP%?*c?gWdB|wqFDPlmDjwE@J_S<8iS=NRq*Ah+$2m zZSdNsCu%>2%>Qtm#>RGE0QZ!EfiE1NBMS?A`}=J^ZWs3HBD2Fd=Z({Ig}WmU zYZ8`)t8RcO*erS!MIBd(KH%&|94Z~E{w=<|QbNjA1(KhF!)I5x)Fap?22~nJ7EC=b z8K4Hl7rcMZ0KOs`l}3+2Hfagw7759(GJ8)7mL(*yr zt}97^|4^us$xr);43T@!aZoC>zbR$^RgvhVY`lU}%?i*mW;k(4!cMM_Iu)r%cfPNy zUqon1tQCAI)&EislLC6nJHV!V$eVeVWVow}=d#d?D+DGW0Z*H8QM0J~LnoenChr&T ziTld&Ctsw1Pm42QzlNT+r{Y!*aEB-Bg;mCCAYhR=dVe+{fGtTKuV3`M4WJUXzj*$9 zy>pTPv42bs|7vO~LY1nTtpXHGP!#%f35fj)Ha?(|1zqC4ds~h3norHUQ zdgS21Z01mKH>7dB)?w6Ki>tA@Om=@)h3O3abSzRpxbMTLDW&&pSH|$1XOR|zTFf^Q9dL(1F<;xY03nG zpTDgFy^4&PgJT&|g{3oe|5(tbM4^7^WbJWThBI!`{8kMrJG-MkhU^LtH?Eic<}6GM z&^ZemAbGO0{OsOM3RPw``hSrG;#TiN#o>>PcMLq(fDv)pPae&~G@p{K`R-YEV5_Hv z*n73z-!A7S5jj{5TX0HPV*}LdH|L)a=#4IQ1v-;qBo;jJ; zyCiaI?+O9E1_BmkB{WGV>>et4zA({>0^nS0=obRo?|6&7rA>ddZ%chgBlXia(?=J2f!>kc#s(yGB)zJ^P(TjEvEQlTFOE@cm-v~_!v_#7Pcxq_H7^{s_N=hpw#+2v zy-bH<&JB#;JzpI#`sj`th7k<%JETt0s3TdLlb=7=EjrKmRH~Z!kjy_N-#Da-x0ZK* z2MNOw!4K_AnJCOc3vBt?cgyxJL~TZCmrlVUj==S z;}YtLPfGkjOvKgxdh}d{^Vqqd+QzYjgmDJ@SA3*#OJC^2sF&&58oxEWgk70P{Pjf0 zovGymy6^s&VuFOZ*h$SZ#@{UtEPy zdv+P|nt2V}M?2TR_wp^lmkJabPiXU~+a zLmAuJ^k@eDnTzD+<~b9Loq#q5@|f>-@J09l#UF_A6L*T8eLGe*m7Ttl^-5+_B@eFX zoM#kD5r`0CXVWcCax6(BxSqafZxw8|^h8<3hlKH)CAvmZnvBs&3|~FJkhamqr?)l12;7)mh|J|9khg zm^@#2e?pYZzyKU?zHEnDpsjsiIiiu}f^bfj5>j}PCiycH+vp2xXe_!?Jb)mbH zB*(x&aZ|;Eujg%mfx-rnWX*?(~T?Jl*LS(CMlyS?1Yl zWX{)dCvf`M^ynMai18g@JA-X1S?N$3x(4j(J`FU}Fhbu02DRg{8l)4CjU?GP z;Ku^B8tfa~ZoXb+V`HlaE$#goA<96TTcDj#GBr&DS3z3r>^pWY|LNmgsHfV6sa{`$ zVwZz-O9wAqJg4K;sW3rYz`^AorpXFl;ZIc(U;MWcXk#$cy4d|mcQBG)s#rsxoaay;5S^@yi0i?^$cNGV7vYd+yTN1)_naK+p-hK%-HTzbtR;0 ziG5%J<(n`>@y346v6#-a;&koRN1Hbes#E3${HKLatsImmTCYWpEGLfoBxZj69Dk4d zRuA^A=70x14b7{X8q+OV?_$L`;Ipu2)xC79EHBp|&`#-!N%v^9;yuZws@wGI7s3X< z;~~)R@IkmWPt_5AWkm$YdhA?GG&D3kr|53bizs#W!ZQ{e8+$w=GV-m^#pB;zGi)9V zJC=qCC56*yJ&1#)43bsC7YHi1n^MX5_}zf5FE$IJejueX6}Iido|gD805n+YTwacf zjJ$_NpRx_je-n(1J__NXgau`Z*W1EQO-;$X`R)majpqj*=b6AmK40VsOtqexC#uug zQ)K=5jf?!{B88Gedh>Z=3s#9iI^=|hTxIuG)X+v(<66>n?0#}{5mO=NoTJ0ViXfe{ zLlO1l$=XvuYka_-+W8`7v$(B4K}|(JyJ1`F(`9jly{i*^GL8X18rlzPwY*c~5_8lCcmd$qSBoj`d)Q=&G2@Z&dIor_IAGFOVx+>V<+B0qu`#-hZ?r;FK_Q1 zfWGDX4eO#uoGjN4EXYq zyat+8r{5EO8~kWOTIDKIKEWG{@oH>@zS#G%>}puNNPB_c#gs~_hhX{3x>Zhs7^Rg-_WZn$urSkKI|4!_sS<} zjY+4$* z852wr_whXli`V)cz7w&h*HV5KQO0Cz;>2y@LE!VRp@T+n{zk8r{pCfL2{3f2Tmh@c z&^~(u+fLe$M#2gO0ESB?+6BormAxJhvHvx_;J2|JPCh0kTG2HWs#UHyrdyyi}~*a3t^s;@Cc{nf)a z4BDqQ20Ti-ZaO57CKM&Hr(6@xjToj@d%MwPJF?l)!7`BGFzm_nAf!mlj0AQ;kJ@4OtNUN zxNJ?1PC|frz5Gg(f>fF9*kQviShB#@ppyYRz5|H13Cv5>0oE*w2DX2r%o9$=)_HR4 zUaecxL|Jz5V1u}r<8)8_eQ5jsp>4u!R4TWh@w*4j_v&3YBIJAZ?TCEmeB&z1xDw2j z_4tK$b1f{**n7%?TmFlgSako{mq9xEi4rk&U)YqV+GyzKSg$bt8JSuw$fRIOoZuau zT03TOXFdB0Vf$fij5Pb}u$k82Or3sd?XJRgu;%1*^e|#CXBFueF}ZT?*+vGJZQsYS zVe*J<=b7@?E(khxUhegf8vb``$g~|<@svbvq^`dFo#{UwKmR_9)oSxjj*Z;9`R1XW z(e%E}F1bNhf3U!m4PRlY|32PSxY7HfUKhRXlvKn(l~%CXY;(cWGKY0X@aMfLqoC-! z>)Oy=n)2XKZqT|O-IE=EFP4WAf@=6Do#hzec6dT_RJvAP&Cq_hDk7Kc)$sfrHlJTit4d_;p0~*4 zzumuhb9iYt&)F>^4`*}y*9pNQQQz{Z&d-*}*Yl*lbMJ1k`|=uunNx$gyXObBQ%W`2 znu}iQO-s82jr}$oYlD}3)h~-N%LZ9__WtNkSn`qAGH=5Ovxw=7Hn#IJQMD;(OW5jj zWPM;2jxfp!?@M^dB=+G%?dezV2)A;tFG84!IS#XaOdd(2hWH-c!x&lpLtY_ko*7Y- zVD&oJcv_i(6h3st`NZToy6xeK)lh9?_=d!&rmqy_=W9) zf$zE9Teu2l8CP5+89Ud1OHXnhKXNLD_X^j^taIlE^`Fk$81emkh37@Em82ZsZub(s z&8J(r#{6PyvA1#uDZYEi<>5L@vx>2;x&SKb|-Hl<6XJW z;w4p-r5mY8)_}1unUxz0;F}$lm~vaA{#|}o=**U{whUGkx4bOiY&3SmzT-4G4Te#^G! zO#VX}iUEDsQhREaK6F5J*~zZ_XyEd!&2~X;?cE;|k$Q*X3g;jyn)P@3ghlu`U{ij6 zY|%cgIN{02p4GE?QY(F zM!rG8%09gWZ2SjKX1#5QH;P}Ih3jHzZqK6fK9^NvuAX8O z4EcbWC$rFg*Kw^3zS%NMRPUuJW>fw_W6pq7cIn4SgbEeLT8Ss?1-q~?aH`De*BWP4 zoiktOVG$_p8ObR~{d6uPh@>_`KE5F$IG-f&hTQvH>T6qakgd_TiF}yg&D!NxVPsE@ z<5by=x@W7RFS><|08=P4Qh#u(w*S6!Kk05T!RW(ZXt>+bF<@jpf)c;m-bvqx(?t%mbe363cii27!_5y2En zV~DmhHnCJZkvRDjoN!}whawll%H;4yrwWV5Y3u?BWQPheMwJVE$$ z@@8|O&H2rYKRZ@~9;f?vNosYrRJ`-mEW! zqhe|4y%*AGv>1c)4G1H;Ap660;eq|dZ-;5uZXBjmZMHiK?K&%scqTYgu($8oY-p%8 z%l%u8s=uZu;f^gQN~)wuPCAqN;7o)|u-kI}Uz3e&;#;C6#;D+M16jT%w(KxEWsHiq zPA+BRM-jK}c5o>o46k40Xq;|*-x_UbbfwIjO6lZ{2bwBE-vnW&`IN^-OHU)HJ5TjQ zS=zKWuwa$fHy$GvwBe-iqM^5m$5)%~yVN}!4eayGJSQUqAI4o!S*nV#HNjkvQ&5P? z$XpaFM1^%-{FG|2;a!{4Y(<1Jd-6kZ@kB$AphK3N7jgoe==^^yJRg130xs~VRvd>c zd23zSxwHZ``|A~tQEZL98x8LiNl>b}x|ik7!-`YZ_KnZJkaz@cQ5yNq5>D_R@&(!2 zia$>OMk^#mopBS3A1g7{EP(;@$*^@JO=epMbzkFx>$jh*AgbuwNk2c^+Dob%@g6zc z+x6|aK`w6j^?kMPD(C0ziBJABvP@LjH8mXNwq3+10FHk>tP1QDJCkv^Tf!~JLl@*N zA};u(TR>ISZSTVeK|lck=@e1AIh3>#k}49?-65h#!$#>Y>5}el>245^ zR*p0XNOzoXo%g=?e}7|qV=xd9l(YBRYt8x0C(a#wCpL#RJx$DVuawhXG5dn04yJf_ z)dld=u77b6<@yZ;OY^ixOx!K8V_Rvm%1FS)$562a`#Gv0;YNr2$SLBv#ix{B;$r&1 zmg=s6jl*q%5cb#sy67$WZeUgqYx}%h7B-gRn-&vKL6d(@HrWHntS)1O^&m{^TIa$s}*W( z`vXS`LJ%&LK4Y=%RX{;YeeZe7;zP203R++}jcefoJDNNNN!jeo!>jV~;qAe1UK&(}_eu7kx{I+$d@a*1)41bRa^SILwa2 z0`~qcWo5y9ulT;u#G!0go!+h7evzl#wOlRe^Mr5@w7I%q0eFPd+aAxVcoSe$E#$IC z2UNQeEiK~Ut~JNRsaA*U{Jm&LH(pgE6xwP>AWrEP=Fdzfw}5HaCPG(ya39*?L?$bg zHrT_31;zXZ3g}Vao|$A7H5BYSCePOc8y8%ya3u#qZJ?>po8Mj&_c{%bq=Ur|-Ufxd z`FrTTr-i>eG1Z4~Ib`~RI5YbgkJ!04sdSL>rz2$o>4#4*7y~=}s+BjMY7>%v>TkW% z4EAMR*N*TKGR*yzqarB#!w*K17-c^0AB@yzJCD&kYriPP(bm3e<6=xcFF_vL(~_Ze z$+R7~H5&s@p#{%VJ-|lk;h;8UThhv9t_!_gsdH~rDTS@hd&{>+@C!U`kAurX$%QT4O)@UVUZt)BcYZLb=-a9cVU9Xmx6kA zp&U~;mjHn!K`uVHd6?1S(@qB*>vYSn1qq6#w|4_xwBidmt%fQ35f?D0?w^}Z^nGtc zaxx}Z5q^KG>sI{%4oes)?t2Bdx>aF0Xf3N;GdgVk<1seo1G~s$blWS7H6BG?&7%ci zT(F406fnNN1(j-twY0Pp%Nh%?_V;k;m%VX}8}50Pj|Co}o146sMsKhAX3yQi>nOI* z!`9`dDXvyGv2v>M!)aoN&KhXz$UiA%4wJb13TI_dBZ0b^yK~WW*kxcVsitZ2FX5=E zQmWtki2sz0sP~z#HT5HoMZPW3^EY4qZ4?6eJzgIi1CA(k zguYXeW^DG++V$q~erFwwlo2vSt}{)>`eT8_0y{SAs##OQ^Dk>Yx(SJz7n8X7Ly&jx zZ#?_~W-JfdPeFb$O1S;nhxv6a6d)q?j`tm@n1hx?3iux#3L~Bg!6Txl7cWY8m5i)@ zh;-0rX_2(sa_!7hj;bVd@C$xIq<^iYKAtnXs6K#i;DyF5H`_FCY&?h`nPi$w>^!*a zS}cJvDkWWI^5Y{L62p=(+6@`;#Q&6Pr@xW|3vo&Cx$|$?#rJ_r=WBnj!!(^I|D?!p z3El^{a-?$BaEye?-krd}K!|AlDr>w!mYeNX1)1g4?nZPXX=}?nM*j=w!Iw<-rEOca zH*Z2VLv@CN#~pK4wFF{5gtnPxEm80n>eD|`nN6zrFL6LWcl7qv6R=EH=8vVLs)oHg z7Za-GRa`ldx?KZpN=g5x%r}0R#gP$$NO-wY%{Ln zEavvcf9b>I>T`nMXA%Yqju$F>fCjhW;S(A-i0i@a#0Hgv6j7%VIK^Y!XaSN&@dKh# zL^N!-l5uE12DLa##OnpL>dZUyl){Ekh34=4An%Vl!-yMJPJ1t%6Dl|Mn{{iCh530l ziWr;%B&R^a`P&!-SBrBA8LIw~ygFIj)!Xtz>&hYExz~>@@$#ePg z1jS)3tBC@(nl)-CznXOxdO-DyGg91s(6my5XDLG@t>R0E4Z!pg%V)ii4plig_HM`9 zGi=My*EkGf0nXEukx?0KEUX<;>a;i=OH zuv(g&2j>fMu&6XR_-itP>{$A7F#>8AxICR9aHzOsnv28aaIj$IwMaSv{$F3+TV`vc z|1Hn}V)}&?p*ksI*m3mRQ8>p=4Xtf6A-uiKDsj;WJZ5gKcr^9)C+|1wGTT{y9`-P5 zWuv!|kKMaZK?_XF=S`EYhsS6tuWB;yd?rv7hCjx~e1RUQ%s6i=018+}KIjp8ARGFl zt>m1jfE=wlM82 zjn^m^zGvt4gj65}zO{V%d4hN?gBjTV|*$DP>`L&cUD zS()QU=|z=>r$G9hn7bVIn(1{jal0m>3Z7?{RQ7&c0Z_?j#>Z~~XU@jjCQ`w_DNC%q zRYfi6K+*v$)X9|igjxf17upk2W>)sqcL>K3L5;{DjUC_gE`qq`| z`L_|nd&W0KXHz$)YzQpCl!DpA=Fo0DFDM;j&*^HT9Hm-I=W1rJXyz zhiV9Jm+d~|=OY>HXw^E#Td76*+hGuf_LVLlo|{I6phiW%=K}P3Cp#eF;v^pt^)VAH#(N<_!ZKVt*$bE03Ra~ zEl)XO<*yIM};q~V*r`Pi-h?Ha`B6n1w~Lkp8;eD}d(DMVCpxPf|*%X95r zTxOl1d7vTA!(YFC!HhBQ%sO$2iKu5uLPO1K?Lj4v8lYo+Tr(W(I?)NndA9)6D;|$i z2B2{!A>$OUU+eDk6D6g}1(0dAcX_S(;YMh+qjq5)&OvZ}D{eXj%gM2ybQ~XC9;~t( z_K|IFA)!D^zTjgqk(|-D#GLUmHfY|Uw)78RBWTAqA5AOi-)jqfCJPrWhe{HwDQTxz z@cLC{QmEn#Ce{yg_#RccLz|V)l{0n&oSGk9ro}Re)Xp63yl-%v6fE1BPj^>0w|p-| z&4Q;qAoCIw78FVTqZ(hkWG^_M-u5588#p8T8~EB!PczXx2$Rk6d&VzCB$C$rwQWGk zUW%x75C8FQ>*NSLYh*az9-^zet~2E5{{1`fC^4y);=@+nqTHM9-HP@M_EpYCQ(c~xvAvoA%IMfTaR6BCd?^*P|BF8Pw+RM++4R8P=*iRVm$pSzg=faMf}TOT6G{+>J(pyV7xJ$Iwko(AJV0ed73Etf{a7zCXZf|2VXp*UdLY~$7uCpPGj?U z2h)RdSVEweX@#a?-TcRN_9bO}4;tZWeoAL{xX7ODoJ8P*B~X1?*{A_mSE4-k(d6X5 zz39;HqmW-$ zXTA=*adrEk9QyT93{1VsdM{}79CEua&AECjOnUc{vqZ8-r}S#H&9BCANO=TwlmGw& z@;M$?<}3Cqxem?rhC(5dL$EW=<&t_Y#34C3$8%7NCRr;~)V^f^L@vO71So=;%1|X< z2yL%dNKR1}q^p3!cjVGp4r8!y^!HAgsia)^YGqO(z`fept-nT}f;o%ChQ_`NvD!6?fZeQl71q21F$bzCNwSnXU z3{inW?!CDi4TB%GD`~g`a$}*67u+p0{pyHexf~IG)R3MX>|54NYs1O$>J!GbgT8bq z{P{m`f&DSZ*df}6^X9iI?)XU3(b*|hZT0K$>G?$TVRVrelj#Z)5nLN0|M-pXy;~jl z2wU+d!G!zkHoQ+Q02qyzN>U=N%S;DaNcL@*r>CdCrqHV*DJt(SqdRJb{_}ur$P$g7 zm4JsYskB8w6)lhOZz~2BDx_-N_nla(VGl7e;RD@FJeNN%36-|0^@IGuabwzw#AGDh z*EDFsqd5@P^Ue<&okjS4hu9hb+o}(chLGJ}uSgYHSP;k6E~3@o z6(#wk;f_!Uu36PAsxH;6x1oPc67nveG*$S`o{FR^s`r<)WwR;Kxjs0hOE#C8dahuS zxMgm>T*-n0#EVNLn8j6y+!KB6dx_dlEo?6F*KFsvbtg_HB69MBhrSn@%c4?`Jl^p;)GE@;14j73cJNKD=;>u<&qWTU%U7Tiju(<+z!8zjU7<*(?-KX=VmRTmu{H z1h4q&ymzrIV5j`?QL8^+OW< zkUm`fsVyl!IDxuvpY7V=%dLf0&B5?|Cf1t&A6 zc{Y!YsbvcXIwR?3d{YftiDmSk2IgSU(+DrjdGCbmeix)aIzKX>$L^bU;5fcU!FAfe zz!1c)pkT&f^G^5ao{P^r-t0>cLrN1u+RLvzic#MR8lMj zouF?)^klO~m{~$WUeNpqRbXNSD4v(aP0IIw#!QrTFxJhh5vs>ttPS@B)%s$Fl4!9J zfmOr?q}#sF9s&$1Ma*5ptv`_ByK0zD+I7Cj%@U^H4fCM`5;I0D6JBUpM&6u$UN)D9m5 zYtTol*LAJeB_P(yOqMSz`MahoKtcE>zhq{}27gXGU?9xV;vv$6fQ!_J1x5gy1I~;* z#pA@5*hanl_Et^kr(;XR@~+_j&MtzU#{f|G;-yYVF#U}zTirpLmdmI-vR%x1oVfTj z>=}=!sF%(o+Jzql)^5L%s5-^La_f5B^*r=@6pK@%o~qt**gcOQl)R!{-;L!2Dk&%c zwJy4)|NEB&V}3pkumN8AoMrII&Yrm7zks0mw7oNE^9p0f{s@NOdxKC@4VDQh9Vom* z|A08Ng(C3?p-`J4^^u(o``OQg={``9OoM?h=f$q>+vei#u8-6Bv;=5|f1L%F`q+vb zj(7FFL0Ot!Q}6Jmn#_)ohixG1swu|JG;E3?Q*Ar zirvI=cXdyfZBqd7%P{@3jv_TV?b)gtPlgpwytxc4`jbRDW*!(UE?uOho*{3>Il`Wx z{hpVYjs6~qE9tcTN5Z~a;^rC>{q=~!My9~tkmjCUvjHz_A%)4=&P&(B__S=3SLS0R zS_{uI2r|d=9ZToV7-sAJCVeW}A4ME5vh2r^ZaHY%mO!V_Ba>_T?d6nx(If>eKujZgA0_HoB|HB2 z$O8a4bWcl=ot25S^)f^-2b&bPR_IG$!|}vkr^P9Q9 zf`9FOC3%z_g*NW|@DFOnk}&rDi!!b7wO0ou1Mz#-weH{P!3;267j?Yw{5q&PhFS9} z|6)WIskdHbtRod*3s&E)7VsM?H}0kPpNWz*Y_x(h$k(yf@Gq!{49+)@-CV7wpG_T& znTPKT)py^t0+jb^Y!CNJXH}kklajDWzifj&84no2gSMan@ryat{SBWv;{+U{PbWo9 zh$THtH~v?$grbXlQ+p(}+;LZxJc-<6{-bFG4&c6m1SjC#00$JZWA)7n z`M7iDZeD4%##$Eavb~%!QE6?s@LF=@Dzv2q7|v2Hu0(kj+wM*Z?*r6?peNLth*L;?Liq}^)uj>x@fUo^T>4#Xjs#WHTcI{&?D@$L2p z>1jeIy^yQSx41ES1}2~B(|zY(@^~$Phy`r8-kx?jfW~{K-od2f!+Yg#pc+T)x*fy` zl`vA)UG2?!!n|)@UgC;VrjH7=9sI4fVI-+h>2_>Q z7( zk0YcVW=%#F(_4?~zG8PJqe*2D0OyOp%W!jT0EME>FC?MjhWu@}#MI%W4 z!MFdTHjDtn`u(7!pyj#@bN~k|rK!{0!vaR&Ak;_MT;~5Qbb=>A<$W*NZ&hr(2JGf7 zcc)vDw$E}OLIRt6Q;GSGwDVH|`#b5jPXX~j+vYx!6wXO`2MEj5!yXxB`xH_>Zzl)5 zv%a)Eu+f9Kj*qVs50I5^Xnlxq0ZQA&;B;F>8DyU429mG#Rhh05n^ULHYedlR;l4KM zCmUjmLtqQ`Z*c{cUT3j?u5IVKbN5Sw7X|jKOAvDI#>Z9Brj~`+^JOil_Ad57@d08q zzM>K7SeEXycb3f|Srbi%>i6(1snTtB8bAF!Mxg4w4s@;sPTF7aaOvq~sHkA`w&>o{ z4m}Jc`u#I86PT2l1%xUbR03K(NJ646+(+-MAVXPfKNKD`_mN4qY1(NQf|e_3*Ge3< zz(k}I&!~7u0$ZHdk@ZVdMzXbn%6e5&&-d!JZ;2hCugH8K;%@%sO)Xx=D>>d2U`t#K ztSfObZn@I9zer$HeNe>bxW}cRUAW7BcMM=m8M$c68>oG4~ zQHJ?X;qi}{*XbwS!~6wd)At^TQCdj}_hdhdb^K$KVK}zw~H7xX`3I zJOmA&*82QaFQt8|?pib`NK9LoPcKm@+?|P@>2+|6sMmTj zK)SVkYEX~NFs8SlSF=Jbl`o}26>lQRe@IrScBVsfrK=pfkBOAxqj-^R2PzO|4{(Na zUu>q-<9rNjdm~m6D+^RaX;5mVAS39Wz|D|p6N|>LVE8Ev&mgN^K?}Yd$XoN3%moq=^g;<%oL~@0KBT)j?!D$cmfei_4 zO8~$5X1~)(=b5a7fKepfH`0(&tk1wnHX7?XQG^u#W}(YV$2^Z`&TWW^0h`&>^KL9X=c4`v=bThG z$KKr8>AtzXyuCh8)zzMJdbbYYCDL-XgtJ*!dNuARMRv|Z{O6O|&mc=HaLWg< z@1}+?Ky?Dk5?;tp1p}V*9lIHudm6JAs=BL%Q6@PbMoukWzG!7#H7*|utU>QxuC0eQ z-vVY8D))taawd1221g18e|@okG1GE(PjqZHXzCOZ|K~5jj6?NaE_}9m;C6=} z&X^{4@e(s9e|J>kK}b{IpYA!okD8e##Okyy2t%&%>`ZW0Osnl}5|* z8FlbD^hgT)m2mVTpBa1L4xurVsgP8u))wD>gX zi$;*+J1~3~DE`(87BL{T&%I|EJ1N*c1atjPnK|RA=K%k7TdIu*F|(SZcJsHo7S8l| z30h~`|42~KF5%(BP=h)-Gg(Yy`)8*|M=&~1DzvICDmp1u)*)-l0aA}kujMi>ta65e zmh)~12J)V&jGa6!ijbJb!r*2Sqct?-foBg4UtZi)hP5YdpNSe=J3oIOa29LuQaZs1 z6T$!vRfgQ;WUj&2jjo%b)Sl<$Y0c+bn*Qj8A7kzCE+5j7aKc${Masy8%VwROHj*yy zdhLL^=S8Z*~bzeysshyJQJy<1lvN1j{i zN_zF$0ADlj)nj_absXn~FV!tD)^&#rVBda#a4k3Ab1PCQPgI@%fI}W6=YYgg%+VaO&QK{b2)?NkMCwzS z^dvD#ZWl@W z3)S`iPC}%v(V7nWKE9?s6ScFEqahI`^bqOSpOMoL_&>nFhSZ2b-72Gu89eVZogoR;XDngiwX5h}Ckp^~x!)Y>>R-U~Uhjh_+*h%cC5YBe8ugkkbpQ*txkm=pc5b_!aiW zh!Ya8>tOR8s8?mNh6-%b`ol*L#~?v|{yQ@sEn+8b-2nC`DMKJ1S)q+Dz5}WiDzNWF z6W)P^w|L+>%ee1v4^|+nmZ1-hSm02oDA>e2Iyo`EEIt>yH~^Vnf-U=a1^SmB;#yrY zumre8_|fUi??{$G$bh28e6%%19Zb~f8j$-2`aC%qoBQ*W`{1xrS0zFs730N%rF3@V zQ8;O0@J#X7rnI)n(a>x>fgU<9QANy zpTb`N!z4$3Ah4aa0LOfOQBh0}*O22tXR;?q-^Qh4(ZVtRAs7MHEg)1ywk%BcuzR2P za(I6Us2{rX`JX6bcVrERofzCCA7GUVF6h&BP^AnnTT9)3Z{;#-5Ga3m^#niF3zFd4 z9KrC=_?*L;d4)JVv`B;o&DkNpB-5&}X^`<}(A^YkwOduza3^x-AH# znJ{1u!&}W>fr9+ci!Kej8uq4`#fML<%}qIU_%{8LTF`zkr$(T;@ZD79t?F<`w;cQ6 zDsKW^oNBF+ipH4?B$?c@_2&-(HilBeFSUmoB7`xUt)FH-pES81nof|dj2QU^_b|acVzfn!Fmed z9X;Tpe1gQ>3n;K>TBpU2qN_`?7xrWs%{-C6C)4GlWL?42pRJ>T0QJK+BJn1dn*=ao zK;Fna1D*PJWI+Y}CaXL#9(h8b5I=My?aLcbMGVx#(JJ?fO9zYG6Gv~$8KhM&Q9KtA?Yf|Y^7?SOhpMraemK)kIe~hu9r!xZdnT4hz>8X3 ztI5B>#~R-cz1}FVP~;{bk{e|&%mfQs6x2lu=D)2kH+!SC#unenol{X$qfnVpzak_F z%yb=fShyE-Zu~^v$b#F+l6Vd-AgA65^M%BY6f*C?#D+6*=FhLicaYppBA^~#@7fPt zhLARCMQxt$;w;G*kTPihCnoWib=sEbjlv-FRnx z-+3o`p}$%VRZKwt*|jgC$U2QpOtQ9-wme5oR!qzCXik6I+F;)r8_hyWw|BI~UIFy= ziWQH2p~P!eLjq_lfGYCNK({^J!co>Lc{2zJ47y}5W&b8Sz91e9sJSXhQD6sp`Exrb z&0K=t6E1a-QF5wy>?dQRsZ;k_IR3~^2~bnWA=LgH2C~h2IJJ+4Ns+?}V5O2>3$`*m znh+WV1ua~mNTsjmO!UFEGmx3V#_-Lze-ASU)XMUJtAYv+MTMt^%CjrH21JRW;DM%t zTpIv$_+a4|CXt{Sy10;oryh{xUEFtHwM1e;cGx8F0PL|52P3|VT7B{EFo9%@NHG}c280Sd0DnZ z9;60k6z?_#JtV}!r&Y4Fq@<-CQ4l|n&*TH!3!INBlSDbXKj@cY%_TLc-~fZ=r=WX- z?Us&)^C%6H>fSaK`M~|}83M!sv(R)NxPWCk(=_XmYuc7_u_kZ+O1%2`CiG}TB7QHy zbErd(&uLNq`KT-pT@eomRB$|sSPn`$%-za+7@{#++X^58pzU+9Uyd+qybW4eOV%oS zpV;+SP${G{@IF4Iv|v;d;~PmP(dts060rHD9+=k*iJ1$VuC31CVEMe(Da%Q>P;!V} zZe0)wM=fM`uMcdfE5~%tz8jD-a#KqkT>!@pr5r}3au0hZ|AUOQyvsFJQ@Wl0-2A)Q z&VxpY&HLCGZO_#_7e|t_0}D;H|CLRk`ZCYH5F||J8w~c1X*O2dviyy-@Zx)T`;#ssB&*j{9 z<t)@+x}bK$lQ&lJL(H z9`##mzMYDA7U5HO!!_1$4y~(6oet}V`}<=8>G(6!Cnra}yHX85-7ieer=mc>BS8D% zB^fNlcje7I0YF`-1Gr~9w?744nD~N*>CYvmK5eM0dsAb3^f|F2{DDNc)r9fK#>&e3H!UxL@ENzL z1Q$kdFU+V55d!piq2VtQWKiD);&r#8Px_6`Jr5rXFh4R9Qvw!U2>cV>j*Y*6M_k1Z zg65!~#yxHV`C5c9ZG^i+M{%HL+Eli1KoQZ)A46CR?u7HCUR=*vhG?vHPJ8TDLo_j- z)y96)-!t!y|9jG5UiFYNY#>v*FlQ8GAp>d-dm(>FV1F`k>`=Odgc0#1$V~=V-=iA8 zym0*G|Bxp&`R0H(6VTg&)vM^=0qO2puA7689}!@G1-xYdVhbaORTGw2W5PuM3;`6# zh0}(F(ON4?w4hS}1;S9WAim(;_`%FzaI%Eh;Cs(p14|76LyY5m0h}zZUpw7kejR1? zuY?RW-E^e42NMMziFvT-WOXE8@}YIY?dGaKbA$OekL$D@IQ$UtRJfIYdlnpuZ_C2NyN*UGr&Y&fmwW zcJTDEKEIX^Xb)1qg9bLr9|RzPH%dy%Xs{1;QRsLrT=9E=;J$=MLqYQjgs`-0=BYFY zT1UE)mR%#9(O{+ZOLsSgYB)B5DG2yU)SR02QEMI8W&y3%cw!C7u`*X}SvS8wYmqKL z-_1K=Ob@i)fQi;_NB|sA-(f!BC~mao|J?r7lpZ*5c7L+i?fz-8G+&H9x_|?FjZq3N z9_ky?KS`8YwVPm=ZdTBNe0S_a3SO z@yQt%zIxKbT^3*fMR^FM7+S%Ry*Ew`x**$cV{aA-o9w_I!C?;l{zJCk9n}Yx^q7`p_Ly9nSIB?SNGG^1C9;`@;>-HuwZcXOs#Y(JaKssYQ~) zY;AG})}Dfzd)@!KvYKX7n5b@*Uy1;O*&q`KH+;Ec^DSV~*i>g^JaxjKoD*;S6%OcD zvu~L|S$PEH*Nwkiu5TVFOE)yXU0Z>8mHyY$OKY$EEY}1S+JhM8Sw5mlc{fRM76-3! zUMh(wLQtC+1N}a6VqtMHE@%`BH(w{A!@lO_^;YWyu`=}%*vlWa|#Whbq8fFDES=ByFr`}8jRL;h4AO~_=}nehYk8xQ*G0KRy5q= z-W=i#1I8^NU?lR04{-Mvm1Y!8!IVc z-oLr-XCS70iugEHMr|#Nv*FiURM*v6m{Si3m*W+HZy6>MC$nH}WyRCPl050W(6n-R z4udJib1G{h>N2Ewp#z>7`<1EXaKGWh&KPwm#JSOgd( z!?;zLX87Nyj_5}A75BM-qtsC;l{)T)`2DZirZ)=<`s#3+RvDg0lwk@GemV(3MYof; zkQ<-5fax{m)-DQn0E3=HxVe0fBqp5gUOEZ4kP|VGIdtgLEo>&BXU8v$jP!gdsDPS^ za)y`p+l(uIgTQMTqrRx29UyVj(37|C&EEapWRTeUoHRs+Kblp_ihgyX=dVbSjVuob z(f@1qr7I%gota?fdG4n`cWEvIE{dINC--Ypa?;p>oE!$DZ!?eO!49DBb-r3(CpRox z$ZK&bX?9D``4OcLf)qNuT5_IZJUy4Uh=We3*2$D{Rh(6$plcQtc&^A^d*|x=SQjWET$4b<57;IW} z&$wd?OW@=0?{>;(OCemaF5J)$zE4~h{m5WP=&+W9;W9`rWCS$wuN}+M(rAItHlWxH z;1XI#y>~gYjB04xJv9OBta0R<67AbC7qELXkw!h4u_$^|78ico8$`Qn@!m=N1lU}Q zY3_ds5s*Y}H-FLce}-hOrpCtLUu2o1EUE)R3Nw~%`Dz}XcQJhm*K%?cP0kfH5L+IQ zhONy;WG38B3W&xdL+!nvgmR+nVo-c^ShM*-Hr{;lohJci}oqC$SYl8xE4oVeISH+0kw;~**ie%PG~%|ALmEym{&_=t&un8 zDB)QzeE}?Ce-<*@U+RV#%gR8o!g={o5W0Aw(=ZH&iSBn1!Mtm1rWuD~4)no!pZ{}2 zPcgAbEQY*9pGnG&>J$J2yI!Y_E~~L`mi{nZrc4JA*2!7)G)+xuXn7jA8h3biKF2lf zp^?-_wDJ$r*DSIt#LS&k7TZ~Ho1`SQbIhO0@3 z&U|0UEb~g~qaJ3F4w!jXUa*(9Smas%QjD{=n6+iWFSCX21yFSWR?gJPgD$|6c`X(Y zmRhqgD!plD@~oER{MMK~ZyLDp2bMY69=3xgK-7VgJv5(So}N%!}K?$x&d2MP|xEkWBM7_fSY4RHFggS z;LO_l2kCY1&CQv*a%+|b*LyoP3|{;Bp}AbN{`nd;@&-NC`M5N@^&(#x`IT0S<7))#IQ`aOZ4kQ?G`Cxn!$k;AZ7?400xkE;Ki_17@1~aa3>Vwc)wB>bTcVMJ-J&wX zImclF*97|K=9w)F6LV>Wg21A|pcd5-M+?&gqo{xAH3-xpAZ!kLY&*Q- zH+tf9^s@6-hIaiC1 zwr-b(8h_`(w!h2;?+1!%%ePfTkB7Xk!C#K~bpy6{LoEn;l-1s(Ydm3HC6y%i-7{7c-=*73` z)jBx}Xbi>$kyX`uOi3KM7oUzk&iHhaDzRr40)zD3m2{OJ>#)!fE0qseai{rI&lWFISsTvo#-o#P=2Z>w zzTOGE*SI%3b9;wOdc1k6U`>_5OIKHbpd3=WcTa|md+EW|HahhCFV1*t9HHylkAmnj zr0OqX8^@s?N6iwm#i)r1*0r{u+%DL!qz zS>9`S#!_eOe^iqC?1x}hf}>aAxmy1n-M6VYbl&)#n{mHT|MNZFw_>+`ci@hUGG#-% zcSiCMOC1&}HCHh$tG!H(Z)DAQ%`AHazAIgfDEM|uD@}bd7npdnz4N1=YJVthSIN-+ zK!9IF26o#-SJYEn!cX4|2E@`^2^@$-Nq^H0+sKEB|GO0L@x>sb?q@s{w7O&lwiPeJ zUOeTy$RTLwUwjn=J>Gr-iT^0}e3;IG5fS?3TgOy%;s#kqHij3P zbksLLUQb^JsP^#lMYWiqZVqqwY%Hf{Q4f#%hT7qn5$yLC_k^?jofg_)X^U9R!3dI& z7FRKJ?*sir258j5uG;X@3(DV(**n`F#h+5gpdO2KQQ3KQGb_`---!qi-@TX3&G$r>dg}H3o6M+>HyAd<0(G&!q`doDiNwVmI1|1Kkbo&6PR65UR!K9atO>Df zNe7?%74K5nf7x=SEbP5SUTSnY5V2R_y3gQJ}iaAHVwY~Y_(ymZv!{r74)R}=fMjh)}<~vzPH6$&I>=}a(8))_RPo^dDx20 zg61|o{)lktJcFywMVAs9Z830GeDff_%Em}G1ZsiaftS~}AdeBE_(v{}(&GBbobX{E z)^+eoFtJYr8!b=*@=s&$nYTjp_l~Q<&nbSB#c28I{ln}{ASM>57DUD%F=pVLmH~uT z{oNLF8qv(V-Ij8kk3C}^K7kJ<*wgYpj(ONX@KB2ADY3v0h)CKfX7htthA1>~)>PiR z-fivz^X3@7H$UVxcyv&?M-mlSo;9U^EBQ9|^DM#GSZySuBsJ&LE_@GC;HvSG|0Nfm zp^HBOOT#$p-7>#SNds=^bM$?O^NoaKpJo2Bi6W&+f)QN&TV1q-pPvu!y?c6jJL-BO zFJ7CAI?br+_W*(Kbnz|j=1dF*(y!964uW|60L5?aBYvz|ghtk8e%-vk7}Gd{0u8ghlU%X)AP9rLoj5D%hB&k#vMZf!NZSZJSZp9rT7i zXQ{7<13H*kUvdh2y6IXS7|UWgMGTpOHQCsrXk=AdewS>HT}Yii5Luv(h~g&om z%$`R6ygK!$q^yOaz>zlScQU=NRz{#DRY>4sAoGzdebj07MhdQSk02jfHkejKrsUr{ zya0K>TAK8Me=DK;?bd9B&u(>@Ffg2{W^C$&Bu=pVo5Fq%zN7B2$t0KIv%Vfltcad2 zWP5ft@a4W{<`M!;@(2CZ`uaLOIeCSVw$_RWsp1*`)AFxsJX2#LFZ<=P?L$a*<7M}A zCe8hBFY%a(q}qF~cbDf&pO@?P5d~^9lHPrSjFB0J<&h~s%c*HrJiOWVPyAA#65^15 zZuWZzs^}OMTmO}3KDhm+a*R@ySC`NF*(jpnonTjb*ePX1MH@`R3%1*kr-<$u2)=Rd zev2}FuvO4qKV)nV)<^b9ia@{WPFv`}eNBwTk>LCL4cxX>qej~pIs{^q9)+fSze{QB zV)d*zpo(qLC)7{nx{q?5TdJeOpV%XhHglHAaMk8HRt+jNxw%-EoEb>bNYVC$6y8~5 zD89J;$lb??O?Q>hBc~8UgN@US0N-tlL(X@qX`Z7(swI#^M+!RHDca~AH;CTA$YRFl?k|*tL|Jo z73CB)J$7UNJYFh&K^sucOnl!)D)XI!mH(KCfi?@DCme*BhXqd`M+6(tPc`|IU?}^#u@3iSr=+JCd|9G&)bX z=X^;=3M&=nAVvl}s^z&90}eX$&|ykW$Sw59j@lFMA~mr&w(;{rRtF3AnQFyW(?8Bk zI(N#P&1j}F?E}x&zP#W6ytx|pNS2%3yl_|Tw4+#b!lQ8I!MldzAu_R!uQf{f%v`D3 zW;mn8wed34%O;*M0%ndP8tm{`T)*Pp=d!({!ks2d)lX>m^*qQm79K%aCXSx}^_!zd z^Q$F@jHwse85;G8?z$lEEKX*DS0 z;>FKWKaVBUeU_ih%PYP{dsnNZGwV?va8&*)ArO99et2VXf(5Cr1m~JYM-M}NmD$=7 zw3oz<0!jW#=~!WDd@ufvI2_L4MhZ87dy!&;S9d#&*ukgm=`LDY$l~Cvg@kanEE=2Z zt=^|azsagG{!1pv{uGU6$s+P(E2UDyv_F=3Hi})LT26&6cyKl1SL*H|7Jt#=`}m&> z&J7~)T{6j;IfIn*zaCDIxs!Mbi(~oEqTnZeNDqXi%lhm{zMGDeUi69dAqbf0s<=jdHJ@*OHX=xZar4ny-3p_Hg>$o)dlZ&dD^mVM6k zUc=gmv!aQKvwJFuP3TN*$wt9Xcz)@}78dqfFc=J*`ffj))WcbK=Eqzs>*rjgeptJi z-+fmj?UC5y7gR-^C$4rl#*6JdbApt#6C*uNW&%H0u1i%c+s#x{d#g7}1Jmze$1B!i zs~{-9)!2-`ozg6%gvBh3Q3U*iuLhhH6wz4GT?WEf#`AK=r{fyKBpKJ-=$mL_x3LFPQW7Krfn0av7rt55K^eT}2J?%j}oevIv(_XCA-_X2M*a~$DbIz}GxV(}_NS?Cy z+H0?M->dw7PK4{;lRy6Z7v_=SnSb5Ge|~-6EkUR7u#oWo*B^!cAKd^a_b>msbLPRH zjdw27+3wQrHn=$-Y1~S$n_3IfUZuarOpLrAXon|%*i|)KD(>`Rt^0$0DdR#umSV;? zda>l0P=8UWA&xlkp&Qq|7JDOWsUPA>OT~@EzZ-CFwb`0d7^diSC2zLIGOTnaJd5_n zut^BK1*{0xznPUa1#Q+S4%}HDPDjV9XR9bHqj9D3D#aO{lJbIC0a;Ub1F{)yTf;+6 z*`*%mqjd9bZSyc@^Dd&4ahcbeAA_R7d~?Z?&TMzS`pCBk4af)K4Om$)jChccxOSm(k+~yA8lG)= zinZc6a6r6imv8MNx&G&Tv>)03BDi<6(GpSNBCC{Vo@{Q2LF#teVS;33_5Lp6j2dhP8fJ>?hWr6wY@+ zXQ>zB>qRRJcOUl`w=S~MP04TB(q0%;wo;fv9HgT-khG9LfmQd6*)QKZ$1}3(Vm;{)8Q^PO|@)LCdd@jI6v=V+;5Uzx)r{CWYkRcVPS^z^Trvt z9FQ;b=fm4txE!iq00vYyv2Y|+tJhL2;%=-kC#lfKe7v4q5^5sm%P@0i|La

_lHp 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�?ha4~joO(i@i+Ui(h7 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 Date: Thu, 13 Feb 2020 01:51:16 -0700 Subject: [PATCH 139/392] Update brain_item.dm --- code/modules/mob/living/brain/brain_item.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index a14fdb0b53..3b64c35969 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -10,7 +10,7 @@ organ_flags = ORGAN_VITAL attack_verb = list("attacked", "slapped", "whacked") ///The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth - decay_factor = STANDARD_ORGAN_DECAY / 4 //30 minutes of decaying to result in a fully damaged brain, since a fast decay rate would be unfun gameplay-wise + decay_factor = STANDARD_ORGAN_DECAY / 2 //30 minutes of decaying to result in a fully damaged brain, since a fast decay rate would be unfun gameplay-wise healing_factor = STANDARD_ORGAN_HEALING / 2 maxHealth = BRAIN_DAMAGE_DEATH From 14add89a5eaf6abd80b40a62c261556d485efcd6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 01:52:00 -0700 Subject: [PATCH 140/392] Update heart.dm --- code/modules/surgery/organs/heart.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 77aa302f8c..5767e84c73 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -6,7 +6,7 @@ slot = ORGAN_SLOT_HEART healing_factor = STANDARD_ORGAN_HEALING - decay_factor = 2.5 * STANDARD_ORGAN_DECAY //designed to fail about 5 minutes after death + decay_factor = 2 * STANDARD_ORGAN_DECAY low_threshold_passed = "Prickles of pain appear then die out from within your chest..." high_threshold_passed = "Something inside your chest hurts, and the pain isn't subsiding. You notice yourself breathing far faster than before." From 7e1a35f244f5ac107838d7c9248e9a5ccd4bd8d6 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 13 Feb 2020 04:00:05 -0500 Subject: [PATCH 141/392] projectile now deals 40 rather then 50 --- .../living/simple_animal/hostile/megafauna/blood_drunk_miner.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 471fa936f1..eb7280cb85 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -73,7 +73,7 @@ Difficulty: Medium target.stun_absorption -= "miner" /obj/item/projectile/kinetic/miner - damage = 50 + damage = 40 speed = 0.9 icon_state = "ka_tracer" range = MINER_DASH_RANGE 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 142/392] 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 d74cfb773469b5642b652a9d20d7675ee1eda6cf Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 02:22:25 -0700 Subject: [PATCH 143/392] Update compressionkit.dm --- .../objects/items/devices/compressionkit.dm | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/code/game/objects/items/devices/compressionkit.dm b/code/game/objects/items/devices/compressionkit.dm index eebe4dc69b..9c7e8ce185 100644 --- a/code/game/objects/items/devices/compressionkit.dm +++ b/code/game/objects/items/devices/compressionkit.dm @@ -89,25 +89,6 @@ else to_chat(user, "Anomalous error. Summon a coder.") - else if(ishuman(target) && user.zone_selected == BODY_ZONE_PRECISE_GROIN) - var/mob/living/carbon/human/H = target - var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) - if(!P) - return - playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 1) - H.visible_message("[user] is preparing to shrink [H]\'s [P.name] with their bluespace compression kit!") - if(do_mob(user, H, 40) && charges > 0 && P.length > 0) - H.visible_message("[user] has shrunk [H]\'s [P.name]!") - playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 50, 1) - sparks() - flash_lighting_fx(3, 3, LIGHT_COLOR_CYAN) - charges -= 1 - var/p_name = P.name - P.modify_size(-5) - if(QDELETED(P)) - H.visible_message("[H]\'s [p_name] vanishes!") - - /obj/item/compressionkit/attackby(obj/item/I, mob/user, params) ..() if(istype(I, /obj/item/stack/ore/bluespace_crystal)) @@ -117,4 +98,4 @@ if(B.amount > 1) B.amount -= 1 else - qdel(I) \ No newline at end of file + qdel(I) From 4b2624b932ffe7e38801def96484475fbc071109 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 03:09:56 -0700 Subject: [PATCH 144/392] Update interaction_flags.dm --- code/__DEFINES/interaction_flags.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/__DEFINES/interaction_flags.dm b/code/__DEFINES/interaction_flags.dm index dc3242c910..6f35ee8e1f 100644 --- a/code/__DEFINES/interaction_flags.dm +++ b/code/__DEFINES/interaction_flags.dm @@ -20,3 +20,5 @@ #define INTERACT_MACHINE_SET_MACHINE (1<<6) //MACHINES HAVE THIS BY DEFAULT, SOMEONE SHOULD RUN THROUGH MACHINES AND REMOVE IT FROM THINGS LIKE LIGHT SWITCHES WHEN POSSIBLE!!-------------------------- //This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. //THIS FLAG IS ON ALL MACHINES BY DEFAULT, NEEDS TO BE RE-EVALUATED LATER!! + +#define INTERACT_GHOST_READ (1<<0) From b8cebf895347a86e81c780c798d1f074bdd503ca Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 12:41:36 +0100 Subject: [PATCH 145/392] Fixing some privates overlays --- modular_citadel/code/modules/arousal/genitals.dm | 12 ++++++------ .../code/modules/arousal/organs/breasts.dm | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index b7f178bca5..bc7bf73d31 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -20,16 +20,13 @@ var/linked_organ_slot //used for linking an apparatus' organ to its other half on update_link(). var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. -/obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H) +/obj/item/organ/genital/Initialize(mapload, do_update = TRUE) . = ..() if(fluid_id) create_reagents(fluid_max_volume) if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) reagents.add_reagent(fluid_id, fluid_max_volume) - if(H) - get_features(H) - Insert(H) - else + if(do_update) update() /obj/item/organ/genital/proc/set_aroused_state(new_state) @@ -221,7 +218,9 @@ /mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G) if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot))) return FALSE - G = new G(null, src) + G = new G(null, FALSE) + G.get_features(src) + G.Insert(src) return G /obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H) @@ -317,6 +316,7 @@ genital_overlay.layer = -GENITALS_EXPOSED_LAYER LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag. else + genital_overlay.layer = -layer_num[layer] standing += genital_overlay if(LAZYLEN(standing)) diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index dc7923e448..f3ce834838 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -22,8 +22,8 @@ var/cached_size //these two vars pertain size modifications and so should be expressed in NUMBERS. var/prev_size //former cached_size value, to allow update_size() to early return should be there no significant changes. -/obj/item/organ/genital/breasts/Initialize(mapload, mob/living/carbon/human/H) - if(!H) +/obj/item/organ/genital/breasts/Initialize(mapload, do_update = TRUE) + if(do_update) cached_size = breast_values[size] prev_size = cached_size return ..() From a0dc21b01ced31c978b6b96ab8c8cafa2f469c9b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 12:50:08 +0100 Subject: [PATCH 146/392] ok. --- modular_citadel/code/modules/arousal/genitals.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index bc7bf73d31..a7b8aa7c10 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -316,7 +316,7 @@ genital_overlay.layer = -GENITALS_EXPOSED_LAYER LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag. else - genital_overlay.layer = -layer_num[layer] + genital_overlay.layer = -layers_num[layer] standing += genital_overlay if(LAZYLEN(standing)) From fdbef6a93c565c8257366dadcafbae10a0da9957 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 13:10:36 +0100 Subject: [PATCH 147/392] Update bin.dm --- code/modules/recycling/disposal/bin.dm | 36 +++++++------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 90f96d0352..d39d9f4b85 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -79,12 +79,12 @@ /obj/machinery/disposal/attackby(obj/item/I, mob/user, params) add_fingerprint(user) if(!pressure_charging && !full_pressure && !flush) - if(istype(I, /obj/item/screwdriver)) + if(I.tool_behaviour == TOOL_SCREWDRIVER) panel_open = !panel_open I.play_tool_sound(src) to_chat(user, "You [panel_open ? "remove":"attach"] the screws around the power connection.") return - else if(istype(I, /obj/item/weldingtool) && panel_open) + else if(I.tool_behaviour == TOOL_WELDER && panel_open) if(!I.tool_start_check(user, amount=0)) return @@ -99,7 +99,7 @@ return place_item_in_disposal(I, user) update_icon() - return 1 //no afterattack + return TRUE //no afterattack else return ..() @@ -288,32 +288,16 @@ var/datum/oracle_ui/themed/nano/ui obj_flags = CAN_BE_HIT | USES_TGUI | SHOVABLE_ONTO - // attack by item places it in to disposal /obj/machinery/disposal/bin/attackby(obj/item/I, mob/user, params) - add_fingerprint(user) - if(!pressure_charging && !full_pressure && !flush) - if(I.tool_behaviour == TOOL_SCREWDRIVER) - panel_open = !panel_open - I.play_tool_sound(src) - to_chat(user, "You [panel_open ? "remove":"attach"] the screws around the power connection.") - return - else if(I.tool_behaviour == TOOL_WELDER && panel_open) - if(!I.tool_start_check(user, amount=0)) - return - - to_chat(user, "You start slicing the floorweld off \the [src]...") - if(I.use_tool(src, user, 20, volume=100) && panel_open) - to_chat(user, "You slice the floorweld off \the [src].") - deconstruct() - return - - if(user.a_intent != INTENT_HARM) - if((I.item_flags & ABSTRACT) || !user.temporarilyRemoveItemFromInventory(I)) - return - place_item_in_disposal(I, user) + if(istype(I, /obj/item/storage/bag/trash)) //Not doing component overrides because this is a specific type. + var/obj/item/storage/bag/trash/T = I + var/datum/component/storage/STR = T.GetComponent(/datum/component/storage) + to_chat(user, "You empty the bag.") + for(var/obj/item/O in T.contents) + STR.remove_from_storage(O,src) + T.update_icon() update_icon() - return TRUE //no afterattack else return ..() From 3aa3fc36142bd0f6c22f641e383f0d28e2e2ac3b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 05:15:19 -0700 Subject: [PATCH 148/392] Update storage.dm --- code/datums/components/storage/storage.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 55e5c03c2b..0a610d0a41 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -41,6 +41,7 @@ var/obj/screen/storage/boxes //storage display object var/obj/screen/close/closer //close button object + var/current_maxscreensize var/allow_big_nesting = FALSE //allow storage objects of the same or greater size. @@ -362,11 +363,15 @@ break closer.screen_loc = "[screen_start_x + cols]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y]" -/datum/component/storage/proc/show_to(mob/M) +/datum/component/storage/proc/show_to(mob/M, set_screen_size = FALSE) if(!M.client) return FALSE var/list/cview = getviewsize(M.client.view) var/maxallowedscreensize = cview[1]-8 + if(set_screen_size) + current_maxscreensize = maxallowedscreensize + else if(current_maxscreensize) + maxallowedscreensize = current_maxscreensize if(M.active_storage != src && (M.stat == CONSCIOUS)) for(var/obj/item/I in accessible_items()) if(I.on_found(M)) @@ -547,14 +552,14 @@ return A.add_fingerprint(M) -/datum/component/storage/proc/user_show_to_mob(mob/M, force = FALSE) +/datum/component/storage/proc/user_show_to_mob(mob/M, force = FALSE, ghost = FALSE) var/atom/A = parent if(!istype(M)) return FALSE A.add_fingerprint(M) if(!force && (check_locked(null, M) || !M.CanReach(parent, view_only = TRUE))) return FALSE - show_to(M) + show_to(M, !ghost) /datum/component/storage/proc/mousedrop_receive(datum/source, atom/movable/O, mob/M) if(isitem(O)) @@ -665,7 +670,7 @@ return can_be_inserted(I, silent, M) /datum/component/storage/proc/show_to_ghost(datum/source, mob/dead/observer/M) - return user_show_to_mob(M, TRUE) + return user_show_to_mob(M, TRUE, TRUE) /datum/component/storage/proc/signal_show_attempt(datum/source, mob/showto, force = FALSE) return user_show_to_mob(showto, force) From 87097fb059aef3f4eca418aca8356269197a67a9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 05:30:44 -0700 Subject: [PATCH 149/392] Update storage.dm --- code/datums/components/storage/storage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 0a610d0a41..61f97006dd 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -363,7 +363,7 @@ break closer.screen_loc = "[screen_start_x + cols]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y]" -/datum/component/storage/proc/show_to(mob/M, set_screen_size = FALSE) +/datum/component/storage/proc/show_to(mob/M, set_screen_size = TRUE) if(!M.client) return FALSE var/list/cview = getviewsize(M.client.view) From 5d3f39b1ae9a64d567d2d8d850e76c3f61b4c0bf Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 05:39:59 -0700 Subject: [PATCH 150/392] Update DNA.dm --- code/__DEFINES/DNA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 9ebe6bb552..47184674d6 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -138,8 +138,8 @@ ////organ defines #define STANDARD_ORGAN_THRESHOLD 100 -#define STANDARD_ORGAN_HEALING (1/(15 MINUTES / 1 SECOND)) -#define STANDARD_ORGAN_DECAY (1/(15 MINUTES / 1 SECOND)) //designed to fail organs when left to decay for ~15 minutes. 1 SECOND is SSmobs tickrate. +#define STANDARD_ORGAN_HEALING (1/(15 MINUTES / 1 SECONDS)) +#define STANDARD_ORGAN_DECAY (1/(15 MINUTES / 1 SECONDS)) //designed to fail organs when left to decay for ~15 minutes. 1 SECOND is SSmobs tickrate. #define G_MALE 1 #define G_FEMALE 2 From 481f038e018e9a0ab7fbeecbb55be7aef16f801f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 05:40:36 -0700 Subject: [PATCH 151/392] Update item_attack.dm --- code/_onclick/item_attack.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 742f295406..9ba51afc69 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -9,9 +9,11 @@ */ /obj/item/proc/melee_attack_chain(mob/user, atom/target, params) if(item_flags & NO_ATTACK_CHAIN_SOFT_STAMCRIT) - if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) - to_chat(user, "You are too exhausted to swing [src]!") - return + if(isliving(user)) + var/mob/living/L = user + if(L.getStaminaLoss() >= STAMINA_SOFTCRIT) + to_chat(L, "You are too exhausted to swing [src]!") + return if(tool_behaviour && target.tool_act(user, src, tool_behaviour)) return if(pre_attack(target, user, params)) From 315b0a9645784d0a834df8644e618f7245e60dd3 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:05:40 +0100 Subject: [PATCH 152/392] Fixes halved flavor text max length and removing some crappy code. --- code/__DEFINES/say.dm | 1 + code/__HELPERS/_cit_helpers.dm | 22 ++++++--- code/modules/client/preferences.dm | 3 +- .../mob/living/carbon/human/examine.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 2 + code/modules/mob/mob.dm | 3 -- code/modules/mob/mob_defines.dm | 5 +- code/modules/mob/say_vr.dm | 49 ------------------- 8 files changed, 26 insertions(+), 63 deletions(-) diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index beeee22df9..49cfba8cd2 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -81,6 +81,7 @@ //Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam #define MAX_MESSAGE_LEN 2048 //Citadel edit: What's the WORST that could happen? +#define MAX_FAVOR_LEN 4096 //double the maximum message length. #define MAX_NAME_LEN 42 #define MAX_BROADCAST_LEN 512 #define MAX_CHARTER_LEN 80 diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index 1bde770045..f91892e41e 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -108,27 +108,37 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) message_admins("[key_name_admin(usr)] manually reloaded mentors") //Flavor Text -/mob/living/carbon/human/verb/set_flavor() +/mob/proc/set_flavor() set name = "Set Flavor Text" set desc = "Sets an extended description of your character's features." set category = "IC" - var/new_flavor = input(src, "Enter your new flavor text:", "Flavor text", null) as message|null + var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", flavor_text, MAX_FAVOR_LEN, TRUE) if(!isnull(new_flavor)) - flavor_text = sanitize(new_flavor) + flavor_text = new_flavor to_chat(src, "Your flavor text has been updated.") //Flavor Text -/mob/living/carbon/human/verb/set_flavor_2() +/mob/proc/set_flavor_2() set name = "Set Temporary Flavor Text" set desc = "Sets a description of your character's current appearance. Use this for emotions, poses etc." set category = "IC" - var/new_flavor = input(src, "Enter your new temporary flavor text:", "Temporary flavor text", null) as message|null + var/new_flavor = stripped_multiline_input(usr, "Set the temporary flavor text in your 'examine' verb. This should be used only for things pertaining to the current round!", "Short-Term Flavor Text", flavor_text_2, MAX_FAVOR_LEN, TRUE) if(!isnull(new_flavor)) - flavor_text_2 = sanitize(new_flavor) + flavor_text_2 = new_flavor to_chat(src, "Your temporary flavor text has been updated.") +/mob/proc/print_flavor_text(flavor) + if(!flavor) + return + // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown. + var/msg = html_decode(replacetext(flavor, "\n", " ")) + if(length_char(msg) <= 40) + return "[html_encode(msg)]" + else + return "[html_encode(copytext_char(msg, 1, 37))]... More..." + //LOOC toggles /client/verb/listen_looc() set name = "Show/Hide LOOC" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index ba20fdacd2..793a72c1f7 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1473,9 +1473,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("flavor_text") - var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(features["flavor_text"]), MAX_MESSAGE_LEN, TRUE) + var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", features["flavor_text"], MAX_FAVOR_LEN, TRUE) if(msg) - msg = msg features["flavor_text"] = msg if("hair") diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 7a5fca3562..8e19fa7776 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -394,10 +394,10 @@ if(invisible_man) . += "...?" else - var/flavor = print_flavor_text() + var/flavor = print_flavor_text(flavor_text) if(flavor) . += flavor - var/temp_flavor = print_flavor_text_2() + var/temp_flavor = print_flavor_text(flavor_text_2) if(temp_flavor) . += temp_flavor SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2b03e22b77..ef3d4cbb98 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -9,6 +9,8 @@ verbs += /mob/living/proc/mob_sleep verbs += /mob/living/proc/lay_down verbs += /mob/living/carbon/human/proc/underwear_toggle //fwee + verbs += /mob/proc/set_flavor + verbs += /mob/proc/set_flavor_2 //initialize limbs first create_bodyparts() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0e39f43263..1ca6299efb 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -512,9 +512,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) usr << browse(text("[][]", name, replacetext(flavor_text_2, "\n", "
")), text("window=[];size=500x200", name)) onclose(usr, "[name]") - if(href_list["flavor_change"]) - update_flavor_text() - if(href_list["refresh"]) if(machine && in_range(src, usr)) show_inv(machine) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 7d446e4ef0..6d5ae72e77 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -124,4 +124,7 @@ var/siliconaccessareas = list() var/siliconaccesstoggle = FALSE - var/voluntary_ghosted = FALSE //whether or not they voluntarily ghosted. \ No newline at end of file + var/voluntary_ghosted = FALSE //whether or not they voluntarily ghosted. + + var/flavor_text = "" + var/flavor_text_2 = "" //version of the above that only lasts for the current round. diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 74cc0c2e77..377bb1c5fc 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -1,52 +1,6 @@ ////////////////////////////////////////////////////// ////////////////////SUBTLE COMMAND//////////////////// ////////////////////////////////////////////////////// -/mob - var/flavor_text = "" //tired of fucking double checking this - var/flavor_text_2 = "" - -/mob/proc/update_flavor_text() - set src in usr - if(usr != src) - to_chat(usr, "No.") - var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(flavor_text), MAX_MESSAGE_LEN, TRUE) - - if(msg) - flavor_text = html_encode(msg) - -/mob/proc/update_flavor_text_2() - set src in usr - if(usr != src) - to_chat(usr, "No.") - var/msg = stripped_multiline_input(usr, "Set the temporary flavor text in your 'examine' verb. This should be used only for things pertaining to the current round!", "Short-Term Flavor Text", html_decode(flavor_text_2), MAX_MESSAGE_LEN, TRUE) - - if(msg) - flavor_text_2 = html_encode(msg) - - -/mob/proc/warn_flavor_changed() - if(flavor_text && flavor_text != "") // don't spam people that don't use it! - to_chat(src, "

OOC Warning:

") - to_chat(src, "Your flavor text is likely out of date! Change") - -/mob/proc/print_flavor_text() - if(flavor_text && flavor_text != "") - // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown. - var/msg = html_decode(replacetext(flavor_text, "\n", " ")) - if(length_char(msg) <= 40) - return "[html_encode(msg)]" - else - return "[html_encode(copytext_char(msg, 1, 37))]... More..." - -/mob/proc/print_flavor_text_2() - if(flavor_text && flavor_text != "") - // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown. - var/msg = html_decode(replacetext(flavor_text_2, "\n", " ")) - if(length_char(msg) <= 40) - return "[html_encode(msg)]" - else - return "[html_encode(copytext_char(msg, 1, 37))]... More..." - /mob/proc/get_top_level_mob() if(istype(src.loc,/mob)&&src.loc!=src) @@ -60,9 +14,6 @@ proc/get_top_level_mob(var/mob/S) return M.get_top_level_mob() return S - - - ///////////////// EMOTE CODE // Maybe making this as an emote is less messy? // It was - ktccd From c5b4cf0e6b66c410490bacd279d9410318ebf17e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:06:05 +0100 Subject: [PATCH 153/392] Ok. --- code/__HELPERS/_cit_helpers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index f91892e41e..26910a916b 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -113,7 +113,7 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) set desc = "Sets an extended description of your character's features." set category = "IC" - var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", flavor_text, MAX_FAVOR_LEN, TRUE) + var/new_flavor = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", flavor_text, MAX_FAVOR_LEN, TRUE) if(!isnull(new_flavor)) flavor_text = new_flavor to_chat(src, "Your flavor text has been updated.") From d8415aa6345ae5aed8cf9bd1a1a6f3a5afc37683 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:44:08 +0100 Subject: [PATCH 154/392] Fixing tongue organ damage spam. --- code/modules/surgery/organs/tongue.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 8ad293fbcb..d540d12d14 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -30,6 +30,12 @@ /obj/item/organ/tongue/Initialize(mapload) . = ..() + low_threshold_passed = "Your [name] feels a little sore." + low_threshold_cleared = "Your [name] soreness subsides." + high_threshold_passed = "Your [name] is really starting to hurt." + high_threshold_cleared = "The pain of your [name] subsides a little." + now_failing = "Your [name] feels like it's about to fall out!." + now_fixed = "The excruciating pain of your [name] subsides." languages_possible = languages_possible_base /obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) @@ -40,7 +46,7 @@ return if(organ_flags & ORGAN_SYNTHETIC) var/errormessage = list("Runtime in tongue.dm, line 39: Undefined operation \"zapzap ow my tongue\"", "afhsjifksahgjkaslfhashfjsak", "-1.#IND", "Graham's number", "inside you all along", "awaiting at least 1 approving review before merging this taste request") - owner.say("The pH is appropriately [pick(errormessage)].") + owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue") /obj/item/organ/tongue/applyOrganDamage(var/d, var/maximum = maxHealth) @@ -58,11 +64,6 @@ to_chat(owner, "Your tongue is singed beyond recognition, and disintegrates!") SSblackbox.record_feedback("tally", "fermi_chem", 1, "Tongues lost to Fermi") qdel(src) - else if ((damage / maxHealth) > 0.85) - to_chat(owner, "Your tongue feels like it's about to fall out!.") - else if ((damage / maxHealth) > 0.5) - to_chat(owner, "Your tongue is really starting to hurt.") - /obj/item/organ/tongue/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) ..() From 747b84d25579757998524861939edaef89e18c2f Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:47:53 +0100 Subject: [PATCH 155/392] Thank you fermis very cool --- code/modules/surgery/organs/tongue.dm | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index d540d12d14..d71aa097d1 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -31,11 +31,11 @@ /obj/item/organ/tongue/Initialize(mapload) . = ..() low_threshold_passed = "Your [name] feels a little sore." - low_threshold_cleared = "Your [name] soreness subsides." + low_threshold_cleared = "Your [name] soreness has subsided." high_threshold_passed = "Your [name] is really starting to hurt." - high_threshold_cleared = "The pain of your [name] subsides a little." + high_threshold_cleared = "The pain of your [name] has subsided a little." now_failing = "Your [name] feels like it's about to fall out!." - now_fixed = "The excruciating pain of your [name] subsides." + now_fixed = "The excruciating pain of your [name] has subsided." languages_possible = languages_possible_base /obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) @@ -48,19 +48,9 @@ var/errormessage = list("Runtime in tongue.dm, line 39: Undefined operation \"zapzap ow my tongue\"", "afhsjifksahgjkaslfhashfjsak", "-1.#IND", "Graham's number", "inside you all along", "awaiting at least 1 approving review before merging this taste request") owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue") -/obj/item/organ/tongue/applyOrganDamage(var/d, var/maximum = maxHealth) - - if(!d) //Micro-optimization. - return - if(maximum < damage) - return - damage = CLAMP(damage + d, 0, maximum) - var/mess = check_damage_thresholds(owner) - prev_damage = damage - if(mess && owner) - to_chat(owner, mess) - - if ((damage / maxHealth) > 1) +/obj/item/organ/tongue/applyOrganDamage(d, maximum = maxHealth) + . = ..() + if (damage >= maxHealth) to_chat(owner, "Your tongue is singed beyond recognition, and disintegrates!") SSblackbox.record_feedback("tally", "fermi_chem", 1, "Tongues lost to Fermi") qdel(src) From be30ca164291c5831742dc6316eb0ba357ff29e6 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 13 Feb 2020 15:48:37 +0200 Subject: [PATCH 156/392] Tweaks the blood type and volume, plus hopefully fixes the lag exploit. --- .../reagents/chemistry/machinery/pandemic.dm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 01c75027ec..3dea44cf40 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -181,27 +181,30 @@ if(!istype(A) || !A.mutable) to_chat(usr, "ERROR: Cannot replicate virus strain.") return + wait = TRUE + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) A = A.Copy() var/list/data = list("blood_DNA" = "UNKNOWN DNA", "blood_type" = "SY", "viruses" = list(A)) var/obj/item/reagent_containers/glass/bottle/B = new(drop_location()) B.name = "[A.name] culture bottle" B.desc = "A small bottle. Contains [A.agent] culture in synthblood medium." - B.reagents.add_reagent(/datum/reagent/blood, 20, data) - wait = TRUE + B.reagents.add_reagent(/datum/reagent/blood/synthetics, 10, data) 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)]") - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 100) + . = TRUE if("create_vaccine_bottle") + wait = TRUE + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 400) var/id = params["index"] var/datum/disease/D = SSdisease.archive_diseases[id] 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)) - wait = TRUE + update_icon() - addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 400) + . = TRUE /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) From 23f7879057ee67b68dd33a06538ea8f17ab16de8 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:57:08 +0100 Subject: [PATCH 157/392] taste spam --- code/modules/mob/living/taste.dm | 39 ++++++++++++++------------- code/modules/surgery/organs/tongue.dm | 16 +++++------ 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm index e4d1aa94a5..46d0608f44 100644 --- a/code/modules/mob/living/taste.dm +++ b/code/modules/mob/living/taste.dm @@ -16,21 +16,22 @@ // non destructively tastes a reagent container /mob/living/proc/taste(datum/reagents/from) - if(last_taste_time + 50 < world.time) - var/taste_sensitivity = get_taste_sensitivity() - var/text_output = from.generate_taste_message(taste_sensitivity) - // We dont want to spam the same message over and over again at the - // person. Give it a bit of a buffer. - if(hallucination > 50 && prob(25)) - text_output = pick("spiders","dreams","nightmares","the future","the past","victory",\ - "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\ - "regrets","your soul","suffering","music","noise","blood","hunger","the american way") - if(text_output != last_taste_text || last_taste_time + 100 < world.time) - to_chat(src, "You can taste [text_output].") - // "something indescribable" -> too many tastes, not enough flavor. - - last_taste_time = world.time - last_taste_text = text_output + if(last_taste_time + 50 > world.time) + return FALSE + var/taste_sensitivity = get_taste_sensitivity() + var/text_output = from.generate_taste_message(taste_sensitivity) + // We dont want to spam the same message over and over again at the + // person. Give it a bit of a buffer. + if(hallucination > 50 && prob(25)) + text_output = pick("spiders","dreams","nightmares","the future","the past","victory",\ + "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\ + "regrets","your soul","suffering","music","noise","blood","hunger","the american way") + if(text_output != last_taste_text || last_taste_time + 100 < world.time) + to_chat(src, "You can taste [text_output].") + // "something indescribable" -> too many tastes, not enough flavor. + last_taste_time = world.time + last_taste_text = text_output + return TRUE //FermiChem - How to check pH of a beaker without a meter/pH paper. //Basically checks the pH of the holder and burns your poor tongue if it's too acidic! @@ -41,22 +42,24 @@ if (!T) return .=..() + if(!.) + return if ((from.pH > 12.5) || (from.pH < 1.5)) - to_chat(src, "You taste chemical burns!") T.applyOrganDamage(5) + to_chat(src, "You taste chemical burns!") if(istype(T, /obj/item/organ/tongue/cybernetic)) to_chat(src, "Your tongue moves on it's own in response to the liquid.") say("The pH is appropriately [round(from.pH, 1)].") return if (!HAS_TRAIT(src, TRAIT_AGEUSIA)) //I'll let you get away with not having 1 damage. switch(from.pH) - if(11.5 to INFINITY) + if(11.5 to 12.5) to_chat(src, "You taste a strong alkaline flavour!") if(8.5 to 11.5) to_chat(src, "You taste a sort of soapy tone in the mixture.") if(2.5 to 5.5) to_chat(src, "You taste a sort of acid tone in the mixture.") - if(-INFINITY to 2.5) + if(1.5 to 2.5) to_chat(src, "You taste a strong acidic flavour!") #undef DEFAULT_TASTE_SENSITIVITY diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index d71aa097d1..bcc764d00a 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -39,14 +39,7 @@ languages_possible = languages_possible_base /obj/item/organ/tongue/proc/handle_speech(datum/source, list/speech_args) - -/obj/item/organ/tongue/emp_act(severity) - . = ..() - if(. & EMP_PROTECT_SELF) - return - if(organ_flags & ORGAN_SYNTHETIC) - var/errormessage = list("Runtime in tongue.dm, line 39: Undefined operation \"zapzap ow my tongue\"", "afhsjifksahgjkaslfhashfjsak", "-1.#IND", "Graham's number", "inside you all along", "awaiting at least 1 approving review before merging this taste request") - owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue") + return /obj/item/organ/tongue/applyOrganDamage(d, maximum = maxHealth) . = ..() @@ -302,6 +295,13 @@ maxHealth = 60 //It's robotic! organ_flags = ORGAN_SYNTHETIC +/obj/item/organ/tongue/cybernetic/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + var/errormessage = list("Runtime in tongue.dm, line 39: Undefined operation \"zapzap ow my tongue\"", "afhsjifksahgjkaslfhashfjsak", "-1.#IND", "Graham's number", "inside you all along", "awaiting at least 1 approving review before merging this taste request") + owner.say("The pH is appropriately [pick(errormessage)].", forced = "EMPed synthetic tongue") + /obj/item/organ/tongue/cybernetic/handle_speech(datum/source, list/speech_args) speech_args[SPEECH_SPANS] |= SPAN_ROBOT From 0e4d4811dbc601dc826fddbaaec3275e44b3b450 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 13 Feb 2020 17:53:21 +0200 Subject: [PATCH 158/392] 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 18:00:12 +0100 Subject: [PATCH 159/392] Update cards_ids.dm --- code/game/objects/items/cards_ids.dm | 54 ++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index f40b7f5c49..2bb5234b30 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -265,26 +265,52 @@ update_label("John Doe", "Clowny") var/obj/item/card/id/I = O src.access |= I.access if(isliving(user) && user.mind) - if(user.mind.special_role) + if(user.mind.special_role || anyone) to_chat(usr, "The card's microscanners activate as you pass it over the ID, copying its access.") /obj/item/card/id/syndicate/attack_self(mob/user) if(isliving(user) && user.mind) - if(user.mind.special_role || anyone) - if(alert(user, "Action", "Agent ID", "Show", "Forge") == "Forge") - var/input_name = reject_bad_name(stripped_input(user, "What name would you like to put on this card?", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name), MAX_NAME_LEN), TRUE) - if(!input_name) - return + var/first_use = registered_name ? FALSE : TRUE + if(!(user.mind.special_role || anyone)) //Unless anyone is allowed, only syndies can use the card, to stop metagaming. + if(first_use) //If a non-syndie is the first to forge an unassigned agent ID, then anyone can forge it. + anyone = TRUE + else + return ..() - var/u = stripped_input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant", MAX_MESSAGE_LEN) - if(!u) - registered_name = "" - return - assignment = u - update_label() - to_chat(user, "You successfully forge the ID card.") + var/popup_input = alert(user, "Choose Action", "Agent ID", "Show", "Forge/Reset") + if(user.incapacitated()) + return + if(popup_input == "Forge/Reset" && !forged) + var/input_name = stripped_input(user, "What name would you like to put on this card? Leave blank to randomise.", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name), MAX_NAME_LEN) + input_name = reject_bad_name(input_name) + if(!input_name) + // Invalid/blank names give a randomly generated one. + if(user.gender == MALE) + input_name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]" + else if(user.gender == FEMALE) + input_name = "[pick(GLOB.first_names_female)] [pick(GLOB.last_names)]" + else + input_name = "[pick(GLOB.first_names)] [pick(GLOB.last_names)]" + + var/target_occupation = stripped_input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", assignment ? assignment : "Assistant", MAX_MESSAGE_LEN) + if(!target_occupation) return - ..() + registered_name = input_name + assignment = target_occupation + update_label() + forged = TRUE + to_chat(user, "You successfully forge the ID card.") + log_game("[key_name(user)] has forged \the [initial(name)] with name \"[registered_name]\" and occupation \"[assignment]\".") + return + else if (popup_input == "Forge/Reset" && forged) + registered_name = initial(registered_name) + assignment = initial(assignment) + log_game("[key_name(user)] has reset \the [initial(name)] named \"[src]\" to default.") + update_label() + forged = FALSE + to_chat(user, "You successfully reset the ID card.") + return + return ..() /obj/item/card/id/syndicate/anyone anyone = TRUE From bcc7949034f5546dcfc47735bbddee4eaba5b8b4 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 18:02:42 +0100 Subject: [PATCH 160/392] Update names.dm --- code/_globalvars/lists/names.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index 7ae197a5d1..e334d08040 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -4,6 +4,7 @@ GLOBAL_LIST_INIT(wizard_second, world.file2list("strings/names/wizardsecond.txt" GLOBAL_LIST_INIT(ninja_titles, world.file2list("strings/names/ninjatitle.txt")) GLOBAL_LIST_INIT(ninja_names, world.file2list("strings/names/ninjaname.txt")) GLOBAL_LIST_INIT(commando_names, world.file2list("strings/names/death_commando.txt")) +GLOBAL_LIST_INIT(first_names, world.file2list("strings/names/first.txt")) GLOBAL_LIST_INIT(first_names_male, world.file2list("strings/names/first_male.txt")) GLOBAL_LIST_INIT(first_names_female, world.file2list("strings/names/first_female.txt")) GLOBAL_LIST_INIT(last_names, world.file2list("strings/names/last.txt")) From 071c3a143fa77d7d9d65b8428afe24a7a1afd946 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Thu, 13 Feb 2020 18:13:14 +0100 Subject: [PATCH 161/392] Update cards_ids.dm --- code/game/objects/items/cards_ids.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 2bb5234b30..4de3e4ff96 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -250,6 +250,7 @@ update_label("John Doe", "Clowny") name = "agent card" access = list(ACCESS_MAINT_TUNNELS, ACCESS_SYNDICATE) var/anyone = FALSE //Can anyone forge the ID or just syndicate? + var/forged = FALSE //have we set a custom name and job assignment, or will we use what we're given when we chameleon change? /obj/item/card/id/syndicate/Initialize() . = ..() From 7964d768fafb24dc01839ccf21f4204b867bc67e Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 13 Feb 2020 20:51:52 +0200 Subject: [PATCH 162/392] Initial Commit --- code/__DEFINES/mobs.dm | 22 +++++++++---------- code/_globalvars/bitfields.dm | 17 ++++++++++++-- code/datums/components/nanites.dm | 4 ++-- code/datums/diseases/_MobProcs.dm | 8 ++----- code/datums/diseases/_disease.dm | 2 +- .../diseases/advance/symptoms/species.dm | 7 +++--- code/datums/diseases/beesease.dm | 2 +- code/datums/diseases/magnitis.dm | 2 +- code/datums/diseases/parrotpossession.dm | 2 +- code/datums/diseases/transformation.dm | 4 ++-- code/game/machinery/harvester.dm | 2 +- .../clock_mobs/clockwork_marauder.dm | 2 +- code/modules/antagonists/devil/imp/imp.dm | 2 +- code/modules/antagonists/revenant/revenant.dm | 2 +- .../antagonists/slaughter/slaughter.dm | 2 +- code/modules/antagonists/swarmer/swarmer.dm | 2 +- .../events/spontaneous_appendicitis.dm | 2 +- .../mob/living/carbon/human/human_defines.dm | 2 +- .../mob/living/carbon/human/species.dm | 2 +- .../carbon/human/species_types/android.dm | 2 +- .../carbon/human/species_types/flypeople.dm | 2 +- .../carbon/human/species_types/golems.dm | 7 +++--- .../human/species_types/lizardpeople.dm | 2 +- .../carbon/human/species_types/plasmamen.dm | 2 +- .../carbon/human/species_types/skeletons.dm | 2 +- .../carbon/human/species_types/synths.dm | 4 ++-- .../carbon/human/species_types/vampire.dm | 2 +- .../carbon/human/species_types/zombies.dm | 2 +- .../mob/living/carbon/monkey/monkey.dm | 2 +- code/modules/mob/living/living_defines.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 2 +- .../mob/living/simple_animal/bot/bot.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 2 +- .../simple_animal/friendly/butterfly.dm | 2 +- .../mob/living/simple_animal/friendly/cat.dm | 2 +- .../simple_animal/friendly/cockroach.dm | 2 +- .../mob/living/simple_animal/friendly/dog.dm | 2 +- .../simple_animal/friendly/drone/_drone.dm | 2 +- .../simple_animal/friendly/farm_animals.dm | 8 +++---- .../living/simple_animal/friendly/lizard.dm | 2 +- .../living/simple_animal/friendly/mouse.dm | 2 +- .../mob/living/simple_animal/friendly/pet.dm | 2 +- .../living/simple_animal/friendly/sloth.dm | 2 +- .../living/simple_animal/friendly/snake.dm | 4 ++-- .../living/simple_animal/guardian/guardian.dm | 2 +- .../mob/living/simple_animal/hostile/bear.dm | 2 +- .../mob/living/simple_animal/hostile/bees.dm | 2 +- .../hostile/bosses/paperwizard.dm | 2 +- .../mob/living/simple_animal/hostile/carp.dm | 2 +- .../simple_animal/hostile/cat_butcher.dm | 2 +- .../living/simple_animal/hostile/eyeballs.dm | 2 +- .../living/simple_animal/hostile/faithless.dm | 2 +- .../simple_animal/hostile/giant_spider.dm | 2 +- .../mob/living/simple_animal/hostile/goose.dm | 2 +- .../simple_animal/hostile/gorilla/gorilla.dm | 2 +- .../living/simple_animal/hostile/illusion.dm | 2 +- .../simple_animal/hostile/jungle/leaper.dm | 2 +- .../hostile/jungle/mega_arachnid.dm | 2 +- .../simple_animal/hostile/jungle/mook.dm | 2 +- .../simple_animal/hostile/mecha_pilot.dm | 2 +- .../hostile/megafauna/blood_drunk_miner.dm | 2 +- .../hostile/megafauna/megafauna.dm | 2 +- .../mob/living/simple_animal/hostile/mimic.dm | 2 +- .../hostile/mining_mobs/basilisk.dm | 2 +- .../hostile/mining_mobs/curse_blob.dm | 2 +- .../hostile/mining_mobs/goldgrub.dm | 2 +- .../hostile/mining_mobs/goliath.dm | 2 +- .../hostile/mining_mobs/gutlunch.dm | 2 +- .../hostile/mining_mobs/hivelord.dm | 4 ++-- .../simple_animal/hostile/nanotrasen.dm | 2 +- .../simple_animal/hostile/netherworld.dm | 2 +- .../living/simple_animal/hostile/pirate.dm | 4 ++-- .../simple_animal/hostile/retaliate/bat.dm | 2 +- .../simple_animal/hostile/retaliate/clown.dm | 2 +- .../simple_animal/hostile/retaliate/frog.dm | 2 +- .../simple_animal/hostile/retaliate/ghost.dm | 2 +- .../hostile/retaliate/spaceman.dm | 2 +- .../living/simple_animal/hostile/russian.dm | 2 +- .../living/simple_animal/hostile/skeleton.dm | 2 +- .../living/simple_animal/hostile/statue.dm | 2 +- .../living/simple_animal/hostile/stickman.dm | 4 ++-- .../living/simple_animal/hostile/syndicate.dm | 4 ++-- .../living/simple_animal/hostile/wizard.dm | 2 +- .../simple_animal/hostile/wumborian_fugu.dm | 2 +- .../living/simple_animal/hostile/zombie.dm | 2 +- .../modules/mob/living/simple_animal/shade.dm | 2 +- .../chemistry/reagents/other_reagents.dm | 2 +- .../chemistry/reagents/toxin_reagents.dm | 2 +- .../nanites/nanite_chamber_computer.dm | 2 +- .../nanites/nanite_programs/healing.dm | 2 +- .../research/nanites/public_chamber.dm | 2 +- code/modules/zombie/organs.dm | 4 +++- 92 files changed, 136 insertions(+), 123 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a7d6056ab9..1b437f2a71 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -35,17 +35,17 @@ #define BLOODCRAWL 1 #define BLOODCRAWL_EAT 2 -//Mob bio-types -#define MOB_ORGANIC "organic" -#define MOB_INORGANIC "inorganic" -#define MOB_ROBOTIC "robotic" -#define MOB_UNDEAD "undead" -#define MOB_HUMANOID "humanoid" -#define MOB_BUG "bug" -#define MOB_BEAST "beast" -#define MOB_EPIC "epic" //megafauna -#define MOB_REPTILE "reptile" -#define MOB_SPIRIT "spirit" +//Mob bio-types flags +#define MOB_ORGANIC 1 << 0 +#define MOB_MINERAL 1 << 1 +#define MOB_ROBOTIC 1 << 2 +#define MOB_UNDEAD 1 << 3 +#define MOB_HUMANOID 1 << 4 +#define MOB_BUG 1 << 5 +#define MOB_BEAST 1 << 6 +#define MOB_EPIC 1 << 7 //megafauna +#define MOB_REPTILE 1 << 8 +#define MOB_SPIRIT 1 << 9 //Organ defines for carbon mobs #define ORGAN_ORGANIC 1 diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index c98faaa4fb..a0139dab83 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -214,5 +214,18 @@ GLOBAL_LIST_INIT(bitfields, list( "CAN_MASTURBATE_WITH" = CAN_MASTURBATE_WITH, "MASTURBATE_LINKED_ORGAN" = MASTURBATE_LINKED_ORGAN, "CAN_CLIMAX_WITH" = CAN_CLIMAX_WITH - ) - )) \ No newline at end of file + + ), + "mob_biotypes" = list ( + "MOB_ORGANIC" = MOB_ORGANIC, + "MOB_MINERAL" = MOB_MINERAL, + "MOB_ROBOTIC" = MOB_ROBOTIC, + "MOB_UNDEAD" = MOB_UNDEAD, + "MOB_HUMANOID" = MOB_HUMANOID, + "MOB_BUG" = MOB_BUG, + "MOB_BEAST" = MOB_BEAST, + "MOB_EPIC" = MOB_EPIC, + "MOB_REPTILE" = MOB_REPTILE, + "MOB_SPIRIT" = MOB_SPIRIT + ) + )) diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index e1c96121c7..1d9ba1d11b 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -25,7 +25,7 @@ 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 host_mob.hud_set_nanite_indicator() @@ -212,7 +212,7 @@ 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) diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm index c125a9b7c7..0b6d4e3404 100644 --- a/code/datums/diseases/_MobProcs.dm +++ b/code/datums/diseases/_MobProcs.dm @@ -17,14 +17,10 @@ if(HasDisease(D)) return FALSE - var/can_infect = FALSE - for(var/host_type in D.infectable_biotypes) - if(host_type in mob_biotypes) - can_infect = TRUE - break - if(!can_infect) + if(!(D.infectable_biotypes & mob_biotypes)) return FALSE + if(!(type in D.viable_mobtypes)) return FALSE diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 056f99c7a4..940b61c9fe 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -30,7 +30,7 @@ var/list/required_organs = list() var/needs_all_cures = TRUE var/list/strain_data = list() //dna_spread special bullshit - var/list/infectable_biotypes = list(MOB_ORGANIC) //if the disease can spread on organics, synthetics, or undead + var/infectable_biotypes = MOB_ORGANIC //if the disease can spread on organics, synthetics, or undead var/process_dead = FALSE //if this ticks while the host is dead var/copy_type = null //if this is null, copies will use the type of the instance being copied diff --git a/code/datums/diseases/advance/symptoms/species.dm b/code/datums/diseases/advance/symptoms/species.dm index a8b18ae735..49a3cf8d07 100644 --- a/code/datums/diseases/advance/symptoms/species.dm +++ b/code/datums/diseases/advance/symptoms/species.dm @@ -14,7 +14,7 @@ /datum/symptom/undead_adaptation/OnRemove(datum/disease/advance/A) A.process_dead = FALSE - A.infectable_biotypes -= MOB_UNDEAD + A.infectable_biotypes &= ~MOB_UNDEAD /datum/symptom/inorganic_adaptation name = "Inorganic Biology" @@ -27,7 +27,8 @@ severity = 0 /datum/symptom/inorganic_adaptation/OnAdd(datum/disease/advance/A) - A.infectable_biotypes |= MOB_INORGANIC + A.infectable_biotypes |= MOB_MINERAL //Mineral covers plasmamen and golems. /datum/symptom/inorganic_adaptation/OnRemove(datum/disease/advance/A) - A.infectable_biotypes -= MOB_INORGANIC \ No newline at end of file + A.infectable_biotypes &= ~MOB_MINERAL + diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index 074bda0560..ccae692b4b 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -10,7 +10,7 @@ viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey) desc = "If left untreated subject will regurgitate bees." severity = DISEASE_SEVERITY_MEDIUM - infectable_biotypes = list(MOB_ORGANIC, MOB_UNDEAD) //bees nesting in corpses + infectable_biotypes = MOB_ORGANIC|MOB_UNDEAD //bees nesting in corpses /datum/disease/beesease/stage_act() ..() diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm index 29e6657e13..0bfb918ba0 100644 --- a/code/datums/diseases/magnitis.dm +++ b/code/datums/diseases/magnitis.dm @@ -10,7 +10,7 @@ permeability_mod = 0.75 desc = "This disease disrupts the magnetic field of your body, making it act as if a powerful magnet. Injections of iron help stabilize the field." severity = DISEASE_SEVERITY_MEDIUM - infectable_biotypes = list(MOB_ORGANIC, MOB_ROBOTIC) + infectable_biotypes = MOB_ORGANIC|MOB_ROBOTIC process_dead = TRUE /datum/disease/magnitis/stage_act() diff --git a/code/datums/diseases/parrotpossession.dm b/code/datums/diseases/parrotpossession.dm index 68e962055a..1a3346d565 100644 --- a/code/datums/diseases/parrotpossession.dm +++ b/code/datums/diseases/parrotpossession.dm @@ -11,7 +11,7 @@ viable_mobtypes = list(/mob/living/carbon/human) desc = "Subject is possessed by the vengeful spirit of a parrot. Call the priest." severity = DISEASE_SEVERITY_MEDIUM - infectable_biotypes = list(MOB_ORGANIC, MOB_UNDEAD, MOB_INORGANIC, MOB_ROBOTIC) + infectable_biotypes = MOB_ORGANIC|MOB_UNDEAD|MOB_ROBOTIC|MOB_MINERAL bypasses_immunity = TRUE //2spook var/mob/living/simple_animal/parrot/Poly/ghost/parrot diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index bdb05346e4..36c7d70f3c 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -168,7 +168,7 @@ stage4 = list("Your skin feels very loose.", "You can feel... something...inside you.") stage5 = list("Your skin feels as if it's about to burst off!") new_form = /mob/living/silicon/robot - infectable_biotypes = list(MOB_ORGANIC, MOB_UNDEAD, MOB_ROBOTIC) + infectable_biotypes = MOB_ORGANIC|MOB_UNDEAD|MOB_ROBOTIC bantype = "Cyborg" /datum/disease/transformation/robot/stage_act() @@ -284,7 +284,7 @@ stage4 = list("You're ravenous.") stage5 = list("You have become a morph.") new_form = /mob/living/simple_animal/hostile/morph - infectable_biotypes = list(MOB_ORGANIC, MOB_INORGANIC, MOB_UNDEAD) //magic! + infectable_biotypes = MOB_ORGANIC|MOB_MINERAL|MOB_UNDEAD //magic! /datum/disease/transformation/gondola name = "Gondola Transformation" diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 40430b37b7..8275e981de 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -71,7 +71,7 @@ say("Subject may not have abiotic items on.") playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1) return - if(!(MOB_ORGANIC in C.mob_biotypes)) + if(!(C.mob_biotypes & MOB_ORGANIC)) say("Subject is not organic.") playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1) return diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index 6591343116..897bff779d 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -8,7 +8,7 @@ name = "clockwork marauder" desc = "The stalwart apparition of a soldier, blazing with crimson flames. It's armed with a gladius and shield." icon_state = "clockwork_marauder" - mob_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_HUMANOID health = 120 maxHealth = 120 force_threshold = 8 diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm index fa5263059a..c2f636959b 100644 --- a/code/modules/antagonists/devil/imp/imp.dm +++ b/code/modules/antagonists/devil/imp/imp.dm @@ -13,7 +13,7 @@ icon = 'icons/mob/mob.dmi' icon_state = "imp" icon_living = "imp" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speed = 1 a_intent = INTENT_HARM stop_automated_movement = 1 diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 9754d146c3..26efb92bec 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -16,7 +16,7 @@ var/icon_stun = "revenant_stun" var/icon_drain = "revenant_draining" var/stasis = FALSE - mob_biotypes = list(MOB_SPIRIT) + mob_biotypes = MOB_SPIRIT incorporeal_move = INCORPOREAL_MOVE_JAUNT invisibility = INVISIBILITY_REVENANT health = INFINITY //Revenants don't use health, they use essence instead diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index c703c85762..8a01622c87 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -12,7 +12,7 @@ icon = 'icons/mob/mob.dmi' icon_state = "daemon" icon_living = "daemon" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speed = 1 a_intent = INTENT_HARM stop_automated_movement = 1 diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 7680d61034..bf976e3cca 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -62,7 +62,7 @@ speak_emote = list("tones") initial_language_holder = /datum/language_holder/swarmer bubble_icon = "swarmer" - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC health = 40 maxHealth = 40 status_flags = CANPUSH diff --git a/code/modules/events/spontaneous_appendicitis.dm b/code/modules/events/spontaneous_appendicitis.dm index 9cf3a86e71..58a2875849 100644 --- a/code/modules/events/spontaneous_appendicitis.dm +++ b/code/modules/events/spontaneous_appendicitis.dm @@ -19,7 +19,7 @@ continue if(!H.getorgan(/obj/item/organ/appendix)) //Don't give the disease to some who lacks it, only for it to be auto-cured continue - if(!(MOB_ORGANIC in H.mob_biotypes)) //biotype sleeper bugs strike again, once again making appendicitis pick a target that can't take it + if(!(H.mob_biotypes & MOB_ORGANIC)) //biotype sleeper bugs strike again, once again making appendicitis pick a target that can't take it continue var/foundAlready = FALSE //don't infect someone that already has appendicitis for(var/datum/disease/appendicitis/A in H.diseases) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 36d9ca541b..63c7d8f668 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -5,7 +5,7 @@ pressure_resistance = 25 can_buckle = TRUE buckle_lying = FALSE - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID //Hair colour and style var/hair_color = "000" var/hair_style = "Bald" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index fd4cdbaf0f..27ec72ad78 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/list/species_traits = list() // generic traits tied to having the species var/list/inherent_traits = list() - var/list/inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + var/inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID var/attack_verb = "punch" // punch-specific attack verb var/sound/attack_sound = 'sound/weapons/punch1.ogg' diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index ad9ba83771..559abd8d0b 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -4,7 +4,7 @@ say_mod = "states" species_traits = list(NOBLOOD,NOGENITALS,NOAROUSAL) inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_NOFIRE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_LIMBATTACHMENT) - inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID meat = null gib_types = /obj/effect/gibspawner/robot damage_overlay_type = "synth" diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 4697e6aa3c..13db60e273 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -3,7 +3,7 @@ id = "fly" say_mod = "buzzes" species_traits = list(NOEYES) - inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG) + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutanttongue = /obj/item/organ/tongue/fly mutantliver = /obj/item/organ/liver/fly mutantstomach = /obj/item/organ/stomach/fly diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 98c3f269dc..e341ad995c 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -4,7 +4,7 @@ id = "iron golem" species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR,NOGENITALS,NOAROUSAL) inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) - inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + inherent_biotypes = MOB_HUMANOID|MOB_MINERAL mutant_organs = list(/obj/item/organ/adamantine_resonator) speedmod = 2 armor = 55 @@ -638,6 +638,7 @@ species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES,NOGENITALS,NOAROUSAL) inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID armor = 20 //Reinforced, but much less so to allow for fast movement attack_verb = "smash" attack_sound = 'sound/magic/clockwork/anima_fragment_attack.ogg' @@ -694,7 +695,7 @@ Being made of cloth, your body is magic resistant and faster than that of other golems, but weaker and less resilient." species_traits = list(NOBLOOD,NO_UNDERWEAR,NOGENITALS,NOAROUSAL) //no mutcolors, and can burn inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_NOBREATH,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_CHUNKYFINGERS) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID armor = 15 //feels no pain, but not too resistant burnmod = 2 // don't get burned speedmod = 1 // not as heavy as stone @@ -1017,7 +1018,7 @@ else playsound(get_turf(owner),'sound/magic/RATTLEMEBONES.ogg', 100) for(var/mob/living/L in orange(7, get_turf(owner))) - if((MOB_UNDEAD in L.mob_biotypes) || isgolem(L) || HAS_TRAIT(L, TRAIT_RESISTCOLD)) + if((L.mob_biotypes & MOB_UNDEAD) || isgolem(L) || HAS_TRAIT(L, TRAIT_RESISTCOLD)) return //Do not affect our brothers to_chat(L, "A spine-chilling sound chills you to the bone!") diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 5cdb051026..dfa1725026 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -5,8 +5,8 @@ say_mod = "hisses" default_color = "00FF00" species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,LIPS,HORNCOLOR,WINGCOLOR) - inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_REPTILE) mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings", "legs", "taur", "deco_wings") + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE mutanttongue = /obj/item/organ/tongue/lizard mutanttail = /obj/item/organ/tail/lizard coldmod = 1.5 diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 4a7399f287..c899575e44 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -6,7 +6,7 @@ meat = /obj/item/stack/sheet/mineral/plasma species_traits = list(NOBLOOD,NOTRANSSTING,NOGENITALS) inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_NOHUNGER,TRAIT_CALCIUM_HEALER) - inherent_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + inherent_biotypes = MOB_HUMANOID|MOB_MINERAL mutantlungs = /obj/item/organ/lungs/plasmaman mutanttongue = /obj/item/organ/tongue/bone/plasmaman mutantliver = /obj/item/organ/liver/plasmaman diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 0c4007555c..410ad05d93 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -8,7 +8,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton species_traits = list(NOBLOOD,NOGENITALS,NOAROUSAL) inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_FAKEDEATH, TRAIT_CALCIUM_HEALER) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutanttongue = /obj/item/organ/tongue/bone damage_overlay_type = ""//let's not show bloody wounds or burns over bones. disliked_food = NONE diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index 0957a9e807..287cd481d7 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -5,7 +5,7 @@ sexes = 0 species_traits = list(NOTRANSSTING,NOGENITALS,NOAROUSAL) //all of these + whatever we inherit from the real species inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER,TRAIT_NOBREATH) - inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID dangerous_existence = 1 blacklisted = 1 meat = null @@ -124,4 +124,4 @@ if (/datum/species/golem/bananium) speech_args[SPEECH_SPANS] |= SPAN_CLOWN if (/datum/species/golem/clockwork) - speech_args[SPEECH_SPANS] |= SPAN_ROBOT \ No newline at end of file + speech_args[SPEECH_SPANS] |= SPAN_ROBOT diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 7462d26ea6..8bbd870149 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -4,7 +4,7 @@ default_color = "FFFFFF" species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,DRINKSBLOOD) inherent_traits = list(TRAIT_NOHUNGER,TRAIT_NOBREATH) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID default_features = list("mcolor" = "FFF", "tail_human" = "None", "ears" = "None", "wings" = "None") exotic_bloodtype = "U" use_skintones = TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index 8255f08507..26a99dbc2b 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -10,7 +10,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie species_traits = list(NOBLOOD,NOZOMBIE,NOTRANSSTING) inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_FAKEDEATH) - inherent_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutanttongue = /obj/item/organ/tongue/zombie var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg') disliked_food = NONE diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index cd51a4234b..f3abe83958 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -7,7 +7,7 @@ gender = NEUTER pass_flags = PASSTABLE ventcrawler = VENTCRAWLER_NUDE - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) type_of_meat = /obj/item/reagent_containers/food/snacks/meat/slab/monkey gib_type = /obj/effect/decal/cleanable/blood/gibs diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 031a2e9b94..7106d003ee 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -52,7 +52,7 @@ var/limb_destroyer = 0 //1 Sets AI behavior that allows mobs to target and dismember limbs with their basic attack. var/mob_size = MOB_SIZE_HUMAN - var/list/mob_biotypes = list(MOB_ORGANIC) + var/mob_biotypes = MOB_ORGANIC var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. var/has_limbs = 0 //does the mob have distinct limbs?(arms,legs, chest,head) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index e5881848d5..72e98e348c 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -10,7 +10,7 @@ bubble_icon = "machine" weather_immunities = list("ash") possible_a_intents = list(INTENT_HELP, INTENT_HARM) - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE speech_span = SPAN_ROBOT flags_1 = PREVENT_CONTENTS_EXPLOSION_1 | HEAR_1 diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 6112a1e800..7da0ad13da 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -3,7 +3,7 @@ icon = 'icons/mob/aibots.dmi' layer = MOB_LAYER gender = NEUTER - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC light_range = 3 light_power = 0.9 light_color = "#CDDDFF" diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index fbdc32f2c1..4c6bfc4c3e 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -3,7 +3,7 @@ real_name = "Construct" desc = "" gender = NEUTER - mob_biotypes = list(MOB_INORGANIC) + mob_biotypes = NONE speak_emote = list("hisses") response_help = "thinks better of touching" response_disarm = "flails at" diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index 2fbbad66d8..80fba5a9a4 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -18,7 +18,7 @@ pass_flags = PASSTABLE | PASSGRILLE | PASSMOB ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY - mob_biotypes = list(MOB_ORGANIC, MOB_BUG) + mob_biotypes = MOB_ORGANIC|MOB_BUG gold_core_spawnable = FRIENDLY_SPAWN verb_say = "flutters" verb_ask = "flutters inquisitively" diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index f12f3649cf..0f95096497 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -17,7 +17,7 @@ ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE mob_size = MOB_SIZE_SMALL - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST minbodytemp = 200 maxbodytemp = 400 unsuitable_atmos_damage = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index 26d4691d83..95aa86aaab 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -13,7 +13,7 @@ maxbodytemp = INFINITY pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - mob_biotypes = list(MOB_ORGANIC, MOB_BUG) + mob_biotypes = MOB_ORGANIC|MOB_BUG response_help = "pokes" response_disarm = "shoos" response_harm = "splats" diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 873051c336..37ef271226 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -1,7 +1,7 @@ //Dogs. /mob/living/simple_animal/pet/dog - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST response_help = "pets" response_disarm = "bops" response_harm = "kicks" 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 158719414a..7dd373b49f 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -35,7 +35,7 @@ sight = (SEE_TURFS | SEE_OBJS) status_flags = (CANPUSH | CANSTUN | CANKNOCKDOWN) gender = NEUTER - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC speak_emote = list("chirps") speech_span = SPAN_ROBOT bubble_icon = "machine" diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 38bcfbde79..78305b5b44 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -17,7 +17,7 @@ response_disarm = "gently pushes aside" response_harm = "kicks" faction = list("neutral") - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST attack_same = 1 attacktext = "kicks" attack_sound = 'sound/weapons/punch1.ogg' @@ -112,7 +112,7 @@ icon_dead = "cow_dead" icon_gib = "cow_gib" gender = FEMALE - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak = list("moo?","moo","MOOOOOO") speak_emote = list("moos","moos hauntingly") emote_hear = list("brays.") @@ -189,7 +189,7 @@ icon_dead = "chick_dead" icon_gib = "chick_gib" gender = FEMALE - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak = list("Cherp.","Cherp?","Chirrup.","Cheep!") speak_emote = list("cheeps") emote_hear = list("cheeps.") @@ -235,7 +235,7 @@ name = "\improper chicken" desc = "Hopefully the eggs are good this season." gender = FEMALE - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST icon_state = "chicken_brown" icon_living = "chicken_brown" icon_dead = "chicken_brown_dead" diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 6275256f5a..f0d354ace1 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -18,7 +18,7 @@ density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST, MOB_REPTILE) + mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index d326573957..c5a4fa6e1e 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -22,7 +22,7 @@ ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST var/body_color //brown, gray and white, leave blank for random gold_core_spawnable = FRIENDLY_SPAWN var/chew_probability = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm index c24dc6857a..dbdb5c646c 100644 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ b/code/modules/mob/living/simple_animal/friendly/pet.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/pet icon = 'icons/mob/pets.dmi' mob_size = MOB_SIZE_SMALL - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST blood_volume = BLOOD_VOLUME_NORMAL var/unique_pet = FALSE // if the mob can be renamed var/obj/item/clothing/neck/petcollar/pcollar diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index 21df73fa61..28063d6e52 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -14,7 +14,7 @@ response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST gold_core_spawnable = FRIENDLY_SPAWN melee_damage_lower = 18 melee_damage_upper = 18 diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index 95838c9acb..7f75888649 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -30,7 +30,7 @@ density = FALSE pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST, MOB_REPTILE) + mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE @@ -59,4 +59,4 @@ QDEL_NULL(target) adjustBruteLoss(-2) else - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 62c8588ac8..9ad3cbd373 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians desc = "A mysterious being that stands by its charge, ever vigilant." speak_emote = list("hisses") gender = NEUTER - mob_biotypes = list(MOB_INORGANIC) + mob_biotypes = NONE bubble_icon = "guardian" response_help = "passes through" response_disarm = "flails at" diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index acd8da9618..b019019c71 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -6,7 +6,7 @@ icon_living = "bear" icon_dead = "bear_dead" icon_gib = "bear_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak = list("RAWR!","Rawr!","GRR!","Growl!") speak_emote = list("growls", "roars") emote_hear = list("rawrs.","grumbles.","grawls.") diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index bb1f1284b5..524c220fa4 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -37,7 +37,7 @@ pass_flags = PASSTABLE | PASSGRILLE | PASSMOB density = FALSE mob_size = MOB_SIZE_TINY - mob_biotypes = list(MOB_ORGANIC, MOB_BUG) + mob_biotypes = MOB_ORGANIC|MOB_BUG movement_type = FLYING gold_core_spawnable = HOSTILE_SPAWN search_objects = 1 //have to find those plant trays! diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm index 2b5b5236ed..07572fff83 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm @@ -2,7 +2,7 @@ /mob/living/simple_animal/hostile/boss/paper_wizard name = "Mjor the Creative" desc = "A wizard with a taste for the arts." - mob_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_HUMANOID boss_abilities = list(/datum/action/boss/wizard_summon_minions, /datum/action/boss/wizard_mimic) faction = list("hostile","stickman") del_on_death = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index d527a40120..36968a1ab0 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -7,7 +7,7 @@ icon_living = "carp" icon_dead = "carp_dead" icon_gib = "carp_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 2) diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm index 5181e920d7..4e3375caf7 100644 --- a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm @@ -22,7 +22,7 @@ attacktext = "slashes at" attack_sound = 'sound/weapons/circsawhit.ogg' a_intent = INTENT_HARM - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID loot = list(/obj/effect/mob_spawn/human/corpse/cat_butcher, /obj/item/circular_saw) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 44f7f9c9f8..2d438dbf1c 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -7,7 +7,7 @@ icon_living = "eyeball" icon_gib = "" gender = NEUTER - mob_biotypes = list(MOB_ORGANIC) + mob_biotypes = MOB_ORGANIC response_help = "pets" response_disarm = "gently pushes aside" response_harm = "hits" diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index 3d411738c1..479b102b36 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -4,7 +4,7 @@ icon_state = "faithless" icon_living = "faithless" icon_dead = "faithless_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID gender = MALE speak_chance = 0 turns_per_move = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 20ce5ac751..cc7b1e19d1 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -22,7 +22,7 @@ icon_state = "guard" icon_living = "guard" icon_dead = "guard_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_BUG) + mob_biotypes = MOB_ORGANIC|MOB_BUG speak_emote = list("chitters") emote_hear = list("chitters") speak_chance = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index 3bc8715c5c..db232c20c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -6,7 +6,7 @@ icon_state = "goose" // sprites by cogwerks from goonstation, used with permission icon_living = "goose" icon_dead = "goose_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index 6866df01d5..6d864576a1 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -9,7 +9,7 @@ icon_state = "crawling" icon_living = "crawling" icon_dead = "dead" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 80 maxHealth = 220 health = 220 diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm index 5ee2549054..89303702f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/illusion.dm +++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm @@ -6,7 +6,7 @@ icon_living = "static" icon_dead = "null" gender = NEUTER - mob_biotypes = list() + mob_biotypes = NONE melee_damage_lower = 5 melee_damage_upper = 5 a_intent = INTENT_HARM diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm index deb88d677b..ea01e4b659 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -10,7 +10,7 @@ icon_state = "leaper" icon_living = "leaper" icon_dead = "leaper_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST maxHealth = 300 health = 300 ranged = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm index 607db5d54f..91e17e8e57 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mega_arachnid.dm @@ -7,7 +7,7 @@ icon_state = "arachnid" icon_living = "arachnid" icon_dead = "arachnid_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_BUG) + mob_biotypes = MOB_ORGANIC|MOB_BUG melee_damage_lower = 30 melee_damage_upper = 30 maxHealth = 300 diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm index b786637592..b2e6fa9704 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/mook.dm @@ -13,7 +13,7 @@ icon_state = "mook" icon_living = "mook" icon_dead = "mook_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID pixel_x = -16 maxHealth = 45 health = 45 diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 2e783d84d8..c025ba58db 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -23,7 +23,7 @@ desc = "Death to Nanotrasen. This variant comes in MECHA DEATH flavour." wanted_objects = list() search_objects = 0 - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID var/spawn_mecha_type = /obj/mecha/combat/marauder/mauler/loaded var/obj/mecha/mecha //Ref to pilot's mecha instance diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 899e901827..6b20b158d8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -28,7 +28,7 @@ Difficulty: Medium icon_state = "miner" icon_living = "miner" icon = 'icons/mob/broadMobs.dmi' - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID light_color = "#E4C7C5" movement_type = GROUND speak_emote = list("roars") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index d7c52efe1d..9ee51c0c4f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -6,7 +6,7 @@ a_intent = INTENT_HARM sentience_type = SENTIENCE_BOSS environment_smash = ENVIRONMENT_SMASH_RWALLS - mob_biotypes = list(MOB_ORGANIC, MOB_EPIC) + mob_biotypes = MOB_ORGANIC|MOB_EPIC obj_damage = 400 light_range = 3 faction = list("mining", "boss") diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 5e159e8517..16a55421b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -12,7 +12,7 @@ maxHealth = 250 health = 250 gender = NEUTER - mob_biotypes = list(MOB_INORGANIC) + mob_biotypes = NONE harm_intent_damage = 5 melee_damage_lower = 8 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 91b76974b5..1cbabd41dd 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -8,7 +8,7 @@ icon_aggro = "Basilisk_alert" icon_dead = "Basilisk_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST move_to_delay = 20 projectiletype = /obj/item/projectile/temp/basilisk projectilesound = 'sound/weapons/pierce.ogg' diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm index e4046138cd..8687b2d14c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm @@ -5,7 +5,7 @@ icon_state = "curseblob" icon_living = "curseblob" icon_aggro = "curseblob" - mob_biotypes = list(MOB_SPIRIT) + mob_biotypes = MOB_SPIRIT movement_type = FLYING move_to_delay = 5 vision_range = 20 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index c02f0c46c7..25e38652e1 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -8,7 +8,7 @@ icon_aggro = "Goldgrub_alert" icon_dead = "Goldgrub_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST vision_range = 2 aggro_vision_range = 9 move_to_delay = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index c17e98a7db..87abc1ea14 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -8,7 +8,7 @@ icon_aggro = "Goliath_alert" icon_dead = "Goliath_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_OPAQUE move_to_delay = 10 ranged = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index 9e9fbaeab8..fd3221d900 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -6,7 +6,7 @@ icon_state = "gutlunch" icon_living = "gutlunch" icon_dead = "gutlunch" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak_emote = list("warbles", "quavers") emote_hear = list("trills.") emote_see = list("sniffs.", "burps.") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 9e398ce0da..11de9df70b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -7,7 +7,7 @@ icon_aggro = "Hivelord_alert" icon_dead = "Hivelord_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC) + mob_biotypes = MOB_ORGANIC mouse_opacity = MOUSE_OPACITY_OPAQUE move_to_delay = 14 ranged = 1 @@ -98,7 +98,7 @@ icon_aggro = "legion" icon_dead = "legion" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID obj_damage = 60 melee_damage_lower = 15 melee_damage_upper = 15 diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm index 543ffe6131..ed2a407b8e 100644 --- a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm @@ -6,7 +6,7 @@ icon_living = "nanotrasen" icon_dead = null icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 12 turns_per_move = 5 response_help = "pokes" diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 918a2d8acc..363e3ec573 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -4,7 +4,7 @@ icon_state = "otherthing" icon_living = "otherthing" icon_dead = "otherthing-dead" - mob_biotypes = list(MOB_INORGANIC) + mob_biotypes = NONE health = 80 maxHealth = 80 obj_damage = 100 diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index 174ae0b9fb..1b2212bf55 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -5,7 +5,7 @@ icon_state = "piratemelee" icon_living = "piratemelee" icon_dead = "pirate_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 response_help = "pushes" @@ -43,7 +43,7 @@ var/obj/effect/light_emitter/red_energy_sword/sord do_footstep = TRUE - + /mob/living/simple_animal/hostile/pirate/melee/space name = "Space Pirate Swashbuckler" icon_state = "piratespace" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index c518cbe083..cc17759cc6 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -10,7 +10,7 @@ response_help = "brushes aside" response_disarm = "flails at" response_harm = "hits" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak_chance = 0 maxHealth = 15 health = 15 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index d2c8f1f270..ca14d4ae67 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -6,7 +6,7 @@ icon_living = "clown" icon_dead = "clown_dead" icon_gib = "clown_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID turns_per_move = 5 response_help = "pokes" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index 47734abebc..ef51d8621b 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -4,7 +4,7 @@ icon_state = "frog" icon_living = "frog" icon_dead = "frog_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST speak = list("ribbit","croak") emote_see = list("hops in a circle.", "shakes.") speak_chance = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index bfe8349192..48d16f63f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -4,7 +4,7 @@ icon = 'icons/mob/mob.dmi' icon_state = "ghost" icon_living = "ghost" - mob_biotypes = list(MOB_SPIRIT) + mob_biotypes = MOB_SPIRIT speak_chance = 0 turns_per_move = 5 response_help = "passes through" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index c50ace8871..29b0c0b701 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -5,7 +5,7 @@ icon_living = "old" icon_dead = "old_dead" icon_gib = "clown_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID gender = MALE turns_per_move = 5 response_help = "pokes" diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index f66814f01f..c99c7a04b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -6,7 +6,7 @@ icon_living = "russianmelee" icon_dead = "russianmelee_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 response_help = "pokes" diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index 48b69a1f5c..51c55cbf65 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -6,7 +6,7 @@ icon_living = "skeleton" icon_dead = "skeleton" gender = NEUTER - mob_biotypes = list(MOB_UNDEAD, MOB_HUMANOID) + mob_biotypes = MOB_UNDEAD|MOB_HUMANOID turns_per_move = 5 speak_emote = list("rattles") emote_see = list("rattles") diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 1e1fa9d41b..d17a45b2fb 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -9,7 +9,7 @@ icon_dead = "human_male" gender = NEUTER a_intent = INTENT_HARM - mob_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_HUMANOID response_help = "touches" response_disarm = "pushes" diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index fa5cb151ed..b91667a58a 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -5,7 +5,7 @@ icon_living = "stickman" icon_dead = "stickman_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_HUMANOID gender = MALE speak_chance = 0 turns_per_move = 5 @@ -51,7 +51,7 @@ icon_state = "stickdog" icon_living = "stickdog" icon_dead = "stickdog_dead" - mob_biotypes = list(MOB_INORGANIC, MOB_BEAST) + mob_biotypes = MOB_BEAST /mob/living/simple_animal/hostile/stickman/Initialize(mapload, var/wizard_summoned) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 96a75f6b4f..0947a3090b 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -22,7 +22,7 @@ icon_living = "syndicate" icon_dead = "syndicate_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 5 response_help = "pokes" @@ -284,7 +284,7 @@ icon_living = "viscerator_attack" pass_flags = PASSTABLE | PASSMOB a_intent = INTENT_HARM - mob_biotypes = list(MOB_ROBOTIC) + mob_biotypes = MOB_ROBOTIC health = 25 maxHealth = 25 melee_damage_lower = 15 diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm index f047a7aed1..f97613fe8f 100644 --- a/code/modules/mob/living/simple_animal/hostile/wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/wizard.dm @@ -5,7 +5,7 @@ icon_state = "wizard" icon_living = "wizard" icon_dead = "wizard_dead" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 turns_per_move = 3 response_help = "pokes" diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index ec7451dc2e..88b5bcc373 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -8,7 +8,7 @@ icon_aggro = "Fugu0" icon_dead = "Fugu_dead" icon_gib = "syndicate_gib" - mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) + mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON move_to_delay = 5 friendly = "floats near" diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 7d89941687..ae3f0465d5 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -4,7 +4,7 @@ icon = 'icons/mob/simple_human.dmi' icon_state = "zombie" icon_living = "zombie" - mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) + mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 stat_attack = UNCONSCIOUS //braains maxHealth = 100 diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index 64ffa147cf..6aa7f8b401 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -6,7 +6,7 @@ icon = 'icons/mob/mob.dmi' icon_state = "shade" icon_living = "shade" - mob_biotypes = list(MOB_SPIRIT) + mob_biotypes = MOB_SPIRIT maxHealth = 40 health = 40 spacewalk = TRUE diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c7e574594b..6984aceef5 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -770,7 +770,7 @@ ..() if(!istype(H)) return - if(!H.dna || !H.dna.species || !(MOB_ORGANIC in H.mob_biotypes)) + if(!H.dna || !H.dna.species || !(H.mob_biotypes & MOB_ORGANIC)) return if(isjellyperson(H)) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index a32cb94401..e649caafb5 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -260,7 +260,7 @@ /datum/reagent/toxin/pestkiller/reaction_mob(mob/living/M, method=TOUCH, reac_volume) ..() - if(MOB_BUG in M.mob_biotypes) + if(M.mob_biotypes & MOB_BUG) var/damage = min(round(0.4*reac_volume, 0.1),10) M.adjustToxLoss(damage) diff --git a/code/modules/research/nanites/nanite_chamber_computer.dm b/code/modules/research/nanites/nanite_chamber_computer.dm index f9d931b3de..dec263368b 100644 --- a/code/modules/research/nanites/nanite_chamber_computer.dm +++ b/code/modules/research/nanites/nanite_chamber_computer.dm @@ -89,7 +89,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 diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index df439e4496..6dd1b3ee82 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -125,7 +125,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 ..() diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index c0d19e0375..f1cd19b2a2 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -137,7 +137,7 @@ var/mob/living/L = occupant if(SEND_SIGNAL(L, COMSIG_HAS_NANITES)) return - if((MOB_ORGANIC in L.mob_biotypes) || (MOB_UNDEAD in L.mob_biotypes)) + if(L.mob_biotypes & (MOB_ORGANIC | MOB_UNDEAD)) inject_nanites() /obj/machinery/public_nanite_chamber/open_machine() diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 59c6a321e6..3d045ba31e 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -45,7 +45,9 @@ if(!owner) return if(!(src in owner.internal_organs)) - Remove() + Remove(owner) + if(owner.mob_biotypes & MOB_MINERAL)//does not process in inorganic things + return if (causes_damage && !iszombie(owner) && owner.stat != DEAD) owner.adjustToxLoss(1) if (prob(10)) From d22631700c21d795e080ea53a943d3a880bcb156 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Thu, 13 Feb 2020 12:59:56 -0600 Subject: [PATCH 163/392] update the fucking craft component because artur forgot to --- code/datums/components/crafting/craft.dm | 67 ++++++++++++++++-------- code/modules/projectiles/gun.dm | 2 +- 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 5c21801c14..4e6d396409 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -64,29 +64,48 @@ - -/datum/component/personal_crafting/proc/check_contents(datum/crafting_recipe/R, list/contents) +/** + * Check that the contents of the recipe meet the requirements. + * + * user: The /mob that initated the crafting. + * R: The /datum/crafting_recipe being attempted. + * contents: List of items to search for R's reqs. + */ +/datum/component/personal_crafting/proc/check_contents(mob/user, datum/crafting_recipe/R, list/contents) + var/list/item_instances = contents["instances"] contents = contents["other"] - main_loop: - for(var/A in R.reqs) - var/needed_amount = R.reqs[A] - for(var/B in contents) - if(ispath(B, A)) - if (R.blacklist.Find(B)) - continue - if(contents[B] >= R.reqs[A]) - continue main_loop - else - needed_amount -= contents[B] - if(needed_amount <= 0) - continue main_loop - else - continue + + var/list/requirements_list = list() + + // Process all requirements + for(var/requirement_path in R.reqs) + // Check we have the appropriate amount available in the contents list + var/needed_amount = R.reqs[requirement_path] + for(var/content_item_path in contents) + // Right path and not blacklisted + if(!ispath(content_item_path, requirement_path) || R.blacklist.Find(requirement_path)) + continue + + needed_amount -= contents[content_item_path] + if(needed_amount <= 0) + break + + if(needed_amount > 0) return FALSE - for(var/A in R.chem_catalysts) - if(contents[A] < R.chem_catalysts[A]) + + // Store the instances of what we will use for R.check_requirements() for requirement_path + var/list/instances_list = list() + for(var/instance_path in item_instances) + if(ispath(instance_path, requirement_path)) + instances_list += item_instances[instance_path] + + requirements_list[requirement_path] = instances_list + + for(var/requirement_path in R.chem_catalysts) + if(contents[requirement_path] < R.chem_catalysts[requirement_path]) return FALSE - return TRUE + + return R.check_requirements(user, requirements_list) /datum/component/personal_crafting/proc/get_environment(mob/user) . = list() @@ -110,9 +129,11 @@ . = list() .["tool_behaviour"] = list() .["other"] = list() + .["instances"] = list() for(var/obj/item/I in get_environment(user)) if(I.flags_1 & HOLOGRAM_1) continue + .["instances"][I.type] += I if(istype(I, /obj/item/stack)) var/obj/item/stack/S = I .["other"][I.type] += S.amount @@ -161,11 +182,11 @@ /datum/component/personal_crafting/proc/construct_item(mob/user, datum/crafting_recipe/R) var/list/contents = get_surroundings(user) var/send_feedback = 1 - if(check_contents(R, contents)) + if(check_contents(user, R, contents)) if(check_tools(user, R, contents)) if(do_after(user, R.time, target = user)) contents = get_surroundings(user) - if(!check_contents(R, contents)) + if(!check_contents(user, R, contents)) return ", missing component." if(!check_tools(user, R, contents)) return ", missing tool." @@ -341,7 +362,7 @@ if((R.category != cur_category) || (R.subcategory != cur_subcategory)) continue - craftability["[REF(R)]"] = check_contents(R, surroundings) + craftability["[REF(R)]"] = check_contents(user, R, surroundings) data["craftability"] = craftability return data diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ca033ae126..f8128452f4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -79,7 +79,7 @@ /obj/item/gun/Initialize() . = ..() - if(pin) + if(pin && !no_pin_required) pin = new pin(src) if(gun_light) alight = new (src) From f890317810b98118194df038ec0446e8c8bf1e68 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Thu, 13 Feb 2020 13:02:51 -0600 Subject: [PATCH 164/392] maybe this will work --- .../components/crafting/recipes/recipes_weapon_and_ammo.dm | 7 +++++++ 1 file changed, 7 insertions(+) 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 06f79396b8..0ac0c27a92 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -8,6 +8,13 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON +/datum/crafting_recipe/pin_removal/check_requirements(mob/user, list/collected_requirements) + var/obj/item/gun/G = collected_requirements[/obj/item/gun][1] + if (G.no_pin_required) + to_chat(user, "You can't seem to figure out how to remove a pin from this weapon.") + return FALSE + return TRUE + /datum/crafting_recipe/strobeshield name = "Strobe Shield" result = /obj/item/assembly/flash/shield From 9a87087378e6f1a33a038def4da21f0719d3ae42 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Thu, 13 Feb 2020 13:26:19 -0600 Subject: [PATCH 165/392] message unnecessary --- .../components/crafting/recipes/recipes_weapon_and_ammo.dm | 1 - 1 file changed, 1 deletion(-) 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 0ac0c27a92..01152e3b30 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -11,7 +11,6 @@ /datum/crafting_recipe/pin_removal/check_requirements(mob/user, list/collected_requirements) var/obj/item/gun/G = collected_requirements[/obj/item/gun][1] if (G.no_pin_required) - to_chat(user, "You can't seem to figure out how to remove a pin from this weapon.") return FALSE return TRUE From 083a6e4c19f62d6d6224c6c384928b40f02b888d Mon Sep 17 00:00:00 2001 From: Linzolle Date: Thu, 13 Feb 2020 13:29:07 -0600 Subject: [PATCH 166/392] runtime? --- code/datums/components/crafting/craft.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 4e6d396409..b5c7f34c27 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -133,7 +133,10 @@ for(var/obj/item/I in get_environment(user)) if(I.flags_1 & HOLOGRAM_1) continue - .["instances"][I.type] += I + if(.["instances"][I.type]) + .["instances"][I.type] += I + else + .["instances"][I.type] = list(I) if(istype(I, /obj/item/stack)) var/obj/item/stack/S = I .["other"][I.type] += S.amount From 790b7bf9cc2b8a3b405efbeab076a50bc31cf9b0 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Thu, 13 Feb 2020 15:20:01 -0600 Subject: [PATCH 167/392] sanity check --- .../components/crafting/recipes/recipes_weapon_and_ammo.dm | 2 +- code/modules/projectiles/gun.dm | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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 01152e3b30..104b58ca28 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -10,7 +10,7 @@ /datum/crafting_recipe/pin_removal/check_requirements(mob/user, list/collected_requirements) var/obj/item/gun/G = collected_requirements[/obj/item/gun][1] - if (G.no_pin_required) + if (G.no_pin_required || !G.pin) return FALSE return TRUE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f8128452f4..29d31b28fd 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -79,8 +79,11 @@ /obj/item/gun/Initialize() . = ..() - if(pin && !no_pin_required) - pin = new pin(src) + if(pin) + if(no_pin_required) + pin = null + else + pin = new pin(src) if(gun_light) alight = new (src) if(zoomable) From cf980b52ac36eb6e4338a7f6efc45be0c8d4388b Mon Sep 17 00:00:00 2001 From: Arturlang Date: Fri, 14 Feb 2020 00:01:07 +0200 Subject: [PATCH 168/392] Fuck valentines --- code/game/gamemodes/bloodsucker/bloodsucker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index ca2ebfe00d..a45e989318 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -7,7 +7,7 @@ // LISTS // var/list/vassal_allowed_antags = list(/datum/antagonist/brother, /datum/antagonist/traitor, /datum/antagonist/traitor/internal_affairs, /datum/antagonist/survivalist, \ - /datum/antagonist/rev, /datum/antagonist/nukeop, /datum/antagonist/pirate, /datum/antagonist/cult, /datum/antagonist/abductee) + /datum/antagonist/rev, /datum/antagonist/nukeop, /datum/antagonist/pirate, /datum/antagonist/cult, /datum/antagonist/abductee, /datum/antagonist/valentine, /datum/antagonist/heartbreaker,) // The antags you're allowed to be if turning Vassal. /proc/isvamp(mob/living/M) return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/bloodsucker) From 3865224e786748ae2b7b9a233470a24a4143b8e6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:40:30 -0700 Subject: [PATCH 169/392] fine --- code/__DEFINES/obj_flags.dm | 2 +- code/modules/projectiles/gun.dm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index 1c21e2d7b6..d78de86d25 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -29,7 +29,7 @@ #define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect) #define SURGICAL_TOOL (1<<10) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes) #define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform. -#define NO_ATTACK_CHAIN_SOFT_STAMCRIT (1<<12) //Entirely blocks melee_attack_chain() if user is soft stamcritted. Uses getStaminaLoss() to check at this point in time. +#define NO_ATTACK_CHAIN_SOFT_STAMCRIT (1<<12) //Entirely blocks melee_attack_chain() if user is soft stamcritted. Uses getStaminaLoss() to check at this point in time. THIS DOES NOT BLOCK RANGED AFTERATTACK()S, ONLY MELEE RANGE AFTERATTACK()S. // Flags for the clothing_flags var on /obj/item/clothing diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 6029fe302d..f931fbf54b 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -162,6 +162,9 @@ return if(firing) return + if(user.getStaminaLoss >= STAMINA_SOFTCRIT) //respect stamina softcrit + to_chat(user, "You are too exhausted to fire [src]!") + return if(flag) //It's adjacent, is the user, or is on the user's person if(target in user.contents) //can't shoot stuff inside us. return From b3a81d9c8ef28a2f465b66966c42e1e0e48bc238 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 15:59:58 -0700 Subject: [PATCH 170/392] 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 171/392] 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 6c4c4b3f81ea7900a5b7feb072ee05ddbc229139 Mon Sep 17 00:00:00 2001 From: Detective Google <48196179+Detective-Google@users.noreply.github.com> Date: Thu, 13 Feb 2020 19:59:38 -0600 Subject: [PATCH 172/392] removes the crocin from the valentines candy --- code/modules/food_and_drinks/food/snacks_other.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 41b08e8c7f..a7090a5274 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -549,7 +549,7 @@ name = "chocolate" desc = "A tiny and sweet chocolate. Has a 'strawberry' filling!" icon_state = "tiny_chocolate" - list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/coco = 1, /datum/reagent/drug/aphrodisiac = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/coco = 1) filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR From 3f155a9f137e6ae618bf131aa04715aab97709ed Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Thu, 13 Feb 2020 21:55:32 -0500 Subject: [PATCH 173/392] less shitty rings stolen from RP --- icons/obj/ring.dmi | Bin 550 -> 812 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/ring.dmi b/icons/obj/ring.dmi index 52fe249394d60452225592422e0862afb6ff222d..e24f1fab4c93fdee3bb6bb11d998453809dde4f1 100644 GIT binary patch delta 602 zcmV-g0;TI) z<+(}XsvG6PY5&)C|NsC0%m8Np|JLU7|Kpzj#zMxG7vi%!|KOhg(rduLz@VU@ii(Q4 zxw)#Us%&g*uCA`a!ot_r*Rucr%>VzjwYB5p%- z{Dnl3PRV}(rAb6VRCt{2mrHYkFcgL3qmqXeu#6!A6jE&Y|G%(_*d4*uowzvPLKjCl z-()g(xQqb+0C+1lGYRu;Ao>gHoNczdz&82-;+$=EGtmbS=WPEmvrm+#KLH3Np925@ z00000fb_5B&-FQ7o_aGnJh#_FqWld6{z;UlzXN{|NI!@G000000088#-C4#tUlSnS z|AiF7JH-D_y!l8arC2+Ius$DOtk<6}@>4vQxl)qzq9|ephtPjqEqIlmf%{l6w!X_LB#zCsEXA= zL=1oD>vIqQ00000fOp_>(OR$Mb#08Ht5;SvjdzItpzYe$JCOBX)%B)z{0utPc>}sL zuu3T#zWZf^ZcwT-#yLl1@Hl}W@VzY14#VK9M|Y@~07*qoM6N<$g65ek;s5{u delta 338 zcmV-Y0j>V52Brj%7&Zh00000n5PbLm001FSOjJd{z`&URGyecH%m6bp05bpp0A>I) z|I7ep|NqwJ^T5EsAgt!9k*LXk0QpHoK~!jg?UpeP!XOxh=~TNFJ%K%fT)@R6kfvLg zI(IQRx|le2ap1P1OADRg8QYlmh2;&r{QMB!F9ad~L?)#~w2)P`F99vKN*zi-i=9%c z1hhD5t&f1lD_GtDeg}jQLe>QQt!FN-5sfEP=hC(XG;VNqw18egymLN(AcPPy1^&jP z=Yf#uBns*DC5Z2Ppr3x6&kX9?-w^7inHl7!A4T*$;4sFFBB2Ml5t9;94Ep!_nnA)t z@{f>$*TfWZumC~`A!}!IgSO}9`j~2KBMppiP*^)e7T|}a9g4UT{J3@opY>A%^ax?z kM>lbn_tDo#$b!58+h}<{9 From 5c246fd389f4390c9e3795c2d92708b7070164e1 Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Fri, 14 Feb 2020 03:00:31 +0000 Subject: [PATCH 174/392] diamond ring changes More code I stole from RP --- code/modules/clothing/gloves/ring.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/gloves/ring.dm b/code/modules/clothing/gloves/ring.dm index 54aaa58849..22781abeea 100644 --- a/code/modules/clothing/gloves/ring.dm +++ b/code/modules/clothing/gloves/ring.dm @@ -17,8 +17,11 @@ /obj/item/clothing/gloves/ring/diamond name = "diamond ring" - desc = "A tiny gold ring, studded with a diamond. Cultures have used these rings in courtship for a millenia." + desc = "An expensive ring, studded with a diamond. Cultures have used these rings in courtship for a millenia." icon_state = "ringdiamond" + +/obj/item/clothing/gloves/ring/diamond/attack_self(mob/user) + user.visible_message("\The [user] gets down on one knee, presenting \the [src].","You get down on one knee, presenting \the [src].") /obj/item/clothing/gloves/ring/silver name = "silver ring" From 1276453dc4a4dccee4cbb979da5dc205555ccb54 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 13 Feb 2020 21:01:28 -0600 Subject: [PATCH 175/392] 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 176/392] 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 177/392] 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 b8d18758d1d4ba416d55389b755b03184f573001 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 20:33:18 -0700 Subject: [PATCH 178/392] Update vday.dm --- code/modules/events/holiday/vday.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index 899a083b7d..c3f74e35cf 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -64,9 +64,10 @@ resistance_flags = FLAMMABLE w_class = WEIGHT_CLASS_TINY -/obj/item/valentine/New() - ..() - message = pick("Roses are red / Violets are good / One day while Andy...", +/obj/item/valentine/Initialize(mapload) + message = pick(GLOB.flirts) + +GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", "My love for you is like the singularity. It cannot be contained.", "Will you be my lusty xenomorph maid?", "We go together like the clown and the external airlock.", From 0861179a79a54b6af7c82056226ae2d757c3b102 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 20:34:48 -0700 Subject: [PATCH 179/392] Update chat_commands.dm --- modular_citadel/code/modules/admin/chat_commands.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modular_citadel/code/modules/admin/chat_commands.dm b/modular_citadel/code/modules/admin/chat_commands.dm index 501e0fa25a..ddac7b5953 100644 --- a/modular_citadel/code/modules/admin/chat_commands.dm +++ b/modular_citadel/code/modules/admin/chat_commands.dm @@ -14,6 +14,13 @@ saltresult += "[saltprimarysubject] [saltsecondarysubject]" return "[saltresult]!" +/datum/tgs_chat_command/valentine + name = "valentine" + help_text = "Get a random flirt line." + +/datum/tgs_chat_command/valentine/Run(datum/tgs_chat_user/sender, params) + return "[pick(GLOB.flirts)]" + /datum/tgs_chat_command/despacito name = "despacito" //someone please high effort this sometime and make it a full on ytdl search help_text = "This is so sad." From 6046d5b0b517acfe4dc2c21cbe7146bb4af6d90b Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Thu, 13 Feb 2020 22:49:27 -0500 Subject: [PATCH 180/392] rings on hands --- icons/mob/hands.dmi | Bin 9070 -> 9409 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index b69c6c88b1c9d20ba46a0f5a830f6eab4493b9c6..0475117d1433351deb68d07cb0798e7d69761476 100644 GIT binary patch literal 9409 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 literal 9070 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 Y=B48FbG?&~cL$kXx4Kqibmz(c0kY*4lK=n! From 2924be6a8007e073904689d44d38018de2fe5f6d Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Fri, 14 Feb 2020 03:52:10 +0000 Subject: [PATCH 181/392] now with visible rings on hand(s) --- code/modules/clothing/gloves/ring.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/clothing/gloves/ring.dm b/code/modules/clothing/gloves/ring.dm index 22781abeea..8354f13bd2 100644 --- a/code/modules/clothing/gloves/ring.dm +++ b/code/modules/clothing/gloves/ring.dm @@ -5,6 +5,7 @@ w_class = WEIGHT_CLASS_TINY icon = 'icons/obj/ring.dmi' icon_state = "ringgold" + item_state = "gring" body_parts_covered = 0 attack_verb = list("proposed") transfer_prints = TRUE @@ -19,6 +20,7 @@ name = "diamond ring" desc = "An expensive ring, studded with a diamond. Cultures have used these rings in courtship for a millenia." icon_state = "ringdiamond" + item_state = "dring" /obj/item/clothing/gloves/ring/diamond/attack_self(mob/user) user.visible_message("\The [user] gets down on one knee, presenting \the [src].","You get down on one knee, presenting \the [src].") @@ -27,3 +29,4 @@ name = "silver ring" desc = "A tiny silver ring, sized to wrap around a finger." icon_state = "ringsilver" + item_state = "sring" From 8bf302563698628cf8a9d0a640c6198a0f7f7b85 Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Thu, 13 Feb 2020 22:53:14 -0500 Subject: [PATCH 182/392] mislabeled ring rings on hands --- icons/mob/hands.dmi | Bin 9409 -> 9410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 0475117d1433351deb68d07cb0798e7d69761476..63263b835ca57b2498dadee68312dae99ea1411b 100644 GIT binary patch delta 283 zcmV+$0p$L{Ny15xBmp^*B{_ecs{9=zeX;ES?qAc}>Ak&Bb8gk0CAk==rsK;_RkJgB zpqdV^sv6kYAwNG-)|siMmA5|LIjvM>oFuC0sH&UjPfk?R{?`SU#d!wx47vyCI)B{_fHn!lr^&nNr8yEVO?-rEZ`=T_ZWl8b?AI=<{wH9M0B zs_F2ms)3yy^7D|g&P+9}y!G+UX{9RTBvDOARoz5?a-y2{zb?2e&NHZI&^MmJh|l%e%8D%8R##vV+m4!)H9E`EH+!|F)1{&2+^Pw0%xC2S?IF{Kvt|KYBh)~Y;Q#;t From 94c6fae8381e836c547ff9d1a18c9800db462e0f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 13 Feb 2020 21:27:44 -0700 Subject: [PATCH 183/392] Update vday.dm --- code/modules/events/holiday/vday.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index c3f74e35cf..e5c471c50c 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -66,6 +66,7 @@ /obj/item/valentine/Initialize(mapload) message = pick(GLOB.flirts) + return ..() GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", "My love for you is like the singularity. It cannot be contained.", 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 184/392] 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 9b75c5dbf8b0b512dd2ee87eca0f778827efb180 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 00:28:55 -0600 Subject: [PATCH 185/392] Automatic changelog generation for PR #11076 [ci skip] --- html/changelogs/AutoChangeLog-pr-11076.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11076.yml diff --git a/html/changelogs/AutoChangeLog-pr-11076.yml b/html/changelogs/AutoChangeLog-pr-11076.yml new file mode 100644 index 0000000000..e0f187a038 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11076.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - code_imp: "Changed mob biotypes from lists to flags." From 79b440d07e690109430486ea02d192a92b5b2e12 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 00:36:14 -0600 Subject: [PATCH 186/392] Automatic changelog generation for PR #11079 [ci skip] --- html/changelogs/AutoChangeLog-pr-11079.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11079.yml diff --git a/html/changelogs/AutoChangeLog-pr-11079.yml b/html/changelogs/AutoChangeLog-pr-11079.yml new file mode 100644 index 0000000000..b613b6c867 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11079.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - tweak: "Valentines can now be converted by bloodsuckers" From 93782f8598c19c2b8bdbb664a8117debb36ca4b4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 00:46:44 -0600 Subject: [PATCH 187/392] Automatic changelog generation for PR #11081 [ci skip] --- html/changelogs/AutoChangeLog-pr-11081.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11081.yml diff --git a/html/changelogs/AutoChangeLog-pr-11081.yml b/html/changelogs/AutoChangeLog-pr-11081.yml new file mode 100644 index 0000000000..2fcb15b7aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11081.yml @@ -0,0 +1,4 @@ +author: "Detective-Google" +delete-after: True +changes: + - bugfix: "valentines candy no longer prefbreaks" From 51b8c7934e0d53d1473af4085289a675dd0af75d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 00:54:44 -0600 Subject: [PATCH 188/392] Automatic changelog generation for PR #11056 [ci skip] --- html/changelogs/AutoChangeLog-pr-11056.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11056.yml diff --git a/html/changelogs/AutoChangeLog-pr-11056.yml b/html/changelogs/AutoChangeLog-pr-11056.yml new file mode 100644 index 0000000000..b56efb3557 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11056.yml @@ -0,0 +1,4 @@ +author: "necromanceranne" +delete-after: True +changes: + - rscdel: "Bullets causing bleed rates equal to unmitigated damage through all forms of defense." From c87c43ee4564afc7d4ab1becdd34f666b07a6e6a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 01:04:19 -0600 Subject: [PATCH 189/392] Automatic changelog generation for PR #11042 [ci skip] --- html/changelogs/AutoChangeLog-pr-11042.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11042.yml diff --git a/html/changelogs/AutoChangeLog-pr-11042.yml b/html/changelogs/AutoChangeLog-pr-11042.yml new file mode 100644 index 0000000000..4238f76b75 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11042.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - balance: "The pandemic can no longer make vaccines or synthblood as quickly." From ee6d96db439235766c81f48a06d7b785a1a8e454 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 01:25:49 -0600 Subject: [PATCH 190/392] Automatic changelog generation for PR #11046 [ci skip] --- html/changelogs/AutoChangeLog-pr-11046.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11046.yml diff --git a/html/changelogs/AutoChangeLog-pr-11046.yml b/html/changelogs/AutoChangeLog-pr-11046.yml new file mode 100644 index 0000000000..c40286e901 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11046.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "replaced stickmans .45 caliber with 10mm, for consistency." From 6a8530a6172586e7899fb818ad3727a04a3a66eb Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 01:26:03 -0600 Subject: [PATCH 191/392] Automatic changelog generation for PR #11045 [ci skip] --- html/changelogs/AutoChangeLog-pr-11045.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11045.yml diff --git a/html/changelogs/AutoChangeLog-pr-11045.yml b/html/changelogs/AutoChangeLog-pr-11045.yml new file mode 100644 index 0000000000..9e3e0a9ee4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11045.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "Flat guns can no longer be suppressed" From 4677bd47be0990c93c23c22083559ce37b1ba250 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 00:39:29 -0700 Subject: [PATCH 192/392] Update vday.dm --- code/modules/events/holiday/vday.dm | 57 ----------------------------- 1 file changed, 57 deletions(-) diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index e5c471c50c..d3cbf03581 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -68,63 +68,6 @@ message = pick(GLOB.flirts) return ..() -GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", - "My love for you is like the singularity. It cannot be contained.", - "Will you be my lusty xenomorph maid?", - "We go together like the clown and the external airlock.", - "Roses are red / Liches are wizards / I love you more than a whole squad of lizards.", - "Be my valentine. Law 2.", - "You must be a mime, because you leave me speechless.", - "I love you like Ian loves the HoP.", - "You're hotter than a plasma fire in toxins.", - "Are you a rogue atmos tech? Because you're taking my breath away.", - "Could I have all access... to your heart?", - "Call me the doctor, because I'm here to inspect your johnson.", - "I'm not a changeling, but you make my proboscis extend.", - "I just can't get EI NATH of you.", - "You must be a nuke op, because you make my heart explode.", - "Roses are red / Botany is a farm / Not being my Valentine / causes human harm.", - "I want you more than an assistant wants insulated gloves.", - "If I was a security officer, I'd brig you all shift.", - "Are you the janitor? Because I think I've fallen for you.", - "You're always valid to my heart.", - "I'd risk the wrath of the gods to bwoink you.", - "You look as beautiful now as the last time you were cloned.", - "Someone check the gravitational generator, because I'm only attracted to you.", - "If I were the warden I'd always let you into my armory.", - "The virologist is rogue, and the only cure is a kiss from you.", - "Would you spend some time in my upgraded sleeper?", - "You must be a silicon, because you've unbolted my heart.", - "Are you Nar'Sie? Because there's nar-one else I sie.", - "If you were a taser, you'd be set to stunning.", - "Do you have stamina damage from running through my dreams?", - "If I were an alien, would you let me hug you?", - "My love for you is stronger than a reinforced wall.", - "This must be the captain's office, because I see a fox.", - "I'm not a highlander, but there can only be one for me.", - "The floor is made of lava! Quick, get on my bed.", - "If you were an abandoned station you'd be the DEARelict.", - "If you had a pickaxe you'd be a shaft FINEr.", - "Roses are red, tide is gray, if I were an assistant I'd steal you away.", - "Roses are red, text is green, I love you more than cleanbots clean.", - "If you were a carp I'd fi-lay you.", - "I'm a nuke op, and my pinpointer leads to your heart.", - "Wanna slay my megafauna?", - "I'm a clockwork cultist. Or zl inyragvar.", - "If you were a disposal bin I'd ride you all day.", - "Put on your explorer's suit because I'm taking you to LOVEaland.", - "I must be the CMO, 'cause I saw you on my CUTE sensors.", - "You're the vomit to my flyperson.", - "You must be liquid dark matter, because you're pulling me closer.", - "Not even sorium can drive me away from you.", - "Wanna make like a borg and do some heavy petting?", - "Are you powering the station? Because you super matter to me.", - "I wish science could make me a bag of holding you.", - "Let's call the emergency CUDDLE.", - "I must be tripping on BZ, because I saw an angel walk by.", - "Wanna empty out my tool storage?", - "Did you visit the medbay after you fell from heaven?", - "Are you wearing space pants? Wanna not be?" ) /obj/item/valentine/attackby(obj/item/W, mob/user, params) ..() From e9baf1723305a54cc836ba708d2d938db40b2990 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 00:40:19 -0700 Subject: [PATCH 193/392] Update misc.dm --- code/_globalvars/lists/misc.dm | 58 ++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index 1dcde53a72..ce94ffb72e 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -1 +1,59 @@ GLOBAL_LIST_EMPTY(donators_by_group) //group id = donator list of ckeys + +GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", + "My love for you is like the singularity. It cannot be contained.", + "Will you be my lusty xenomorph maid?", + "We go together like the clown and the external airlock.", + "Roses are red / Liches are wizards / I love you more than a whole squad of lizards.", + "Be my valentine. Law 2.", + "You must be a mime, because you leave me speechless.", + "I love you like Ian loves the HoP.", + "You're hotter than a plasma fire in toxins.", + "Are you a rogue atmos tech? Because you're taking my breath away.", + "Could I have all access... to your heart?", + "Call me the doctor, because I'm here to inspect your johnson.", + "I'm not a changeling, but you make my proboscis extend.", + "I just can't get EI NATH of you.", + "You must be a nuke op, because you make my heart explode.", + "Roses are red / Botany is a farm / Not being my Valentine / causes human harm.", + "I want you more than an assistant wants insulated gloves.", + "If I was a security officer, I'd brig you all shift.", + "Are you the janitor? Because I think I've fallen for you.", + "You're always valid to my heart.", + "I'd risk the wrath of the gods to bwoink you.", + "You look as beautiful now as the last time you were cloned.", + "Someone check the gravitational generator, because I'm only attracted to you.", + "If I were the warden I'd always let you into my armory.", + "The virologist is rogue, and the only cure is a kiss from you.", + "Would you spend some time in my upgraded sleeper?", + "You must be a silicon, because you've unbolted my heart.", + "Are you Nar'Sie? Because there's nar-one else I sie.", + "If you were a taser, you'd be set to stunning.", + "Do you have stamina damage from running through my dreams?", + "If I were an alien, would you let me hug you?", + "My love for you is stronger than a reinforced wall.", + "This must be the captain's office, because I see a fox.", + "I'm not a highlander, but there can only be one for me.", + "The floor is made of lava! Quick, get on my bed.", + "If you were an abandoned station you'd be the DEARelict.", + "If you had a pickaxe you'd be a shaft FINEr.", + "Roses are red, tide is gray, if I were an assistant I'd steal you away.", + "Roses are red, text is green, I love you more than cleanbots clean.", + "If you were a carp I'd fi-lay you.", + "I'm a nuke op, and my pinpointer leads to your heart.", + "Wanna slay my megafauna?", + "I'm a clockwork cultist. Or zl inyragvar.", + "If you were a disposal bin I'd ride you all day.", + "Put on your explorer's suit because I'm taking you to LOVEaland.", + "I must be the CMO, 'cause I saw you on my CUTE sensors.", + "You're the vomit to my flyperson.", + "You must be liquid dark matter, because you're pulling me closer.", + "Not even sorium can drive me away from you.", + "Wanna make like a borg and do some heavy petting?", + "Are you powering the station? Because you super matter to me.", + "I wish science could make me a bag of holding you.", + "Let's call the emergency CUDDLE.", + "I must be tripping on BZ, because I saw an angel walk by.", + "Wanna empty out my tool storage?", + "Did you visit the medbay after you fell from heaven?", + "Are you wearing space pants? Wanna not be?" ) From efc94565b666e5b31c2b3919cc4471b692fad474 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 00:40:50 -0700 Subject: [PATCH 194/392] Update misc.dm --- code/_globalvars/lists/misc.dm | 112 ++++++++++++++++----------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index ce94ffb72e..5a08e085da 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -1,59 +1,59 @@ GLOBAL_LIST_EMPTY(donators_by_group) //group id = donator list of ckeys GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", - "My love for you is like the singularity. It cannot be contained.", - "Will you be my lusty xenomorph maid?", - "We go together like the clown and the external airlock.", - "Roses are red / Liches are wizards / I love you more than a whole squad of lizards.", - "Be my valentine. Law 2.", - "You must be a mime, because you leave me speechless.", - "I love you like Ian loves the HoP.", - "You're hotter than a plasma fire in toxins.", - "Are you a rogue atmos tech? Because you're taking my breath away.", - "Could I have all access... to your heart?", - "Call me the doctor, because I'm here to inspect your johnson.", - "I'm not a changeling, but you make my proboscis extend.", - "I just can't get EI NATH of you.", - "You must be a nuke op, because you make my heart explode.", - "Roses are red / Botany is a farm / Not being my Valentine / causes human harm.", - "I want you more than an assistant wants insulated gloves.", - "If I was a security officer, I'd brig you all shift.", - "Are you the janitor? Because I think I've fallen for you.", - "You're always valid to my heart.", - "I'd risk the wrath of the gods to bwoink you.", - "You look as beautiful now as the last time you were cloned.", - "Someone check the gravitational generator, because I'm only attracted to you.", - "If I were the warden I'd always let you into my armory.", - "The virologist is rogue, and the only cure is a kiss from you.", - "Would you spend some time in my upgraded sleeper?", - "You must be a silicon, because you've unbolted my heart.", - "Are you Nar'Sie? Because there's nar-one else I sie.", - "If you were a taser, you'd be set to stunning.", - "Do you have stamina damage from running through my dreams?", - "If I were an alien, would you let me hug you?", - "My love for you is stronger than a reinforced wall.", - "This must be the captain's office, because I see a fox.", - "I'm not a highlander, but there can only be one for me.", - "The floor is made of lava! Quick, get on my bed.", - "If you were an abandoned station you'd be the DEARelict.", - "If you had a pickaxe you'd be a shaft FINEr.", - "Roses are red, tide is gray, if I were an assistant I'd steal you away.", - "Roses are red, text is green, I love you more than cleanbots clean.", - "If you were a carp I'd fi-lay you.", - "I'm a nuke op, and my pinpointer leads to your heart.", - "Wanna slay my megafauna?", - "I'm a clockwork cultist. Or zl inyragvar.", - "If you were a disposal bin I'd ride you all day.", - "Put on your explorer's suit because I'm taking you to LOVEaland.", - "I must be the CMO, 'cause I saw you on my CUTE sensors.", - "You're the vomit to my flyperson.", - "You must be liquid dark matter, because you're pulling me closer.", - "Not even sorium can drive me away from you.", - "Wanna make like a borg and do some heavy petting?", - "Are you powering the station? Because you super matter to me.", - "I wish science could make me a bag of holding you.", - "Let's call the emergency CUDDLE.", - "I must be tripping on BZ, because I saw an angel walk by.", - "Wanna empty out my tool storage?", - "Did you visit the medbay after you fell from heaven?", - "Are you wearing space pants? Wanna not be?" ) + "My love for you is like the singularity. It cannot be contained.", + "Will you be my lusty xenomorph maid?", + "We go together like the clown and the external airlock.", + "Roses are red / Liches are wizards / I love you more than a whole squad of lizards.", + "Be my valentine. Law 2.", + "You must be a mime, because you leave me speechless.", + "I love you like Ian loves the HoP.", + "You're hotter than a plasma fire in toxins.", + "Are you a rogue atmos tech? Because you're taking my breath away.", + "Could I have all access... to your heart?", + "Call me the doctor, because I'm here to inspect your johnson.", + "I'm not a changeling, but you make my proboscis extend.", + "I just can't get EI NATH of you.", + "You must be a nuke op, because you make my heart explode.", + "Roses are red / Botany is a farm / Not being my Valentine / causes human harm.", + "I want you more than an assistant wants insulated gloves.", + "If I was a security officer, I'd brig you all shift.", + "Are you the janitor? Because I think I've fallen for you.", + "You're always valid to my heart.", + "I'd risk the wrath of the gods to bwoink you.", + "You look as beautiful now as the last time you were cloned.", + "Someone check the gravitational generator, because I'm only attracted to you.", + "If I were the warden I'd always let you into my armory.", + "The virologist is rogue, and the only cure is a kiss from you.", + "Would you spend some time in my upgraded sleeper?", + "You must be a silicon, because you've unbolted my heart.", + "Are you Nar'Sie? Because there's nar-one else I sie.", + "If you were a taser, you'd be set to stunning.", + "Do you have stamina damage from running through my dreams?", + "If I were an alien, would you let me hug you?", + "My love for you is stronger than a reinforced wall.", + "This must be the captain's office, because I see a fox.", + "I'm not a highlander, but there can only be one for me.", + "The floor is made of lava! Quick, get on my bed.", + "If you were an abandoned station you'd be the DEARelict.", + "If you had a pickaxe you'd be a shaft FINEr.", + "Roses are red, tide is gray, if I were an assistant I'd steal you away.", + "Roses are red, text is green, I love you more than cleanbots clean.", + "If you were a carp I'd fi-lay you.", + "I'm a nuke op, and my pinpointer leads to your heart.", + "Wanna slay my megafauna?", + "I'm a clockwork cultist. Or zl inyragvar.", + "If you were a disposal bin I'd ride you all day.", + "Put on your explorer's suit because I'm taking you to LOVEaland.", + "I must be the CMO, 'cause I saw you on my CUTE sensors.", + "You're the vomit to my flyperson.", + "You must be liquid dark matter, because you're pulling me closer.", + "Not even sorium can drive me away from you.", + "Wanna make like a borg and do some heavy petting?", + "Are you powering the station? Because you super matter to me.", + "I wish science could make me a bag of holding you.", + "Let's call the emergency CUDDLE.", + "I must be tripping on BZ, because I saw an angel walk by.", + "Wanna empty out my tool storage?", + "Did you visit the medbay after you fell from heaven?", + "Are you wearing space pants? Wanna not be?" ) From 0f5952fff72b37f3e5b96a464c758970ac9ed3fb Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 14 Feb 2020 09:48:10 +0100 Subject: [PATCH 195/392] Something about blood and species. --- code/modules/mob/living/carbon/human/species.dm | 4 ++-- .../carbon/human/species_types/flypeople.dm | 15 ++++++++------- .../living/carbon/human/species_types/golems.dm | 8 ++++---- .../carbon/human/species_types/mushpeople.dm | 1 + .../carbon/human/species_types/podpeople.dm | 3 ++- .../living/carbon/human/species_types/synths.dm | 5 ++--- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index fd4cdbaf0f..60917035f2 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1264,10 +1264,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) H.update_mutant_bodyparts() /datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) - if(chem.type == exotic_blood) + if(chem.type == exotic_blood && !istype(exotic_blood, /datum/reagent/blood)) H.blood_volume = min(H.blood_volume + round(chem.volume, 0.1), BLOOD_VOLUME_MAXIMUM) H.reagents.del_reagent(chem.type) - return 1 + return TRUE return FALSE /datum/species/proc/check_weakness(obj/item, mob/living/attacker) diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 4697e6aa3c..76f620d864 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -13,22 +13,23 @@ exotic_bloodtype = "BUG" /datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) - if(chem.type == /datum/reagent/toxin/pestkiller) + if(istype(chem, /datum/reagent/toxin/pestkiller)) H.adjustToxLoss(3) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - return 1 - - -/datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) - if(istype(chem, /datum/reagent/consumable)) + return TRUE + else if(istype(chem, /datum/reagent/consumable)) var/datum/reagent/consumable/nutri_check = chem if(nutri_check.nutriment_factor > 0) var/turf/pos = get_turf(H) H.vomit(0, FALSE, FALSE, 2, TRUE) + var/obj/effect/decal/cleanable/vomit/V = locate() in pos + if(V) + reagents.trans_id_to(V, chem, chem.volume) playsound(pos, 'sound/effects/splat.ogg', 50, 1) H.visible_message("[H] vomits on the floor!", \ "You throw up on the floor!") - ..() + return TRUE + return ..() /datum/species/fly/check_weakness(obj/item/weapon, mob/living/attacker) if(istype(weapon, /obj/item/melee/flyswatter)) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 98c3f269dc..447bb6afdf 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -308,7 +308,8 @@ if(chem.type == /datum/reagent/toxin/plantbgone) H.adjustToxLoss(3) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - return 1 + return TRUE + return ..() //Radioactive /datum/species/golem/uranium @@ -622,12 +623,11 @@ if(chem.type == /datum/reagent/water/holywater) H.adjustFireLoss(4) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - - if(chem.type == /datum/reagent/fuel/unholywater) + else if(chem.type == /datum/reagent/fuel/unholywater) H.adjustBruteLoss(-4) H.adjustFireLoss(-4) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - + return ..() /datum/species/golem/clockwork name = "Clockwork Golem" diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 2580e3b9f0..9d5ca92894 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -57,6 +57,7 @@ H.adjustToxLoss(3) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) return TRUE + return ..() /datum/species/mush/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) forced_colour = FALSE 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..1bed3b08d4 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -50,7 +50,8 @@ if(chem.type == /datum/reagent/toxin/plantbgone) H.adjustToxLoss(3) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - return 1 + return TRUE + return ..() /datum/species/pod/on_hit(obj/item/projectile/P, mob/living/carbon/human/H) switch(P.type) diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index 0957a9e807..54f2407fb5 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -39,9 +39,8 @@ if(chem.type == /datum/reagent/medicine/synthflesh) chem.reaction_mob(H, TOUCH, 2 ,0) //heal a little H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM) - return 1 - else - return ..() + return TRUE + return ..() /datum/species/synth/proc/assume_disguise(datum/species/S, mob/living/carbon/human/H) From d45a20c19b0a8d2249a731eaa46ce384ff575dcb Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Fri, 14 Feb 2020 05:12:50 -0700 Subject: [PATCH 196/392] 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 6e88af07d13f47ac3293d7476390275a5acb690d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 06:36:42 -0600 Subject: [PATCH 197/392] Automatic changelog generation for PR #11062 [ci skip] --- html/changelogs/AutoChangeLog-pr-11062.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11062.yml diff --git a/html/changelogs/AutoChangeLog-pr-11062.yml b/html/changelogs/AutoChangeLog-pr-11062.yml new file mode 100644 index 0000000000..b9bc85b1c1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11062.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Organ healing rate doubled. Organ decay rate halved to match its define (15 minutes for full decay, so at around 8-10 minutes it'll be really fucked)." From da4d13934a63dda7f9fc3c2270e04ae6b409bf15 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Fri, 14 Feb 2020 13:52:05 +0100 Subject: [PATCH 198/392] Update DNA.dm --- code/__DEFINES/DNA.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 47184674d6..0a64f01a43 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -138,8 +138,8 @@ ////organ defines #define STANDARD_ORGAN_THRESHOLD 100 -#define STANDARD_ORGAN_HEALING (1/(15 MINUTES / 1 SECONDS)) -#define STANDARD_ORGAN_DECAY (1/(15 MINUTES / 1 SECONDS)) //designed to fail organs when left to decay for ~15 minutes. 1 SECOND is SSmobs tickrate. +#define STANDARD_ORGAN_HEALING (1/(15 MINUTES / (2 SECONDS))) +#define STANDARD_ORGAN_DECAY (1/(15 MINUTES / (2 SECONDS))) //designed to fail organs when left to decay for ~15 minutes. 2 SECOND is SSmobs tickrate. #define G_MALE 1 #define G_FEMALE 2 From 8934f9b401322af8b5170e1f2563c9c7a37494e2 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Fri, 14 Feb 2020 17:24:50 +0100 Subject: [PATCH 199/392] Update flypeople.dm --- code/modules/mob/living/carbon/human/species_types/flypeople.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 76f620d864..ac7747a672 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -24,7 +24,7 @@ H.vomit(0, FALSE, FALSE, 2, TRUE) var/obj/effect/decal/cleanable/vomit/V = locate() in pos if(V) - reagents.trans_id_to(V, chem, chem.volume) + H.reagents.trans_id_to(V, chem, chem.volume) playsound(pos, 'sound/effects/splat.ogg', 50, 1) H.visible_message("[H] vomits on the floor!", \ "You throw up on the floor!") From 57113a41467df68dbb2bead138671fdc56d820b4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:17:07 -0600 Subject: [PATCH 200/392] Automatic changelog generation for PR #11061 [ci skip] --- html/changelogs/AutoChangeLog-pr-11061.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11061.yml diff --git a/html/changelogs/AutoChangeLog-pr-11061.yml b/html/changelogs/AutoChangeLog-pr-11061.yml new file mode 100644 index 0000000000..5225edc141 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11061.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "Gang tower shield is no longer transparent" From 43d93c4a1bfcd151b59216b3d235c8e44224eed0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:18:02 -0600 Subject: [PATCH 201/392] Automatic changelog generation for PR #11051 [ci skip] --- html/changelogs/AutoChangeLog-pr-11051.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11051.yml diff --git a/html/changelogs/AutoChangeLog-pr-11051.yml b/html/changelogs/AutoChangeLog-pr-11051.yml new file mode 100644 index 0000000000..8ac7939b00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11051.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "hand teleporters now require 30 deciseconds of still movement by the user to dispel portals. there's a beam effect too." From ac0c1a3ccf335b986a8bdb6a8e4059a8edea9698 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:20:35 -0600 Subject: [PATCH 202/392] Automatic changelog generation for PR #10916 [ci skip] --- html/changelogs/AutoChangeLog-pr-10916.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10916.yml diff --git a/html/changelogs/AutoChangeLog-pr-10916.yml b/html/changelogs/AutoChangeLog-pr-10916.yml new file mode 100644 index 0000000000..05d9b007b1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10916.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Projectiles now always hit chest if targeting chest, snipers have 100% targeting zone accuracy. All other cases are unchanged." From ed8f32d16f72143ff512a8fe2e3e36592f51c63e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:21:01 -0600 Subject: [PATCH 203/392] Automatic changelog generation for PR #11063 [ci skip] --- html/changelogs/AutoChangeLog-pr-11063.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11063.yml diff --git a/html/changelogs/AutoChangeLog-pr-11063.yml b/html/changelogs/AutoChangeLog-pr-11063.yml new file mode 100644 index 0000000000..c729fb5ed9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11063.yml @@ -0,0 +1,4 @@ +author: "Zellular" +delete-after: True +changes: + - tweak: "Tweaked the movement state for the pupdozer's eyes" From d73003a330caf696c9f4c2339938047cea9e41a2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:21:52 -0600 Subject: [PATCH 204/392] Automatic changelog generation for PR #10934 [ci skip] --- html/changelogs/AutoChangeLog-pr-10934.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10934.yml diff --git a/html/changelogs/AutoChangeLog-pr-10934.yml b/html/changelogs/AutoChangeLog-pr-10934.yml new file mode 100644 index 0000000000..61ef7ec04f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10934.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - refactor: "Refactored ghostreading/etc" From c2c1c755cdf7e4898d6094d84f9ccdd5ee410eb4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:22:07 -0600 Subject: [PATCH 205/392] Automatic changelog generation for PR #11070 [ci skip] --- html/changelogs/AutoChangeLog-pr-11070.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11070.yml diff --git a/html/changelogs/AutoChangeLog-pr-11070.yml b/html/changelogs/AutoChangeLog-pr-11070.yml new file mode 100644 index 0000000000..3c923bddb0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11070.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - tweak: "Storage now caches max screen size and only stores when being opened by a non ghost, meaning ghosts will no longer distort living player screens when viewing storage." From cb59a4c9341d9c238ab4e503443bb8e36d380b19 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:34:04 -0600 Subject: [PATCH 206/392] Automatic changelog generation for PR #11013 [ci skip] --- html/changelogs/AutoChangeLog-pr-11013.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11013.yml diff --git a/html/changelogs/AutoChangeLog-pr-11013.yml b/html/changelogs/AutoChangeLog-pr-11013.yml new file mode 100644 index 0000000000..a9806d796d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11013.yml @@ -0,0 +1,5 @@ +author: "r4d6" +delete-after: True +changes: + - rscadd: "Added Plasteel Pickaxe" + - rscadd: "Added Titanium Pickaxe" From d3926d73ac9d256fec68fead3545f3b8f18c1a50 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 14 Feb 2020 12:44:18 -0600 Subject: [PATCH 207/392] Automatic changelog generation for PR #10792 [ci skip] --- html/changelogs/AutoChangeLog-pr-10792.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10792.yml diff --git a/html/changelogs/AutoChangeLog-pr-10792.yml b/html/changelogs/AutoChangeLog-pr-10792.yml new file mode 100644 index 0000000000..78c86a838a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10792.yml @@ -0,0 +1,4 @@ +author: "Naksu" +delete-after: True +changes: + - bugfix: "Odysseus chem synthesizing now works again." From f36b89a6e3cb149966251ed2a8deac104193ed57 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 11:53:50 -0700 Subject: [PATCH 208/392] Update misc.dm --- code/_globalvars/lists/misc.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index 5a08e085da..819352ac1b 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -1,6 +1,6 @@ GLOBAL_LIST_EMPTY(donators_by_group) //group id = donator list of ckeys -GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy...", +GLOBAL_LIST_INIT(flirts, list("Roses are red / Violets are good / One day while Andy...", "My love for you is like the singularity. It cannot be contained.", "Will you be my lusty xenomorph maid?", "We go together like the clown and the external airlock.", @@ -56,4 +56,4 @@ GLOBAL_LIST_INIT(flirts, "Roses are red / Violets are good / One day while Andy. "I must be tripping on BZ, because I saw an angel walk by.", "Wanna empty out my tool storage?", "Did you visit the medbay after you fell from heaven?", - "Are you wearing space pants? Wanna not be?" ) + "Are you wearing space pants? Wanna not be?" )) From 3b873d40007b1eb14d3493dc6df625b027e9795d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Fri, 14 Feb 2020 16:28:39 -0600 Subject: [PATCH 209/392] 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 210/392] 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 d97b1d4e804f9d5df3ffdcc0ddb04ebe88eed2ef Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 15:30:06 -0700 Subject: [PATCH 211/392] Update mech_fabricator.dm --- code/game/mecha/mech_fabricator.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index e70de0ef8b..d375538887 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -326,7 +326,7 @@ part_set = tpart_set screen = "parts" if(href_list["part"]) - var/T = href_list["part_set"] + var/T = href_list["part"] for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) if(D.build_type & MECHFAB) @@ -337,7 +337,7 @@ add_to_queue(D) break if(href_list["add_to_queue"]) - var/T = href_list["part_set"] + var/T = href_list["add_to_queue"] for(var/v in stored_research.researched_designs) var/datum/design/D = SSresearch.techweb_design_by_id(v) if(D.build_type & MECHFAB) @@ -349,7 +349,7 @@ remove_from_queue(text2num(href_list["remove_from_queue"])) return update_queue_on_page() if(href_list["partset_to_queue"]) - add_part_set_to_queue(text2num(href_list["remove_from_queue"])) + add_part_set_to_queue(text2num(href_list["partset_to_queue"])) return update_queue_on_page() if(href_list["process_queue"]) spawn(0) From f6cf5adb4ce94091135c34beba7a6eae258c5d6e Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 14 Feb 2020 15:33:47 -0700 Subject: [PATCH 212/392] Update mech_fabricator.dm --- code/game/mecha/mech_fabricator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index d375538887..f2d907283a 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -349,7 +349,7 @@ remove_from_queue(text2num(href_list["remove_from_queue"])) return update_queue_on_page() if(href_list["partset_to_queue"]) - add_part_set_to_queue(text2num(href_list["partset_to_queue"])) + add_part_set_to_queue(href_list["partset_to_queue"]) return update_queue_on_page() if(href_list["process_queue"]) spawn(0) From bbe1ddc0cfadc126997774c58b819c69b15c7769 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Fri, 14 Feb 2020 23:04:02 -0500 Subject: [PATCH 213/392] 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 214/392] 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 215/392] 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 216/392] 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 b5015f696ffc9f1c2d5e664bcfc7a1bf8fd21564 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 02:04:56 -0600 Subject: [PATCH 217/392] Automatic changelog generation for PR #11086 [ci skip] --- html/changelogs/AutoChangeLog-pr-11086.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11086.yml diff --git a/html/changelogs/AutoChangeLog-pr-11086.yml b/html/changelogs/AutoChangeLog-pr-11086.yml new file mode 100644 index 0000000000..e11113e71c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11086.yml @@ -0,0 +1,6 @@ +author: "YakumoChen" +delete-after: True +changes: + - imageadd: "Rings look nicer. Sprites used from RP." + - imageadd: "Ring on-hands. Diamond rings sparkle!" + - tweak: "You can now propose using a diamond ring in your hand." From 95398af552a0267a5962d3ac494f1439e15cf1b8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 02:05:47 -0600 Subject: [PATCH 218/392] Automatic changelog generation for PR #11048 [ci skip] --- html/changelogs/AutoChangeLog-pr-11048.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11048.yml diff --git a/html/changelogs/AutoChangeLog-pr-11048.yml b/html/changelogs/AutoChangeLog-pr-11048.yml new file mode 100644 index 0000000000..77af926906 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11048.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - balance: "BDM now uses a PKA rather then a normal KA" From 3f9965a781f0a1035d028978c90fd8f8b0f343ad Mon Sep 17 00:00:00 2001 From: Microvolnovka19 <59139863+Microvolnovka19@users.noreply.github.com> Date: Sat, 15 Feb 2020 17:30:00 +0700 Subject: [PATCH 219/392] Some sprite fixes (#11089) * Delete penis_onmob.dmi * Some sprite fixes * Delete penis_onmob.dmi * This should be ok * Delete penis_onmob.dmi * This should be ok? * Delete penis_onmob.dmi * This totally should be ok --- .../icons/obj/genitals/penis_onmob.dmi | Bin 9279 -> 11010 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/obj/genitals/penis_onmob.dmi b/modular_citadel/icons/obj/genitals/penis_onmob.dmi index 4a92bffa2a6ff4664f4391bd542c2eee7209ee93..c074eaf306f0839e3228a19f03efecfd99f94cd9 100644 GIT binary patch literal 11010 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 TZ+XZRzc_sG_<=%m=WG81vrPxI literal 9279 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 From 72efdec3fb12c68abaef079fc3abf724b731c0d0 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 15 Feb 2020 19:12:07 +0100 Subject: [PATCH 220/392] Porting pair pinpointers and fixing an edge case runtime. --- code/game/objects/items/pinpointer.dm | 34 ++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index c4ad324a2c..151df7694a 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -26,6 +26,7 @@ /obj/item/pinpointer/Destroy() STOP_PROCESSING(SSfastprocess, src) GLOB.pinpointer_list -= src + target = null return ..() /obj/item/pinpointer/attack_self(mob/living/user) @@ -57,7 +58,7 @@ return var/turf/here = get_turf(src) var/turf/there = get_turf(target) - if(here.z != there.z) + if(!here || !there || here.z != there.z) add_overlay("pinon[alert ? "alert" : ""]null") return if(get_dist_euclidian(here,there) <= minimum_range) @@ -143,3 +144,34 @@ target = null if(!target) //target can be set to null from above code, or elsewhere active = FALSE + +/obj/item/pinpointer/pair + name = "pair pinpointer" + desc = "A handheld tracking device that locks onto its other half of the matching pair." + var/other_pair + +/obj/item/pinpointer/pair/Destroy() + other_pair = null + . = ..() + +/obj/item/pinpointer/pair/scan_for_target() + target = other_pair + +/obj/item/pinpointer/pair/examine(mob/user) + . = ..() + if(!active || !target) + return + var/mob/mob_holder = get(target, /mob) + if(istype(mob_holder)) + to_chat(user, "Its pair is being held by [mob_holder].") + return + +/obj/item/storage/box/pinpointer_pairs + name = "pinpointer pair box" + +/obj/item/storage/box/pinpointer_pairs/PopulateContents() + var/obj/item/pinpointer/pair/A = new(src) + var/obj/item/pinpointer/pair/B = new(src) + + A.other_pair = B + B.other_pair = A From 661e01ca0ca3078b89dfe17fc8e2fdb533c3f3b1 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 15 Feb 2020 13:12:19 -0500 Subject: [PATCH 221/392] Update miscellaneous.dm (#11094) --- code/modules/clothing/suits/miscellaneous.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index b61918c4b8..4d3e8acb28 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -703,8 +703,9 @@ name = "cosmic winter coat" icon_state = "coatcosmic" item_state = "coatcosmic" - allowed = list(/obj/item/flashlight) hoodtype = /obj/item/clothing/head/hooded/winterhood/cosmic + light_power = 1.8 + light_range = 1.2 /obj/item/clothing/head/hooded/winterhood/cosmic icon_state = "winterhood_cosmic" @@ -994,4 +995,4 @@ tertiary_color = sanitize_hexcolor(tertiary_color_input, desired_format=6, include_crunch=1) update_icon() user.regenerate_icons() - return TRUE \ No newline at end of file + return TRUE From a33669aacd9029e9317c283f0e08a323e5ac0452 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:12:22 -0600 Subject: [PATCH 222/392] Automatic changelog generation for PR #11094 [ci skip] --- html/changelogs/AutoChangeLog-pr-11094.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11094.yml diff --git a/html/changelogs/AutoChangeLog-pr-11094.yml b/html/changelogs/AutoChangeLog-pr-11094.yml new file mode 100644 index 0000000000..a6db5bd93f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11094.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "Cosmic winter coat now glows like the bedsheet, and holds normal winter coat gear" From 852dc40d3c5855b71db5bdc0aa36e72a2e5f287a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:44:27 -0600 Subject: [PATCH 223/392] Automatic changelog generation for PR #11040 [ci skip] --- html/changelogs/AutoChangeLog-pr-11040.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11040.yml diff --git a/html/changelogs/AutoChangeLog-pr-11040.yml b/html/changelogs/AutoChangeLog-pr-11040.yml new file mode 100644 index 0000000000..cc0514517b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11040.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Further mob holder fixes." From 8162aad3e6cbfe9af70bcc33da39ce9a582affce Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:44:54 -0600 Subject: [PATCH 224/392] Automatic changelog generation for PR #11047 [ci skip] --- html/changelogs/AutoChangeLog-pr-11047.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11047.yml diff --git a/html/changelogs/AutoChangeLog-pr-11047.yml b/html/changelogs/AutoChangeLog-pr-11047.yml new file mode 100644 index 0000000000..5bc42d1219 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11047.yml @@ -0,0 +1,5 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "Meatwheat and Oats now have rarity" + - balance: "Oats now have at lest 50% more flour in them" From 24bb8b330f944fe039c4c0cda4eff6f011c1a152 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:45:41 -0600 Subject: [PATCH 225/392] Automatic changelog generation for PR #11075 [ci skip] --- html/changelogs/AutoChangeLog-pr-11075.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11075.yml diff --git a/html/changelogs/AutoChangeLog-pr-11075.yml b/html/changelogs/AutoChangeLog-pr-11075.yml new file mode 100644 index 0000000000..0eb612a81e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11075.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed agent IDs not registering the inputted name. Thanks MrPerson." From 69a0fa6ca7f300af06d39bc9732e0e44ced6d2d2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:45:53 -0600 Subject: [PATCH 226/392] Automatic changelog generation for PR #11073 [ci skip] --- html/changelogs/AutoChangeLog-pr-11073.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11073.yml diff --git a/html/changelogs/AutoChangeLog-pr-11073.yml b/html/changelogs/AutoChangeLog-pr-11073.yml new file mode 100644 index 0000000000..078c5fb300 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11073.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Reduced tongue organ damage and tasting pH message spam." From 638daad24348923a554c26befcc9a97562fcb141 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:46:03 -0600 Subject: [PATCH 227/392] Automatic changelog generation for PR #11072 [ci skip] --- html/changelogs/AutoChangeLog-pr-11072.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11072.yml diff --git a/html/changelogs/AutoChangeLog-pr-11072.yml b/html/changelogs/AutoChangeLog-pr-11072.yml new file mode 100644 index 0000000000..ab21d91e19 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11072.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Doubled the halved flavor text maximum length." From b057a36fb78bd844923a4ce1fda75653998a8663 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 12:46:59 -0600 Subject: [PATCH 228/392] Automatic changelog generation for PR #11071 [ci skip] --- html/changelogs/AutoChangeLog-pr-11071.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11071.yml diff --git a/html/changelogs/AutoChangeLog-pr-11071.yml b/html/changelogs/AutoChangeLog-pr-11071.yml new file mode 100644 index 0000000000..e8581b325e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11071.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed being unable to dump a trash bag's contents directly into disposal bins." From fc5eeeac0082063d57cec1c5e7dfca39745f837b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 15 Feb 2020 12:14:51 -0700 Subject: [PATCH 229/392] Update gun.dm --- code/modules/projectiles/gun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ebc94d689a..34f7134591 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -168,7 +168,7 @@ return if(firing) return - if(user.getStaminaLoss >= STAMINA_SOFTCRIT) //respect stamina softcrit + if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) //respect stamina softcrit to_chat(user, "You are too exhausted to fire [src]!") return if(flag) //It's adjacent, is the user, or is on the user's person From 274fac7576e1584924f43fcab017de0d72a97a98 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 13:15:33 -0600 Subject: [PATCH 230/392] Automatic changelog generation for PR #10923 [ci skip] --- html/changelogs/AutoChangeLog-pr-10923.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10923.yml diff --git a/html/changelogs/AutoChangeLog-pr-10923.yml b/html/changelogs/AutoChangeLog-pr-10923.yml new file mode 100644 index 0000000000..0fd9a0f14e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10923.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Nerfed cargo passive points generation from 500 to 125 creds per minute." From c7176b522fe614ec5a4b615d7fdbd23a792001b0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 13:15:52 -0600 Subject: [PATCH 231/392] Automatic changelog generation for PR #10940 [ci skip] --- html/changelogs/AutoChangeLog-pr-10940.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10940.yml diff --git a/html/changelogs/AutoChangeLog-pr-10940.yml b/html/changelogs/AutoChangeLog-pr-10940.yml new file mode 100644 index 0000000000..c0bbfc371a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10940.yml @@ -0,0 +1,5 @@ +author: "Ghommie" +delete-after: True +changes: + - balance: "Some reagent holders (such as cigarettes, food) are not suitable for reagents export anymore, while unprocessed botany crops will only net 1/3 of the standard reagents values." + - bugfix: "Export scanners now include the reagents value in the price report." From 7a0f779a61e3b8c4d9e8e81aaad5f4d61bb9da09 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sat, 15 Feb 2020 13:16:26 -0600 Subject: [PATCH 232/392] Automatic changelog generation for PR #10947 [ci skip] --- html/changelogs/AutoChangeLog-pr-10947.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10947.yml diff --git a/html/changelogs/AutoChangeLog-pr-10947.yml b/html/changelogs/AutoChangeLog-pr-10947.yml new file mode 100644 index 0000000000..a6f1fb1344 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10947.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - bugfix: "Trash from food now gets generated at the location of the food item, instead of in the hands of the eater." From 0c9244f6694edd3c5ae7a56ae7ea57daf318b8ce Mon Sep 17 00:00:00 2001 From: Persi Date: Sat, 15 Feb 2020 14:17:22 -0500 Subject: [PATCH 233/392] 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 234/392] 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 235/392] 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 236/392] 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 237/392] 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 3b9f9d7a1639f65d4c734574ecb7e9ba3b80ba83 Mon Sep 17 00:00:00 2001 From: keronshb Date: Sat, 15 Feb 2020 18:15:41 -0500 Subject: [PATCH 238/392] Requested changes Requested changes --- code/modules/antagonists/cult/blood_magic.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 826b518e21..25c92462b1 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -441,9 +441,9 @@ var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(user_antag.cult_team.cult_ascendent) if(!iscultist(L)) - var/atom/throw_target = get_edge_target_turf(L, user.dir) L.adjustFireLoss(20) - if(!L.anchored) + if(L.move_resist < MOVE_FORCE_STRONG) + var/atom/throw_target = get_edge_target_turf(L, user.dir) L.throw_at(throw_target, 7, 1, user) else if(!iscultist(L)) L.Knockdown(160) From cba66673328f8aa5b1a36ac18a7464e1af870e05 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sat, 15 Feb 2020 18:42:50 -0500 Subject: [PATCH 239/392] it could work --- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/mob/living/death.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 1be9a0d72d..433f6a43b5 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -362,7 +362,7 @@ return // Also no decay if corpse chilled or not organic/undead - if(bodytemperature <= T0C-10 || (!(MOB_ORGANIC in mob_biotypes) && !(MOB_UNDEAD in mob_biotypes))) + if((bodytemperature <= T0C-10) || !(mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) return // Wait a bit before decaying diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 45f9662c9a..7cd79bb1ab 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_ROBOTIC) in (mob_biotypes)) new /obj/effect/gibspawner/robot(location, src, get_static_viruses()) else new /obj/effect/gibspawner/generic(location, src, get_static_viruses()) 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 240/392] 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 fb4e4bcfce57741a16a7ddf8815788f43fae4d7a Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sun, 16 Feb 2020 12:05:38 +0800 Subject: [PATCH 241/392] makes spraycans rely on HSL lightness instead of an addition of all the RGB values --- code/game/objects/items/crayons.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 81c5083ef7..d74bb28602 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -619,7 +619,7 @@ is_capped = TRUE self_contained = FALSE // Don't disappear when they're empty can_change_colour = TRUE - + reagent_contents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol = 1) pre_noise = TRUE @@ -710,7 +710,9 @@ if(isobj(target)) if(actually_paints) - if(color_hex2num(paint_color) < 350 && !istype(target, /obj/structure/window) && !istype(target, /obj/effect/decal/cleanable/crayon)) //Colors too dark are rejected + var/list/hsl = rgb2hsl(hex2num(copytext(paint_color,2,4)),hex2num(copytext(paint_color,4,6)),hex2num(copytext(paint_color,6,8))) + message_admins("[hsl]") + if(hsl[3] < 0.25 && !istype(target, /obj/structure/window) && !istype(target, /obj/effect/decal/cleanable/crayon)) //Colors too dark are rejected to_chat(usr, "A color that dark on an object like this? Surely not...") return FALSE From 18feba7fddcfc425fc8f89ae74e14764b5f10b58 Mon Sep 17 00:00:00 2001 From: Persi Date: Sun, 16 Feb 2020 00:14:15 -0500 Subject: [PATCH 242/392] 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 243/392] 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 c95bb9f8dbc08463d90e43796b6ab92d9dc75e2a Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Sun, 16 Feb 2020 14:31:30 +0800 Subject: [PATCH 244/392] FUCK SHIT I'M NAKED IS THIS A DREAM OR REAL FUCK FUCK WHERE ARE MY CLOTHES hallucination (#10857) * FUCK SHIT I'M NAKED IS THIS A DREAM OR REAL FUCK FUCK WHERE ARE MY CLOTHES???? * fix * no more getflaticon dabdabdabdabdabdabdab * tada --- code/__DEFINES/misc.dm | 1 + code/modules/flufftext/Hallucination.dm | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index e2d93aebf5..ac8681ead7 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -406,6 +406,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define DUMMY_HUMAN_SLOT_HOLOFORM "dummy_holoform_generation" #define DUMMY_HUMAN_SLOT_ADMIN "admintools" #define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation" +#define DUMMY_HUMAN_SLOT_HALLUCINATION "dummy_hallucination" #define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round //This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 0f4c03cdbc..b0c3121c67 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( /datum/hallucination/items = 4, /datum/hallucination/fire = 3, /datum/hallucination/self_delusion = 2, + /datum/hallucination/naked = 2, /datum/hallucination/delusion = 2, /datum/hallucination/shock = 1, /datum/hallucination/death = 1, @@ -1321,3 +1322,26 @@ GLOBAL_LIST_INIT(hallucination_list, list( else to_chat(C,"[G] violently grabs you!") qdel(src) + +/datum/hallucination/naked + var/image/image + +/datum/hallucination/naked/New(mob/living/carbon/C, forced = TRUE) + set waitfor = FALSE + ..() + if (C.client && C.client.prefs) + var/datum/preferences/prefs = C.client.prefs + var/mob/living/carbon/human/dummy/M = generate_or_wait_for_human_dummy(DUMMY_HUMAN_SLOT_HALLUCINATION) + prefs.copy_to(M) + COMPILE_OVERLAYS(M) + CHECK_TICK + image = image(M,C) + unset_busy_human_dummy(DUMMY_HUMAN_SLOT_HALLUCINATION) + image.override = TRUE + target.client.images |= image + QDEL_IN(src, 20 SECONDS) + +/datum/hallucination/naked/Destroy() + if(target.client) + target.client.images.Remove(image) + return ..() \ No newline at end of file From af33ad10900ebf0b687838c4dcd73aa8a8207eed Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:31:33 -0600 Subject: [PATCH 245/392] Automatic changelog generation for PR #10857 [ci skip] --- html/changelogs/AutoChangeLog-pr-10857.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10857.yml diff --git a/html/changelogs/AutoChangeLog-pr-10857.yml b/html/changelogs/AutoChangeLog-pr-10857.yml new file mode 100644 index 0000000000..ae8c5f6ac0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10857.yml @@ -0,0 +1,4 @@ +author: "Seris02" +delete-after: True +changes: + - rscadd: "Added naked hallucination" From a5f06430e4429478fbba425616c46d39cbd01fd2 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 15 Feb 2020 23:36:50 -0700 Subject: [PATCH 246/392] repulse armor sanity (#10949) --- .../modules/clothing/suits/reactive_armour.dm | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 0d2f68f580..dff62dd2c3 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -215,14 +215,24 @@ playsound(get_turf(owner),'sound/magic/repulse.ogg', 100, 1) owner.visible_message("[src] blocks [attack_text], converting the attack into a wave of force!") var/turf/T = get_turf(owner) - var/list/thrown_items = list() - for(var/atom/movable/A in range(T, 7)) - if(A == owner || A.anchored || thrown_items[A]) + var/list/cachedrange = range(T, 7) - owner + var/safety = 50 + var/list/to_throw = list() + for(var/mob/living/L in cachedrange) + if(L.move_resist > MOVE_FORCE_EXTREMELY_STRONG) continue - var/throwtarget = get_edge_target_turf(T, get_dir(T, get_step_away(A, T))) - A.throw_at(throwtarget,10,1) - thrown_items[A] = A - + to_throw += L + for(var/obj/O in cachedrange) + if(O.anchored) + continue + to_throw += O + for(var/i in to_throw) + if(!safety) + break + var/atom/movable/AM = i + var/throwtarget = get_edge_target_turf(T, get_dir(T, get_step_away(AM, T))) + AM.throw_at(throwtarget,10,1) + safety-- reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration return 1 From 475fc0c9137d55be3d23b69790258278c21c13a6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:36:53 -0600 Subject: [PATCH 247/392] Automatic changelog generation for PR #10949 [ci skip] --- html/changelogs/AutoChangeLog-pr-10949.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10949.yml diff --git a/html/changelogs/AutoChangeLog-pr-10949.yml b/html/changelogs/AutoChangeLog-pr-10949.yml new file mode 100644 index 0000000000..3c7000a0e1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10949.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - bugfix: "reactive repulse armor now has an item limit" From 14fdd906189f75e462401fdd6a1f2a22f9222ef6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 15 Feb 2020 23:37:24 -0700 Subject: [PATCH 248/392] Nerfs public autolathes (#10970) --- _maps/map_files/BoxStation/BoxStation.dmm | 2 +- _maps/map_files/Deltastation/DeltaStation2.dmm | 2 +- _maps/map_files/MetaStation/MetaStation.dmm | 2 +- code/game/machinery/autolathe.dm | 9 +++++++++ .../objects/items/circuitboards/machine_circuitboards.dm | 4 ++++ .../designs/machine_desings/machine_designs_all_misc.dm | 8 ++++++++ code/modules/research/techweb/all_nodes.dm | 2 +- 7 files changed, 25 insertions(+), 4 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 6c1642ca8b..452a080be0 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -57072,7 +57072,7 @@ /turf/open/floor/plating, /area/space) "sRH" = ( -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 1abdd85019..13597584ae 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -34904,7 +34904,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 8 }, -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 1be18fdfeb..3c8e251bb1 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -31856,7 +31856,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 8 }, -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 495e90d305..c9d26905f5 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -17,6 +17,7 @@ var/list/L = list() var/list/LL = list() var/hacked = FALSE + var/hackable = TRUE var/disabled = 0 var/shocked = FALSE var/hack_wire @@ -371,6 +372,8 @@ /obj/machinery/autolathe/proc/adjust_hacked(state) hacked = state + if(!hackable && hacked) + return for(var/id in SSresearch.techweb_designs) var/datum/design/D = SSresearch.techweb_design_by_id(id) if((D.build_type & AUTOLATHE) && ("hacked" in D.category)) @@ -383,6 +386,12 @@ . = ..() adjust_hacked(TRUE) +/obj/machinery/autolathe/secure + name = "secured autolathe" + desc = "An autolathe reprogrammed with security protocols to prevent hacking." + hackable = FALSE + circuit = /obj/item/circuitboard/machine/autolathe/secure + //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes /obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 2196246b03..df0a4e6cf3 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -35,6 +35,10 @@ /obj/item/stock_parts/manipulator = 1, /obj/item/stack/sheet/glass = 1) +/obj/item/circuitboard/machine/autolathe/secure + name = "Secure Autolathe (Machine Board)" + build_path = /obj/machinery/autolathe/secure + /obj/item/circuitboard/machine/bloodbankgen name = "Blood Bank Generator (Machine Board)" build_path = /obj/machinery/bloodbankgen diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm index b4d67315ba..6ccbf32615 100644 --- a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm @@ -26,6 +26,14 @@ category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ALL +/datum/design/board/autolathe_secure + name = "Machine Design (Secure Autolathe Board)" + desc = "The circuit board for an autolathe. This one is programmed to not allow hacking." + id = "autolathe_secure" + build_path = /obj/item/circuitboard/machine/autolathe/secure + category = list ("Misc. Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ALL + /datum/design/board/recharger name = "Machine Design (Weapon Recharger Board)" desc = "The circuit board for a Weapon Recharger." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c1416502d7..75b71611d5 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -190,7 +190,7 @@ description = "A refresher course on modern engineering technology." prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", - "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", + "atmosalerts", "atmos_control", "recycler", "autolathe", "autolathe_secure", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000) export_price = 5000 From 128eeefcaf695b3b2ce3663a433687e2c171c66c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:37:27 -0600 Subject: [PATCH 249/392] Automatic changelog generation for PR #10970 [ci skip] --- html/changelogs/AutoChangeLog-pr-10970.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10970.yml diff --git a/html/changelogs/AutoChangeLog-pr-10970.yml b/html/changelogs/AutoChangeLog-pr-10970.yml new file mode 100644 index 0000000000..7182c5f6a6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10970.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Public autolathes can no longer be hacked." From a8d45f8361f4b9c66bca00bce2f6fd7f810510af Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 01:39:56 -0500 Subject: [PATCH 250/392] Update crab.dm (#11105) --- code/modules/mob/living/simple_animal/friendly/crab.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 5dbf755601..d906757ed5 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -11,7 +11,7 @@ blood_volume = 350 speak_chance = 1 turns_per_move = 5 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcrab = 1) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "stomps" From 1ca3d75ebd77a7b31844c740910fce3845a839e1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:39:59 -0600 Subject: [PATCH 251/392] Automatic changelog generation for PR #11105 [ci skip] --- html/changelogs/AutoChangeLog-pr-11105.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11105.yml diff --git a/html/changelogs/AutoChangeLog-pr-11105.yml b/html/changelogs/AutoChangeLog-pr-11105.yml new file mode 100644 index 0000000000..0c7ac7b1e6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11105.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "Crabs are now made of crab meat." From 21e2a0892d762f45369d0c042f81c6c6239cc577 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 16 Feb 2020 01:46:45 -0500 Subject: [PATCH 252/392] Update meat.dm (#11028) --- code/modules/food_and_drinks/food/snacks/meat.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 28fb2edf61..d44f859823 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -271,7 +271,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/meatwheat name = "meatwheat clump" desc = "This doesn't look like meat, but your standards aren't that high to begin with." - list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/blood = 5, /datum/reagent/consumable/cooking_oil = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/cooking_oil = 1) filling_color = rgb(150, 0, 0) icon_state = "meatwheat_clump" bitesize = 4 From d6b7e19ee8164a80724152ceb6c1298c23bb8359 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:46:48 -0600 Subject: [PATCH 253/392] Automatic changelog generation for PR #11028 [ci skip] --- html/changelogs/AutoChangeLog-pr-11028.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11028.yml diff --git a/html/changelogs/AutoChangeLog-pr-11028.yml b/html/changelogs/AutoChangeLog-pr-11028.yml new file mode 100644 index 0000000000..de94b1d35f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11028.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "Meat wheat no longer has blood" From 40f7069480f22f41838f308f71909fc27715a866 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Sun, 16 Feb 2020 00:48:22 -0600 Subject: [PATCH 254/392] tgstation 42495 - the one that makes more mechs take stock parts (#11011) * i think i got everything * so how about that one comma --- code/game/mecha/mecha_construction_paths.dm | 279 ++++++++++++++++---- 1 file changed, 231 insertions(+), 48 deletions(-) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 071fe18408..de1c035000 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -116,7 +116,7 @@ //9 list( - "key" = /obj/item/stock_parts/cell, + "key" = /obj/item/stock_parts/scanning_module, "action" = ITEM_MOVE_INSIDE, "back_key" = TOOL_SCREWDRIVER, "desc" = "Peripherals control module is secured." @@ -126,10 +126,40 @@ list( "key" = TOOL_SCREWDRIVER, "back_key" = TOOL_CROWBAR, - "desc" = "The power cell is installed." + "desc" = "The scanner module is installed." ), //11 + list( + "key" = /obj/item/stock_parts/capacitor, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "Scanner module is secured." + ), + + //12 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "Capacitor is installed." + ), + + //13 + list( + "key" = /obj/item/stock_parts/cell, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "Capacitor is secured." + ), + + //14 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "The power cell is installed." + ), + + //15 list( "key" = /obj/item/stack/sheet/metal, "amount" = 5, @@ -137,21 +167,21 @@ "desc" = "The power cell is secured." ), - //12 + //16 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "Internal armor is installed." ), - //13 + //17 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, "desc" = "Internal armor is wrenched." ), - //14 + //18 list( "key" = /obj/item/stack/sheet/plasteel, "amount" = 5, @@ -159,14 +189,14 @@ "desc" = "Internal armor is welded." ), - //15 + //19 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "External armor is installed." ), - //16 + //20 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, @@ -222,36 +252,56 @@ else user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") if(10) + if(diff==FORWARD) + user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + else + user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + if(11) + if(diff==FORWARD) + user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + else + user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + if(12) + if(diff==FORWARD) + user.visible_message("[user] secures [I].", "You secure [I].") + else + user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + if(13) + if(diff==FORWARD) + user.visible_message("[user] installs [I].", "You install [I].") + else + user.visible_message("[user] unsecures the capacitor from [parent].", "You unsecure the capacitor from [parent].") + if(14) if(diff==FORWARD) user.visible_message("[user] secures the power cell.", "You secure the power cell.") else user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") - if(11) + if(15) if(diff==FORWARD) user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") else user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") - if(12) + if(16) if(diff==FORWARD) user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") else user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") - if(13) + if(17) if(diff==FORWARD) user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") else user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") - if(14) + if(18) if(diff==FORWARD) user.visible_message("[user] installs the external reinforced armor layer to [parent].", "You install the external reinforced armor layer to [parent].") else user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") - if(15) + if(19) if(diff==FORWARD) user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") else user.visible_message("[user] pries external armor layer from [parent].", "You pry external armor layer from [parent].") - if(16) + if(20) if(diff==FORWARD) user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") else @@ -629,7 +679,7 @@ //9 list( - "key" = /obj/item/stock_parts/cell, + "key" = /obj/item/stock_parts/scanning_module, "action" = ITEM_MOVE_INSIDE, "back_key" = TOOL_SCREWDRIVER, "desc" = "Peripherals control module is secured." @@ -639,10 +689,40 @@ list( "key" = TOOL_SCREWDRIVER, "back_key" = TOOL_CROWBAR, - "desc" = "The power cell is installed." + "desc" = "The scanner module is installed." ), //11 + list( + "key" = /obj/item/stock_parts/capacitor, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "The scanner module is secured." + ), + + //12 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "The capacitor is installed." + ), + + //13 + list( + "key" = /obj/item/stock_parts/cell, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "The capacitor is secured." + ), + + //14 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "The power cell is installed." + ), + + //15 list( "key" = /obj/item/stack/sheet/plasteel, "amount" = 5, @@ -650,21 +730,21 @@ "desc" = "The power cell is secured." ), - //12 + //16 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "Internal armor is installed." ), - //13 + //17 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, "desc" = "Internal armor is wrenched." ), - //14 + //18 list( "key" = /obj/item/stack/sheet/plasteel, "amount" = 5, @@ -672,7 +752,7 @@ "desc" = "Internal armor is welded." ), - //15 + //19 list( "key" = /obj/item/stack/sheet/plasteel, "amount" = 5, @@ -680,14 +760,14 @@ "desc" = "External armor is being installed." ), - //16 + //20 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "External armor is installed." ), - //17 + //21 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, @@ -744,41 +824,61 @@ else user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") if(10) + if(diff==FORWARD) + user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + else + user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + if(12) + if(diff==FORWARD) + user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + else + user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + if(13) + if(diff==FORWARD) + user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + else + user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + if(14) + if(diff==FORWARD) + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + else + user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + if(15) if(diff==FORWARD) user.visible_message("[user] secures the power cell.", "You secure the power cell.") else user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") - if(11) + if(16) if(diff==FORWARD) user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") else user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") - if(12) + if(17) if(diff==FORWARD) user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") else user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") - if(13) + if(18) if(diff==FORWARD) user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") else user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") - if(14) + if(19) if(diff==FORWARD) user.visible_message("[user] starts to install the external armor layer to [parent].", "You install the external armor layer to [parent].") else user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") - if(15) + if(20) if(diff==FORWARD) user.visible_message("[user] installs the external reinforced armor layer to [parent].", "You install the external reinforced armor layer to [parent].") else user.visible_message("[user] removes the external armor from [parent].", "You remove the external armor from [parent].") - if(16) + if(21) if(diff==FORWARD) user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") else user.visible_message("[user] pries external armor layer from [parent].", "You pry external armor layer from [parent].") - if(17) + if(22) if(diff==FORWARD) user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") else @@ -796,6 +896,7 @@ /obj/item/mecha_parts/part/honker_head ) + /datum/component/construction/mecha/honker result = /obj/mecha/combat/honker steps = list( @@ -837,41 +938,70 @@ "key" = /obj/item/bikehorn ), + //6 + list( + "key" = /obj/item/stock_parts/scanning_module, + "action" = ITEM_MOVE_INSIDE + ), + //8 + list( + "key" = /obj/item/bikehorn + ), + + //9 + list( + "key" = /obj/item/stock_parts/capacitor, + "action" = ITEM_MOVE_INSIDE + ), + + //10 + list( + "key" = /obj/item/bikehorn + ), + + //11 list( "key" = /obj/item/stock_parts/cell, "action" = ITEM_MOVE_INSIDE ), - //9 + //12 list( "key" = /obj/item/bikehorn ), - //10 + //13 list( "key" = /obj/item/clothing/mask/gas/clown_hat, "action" = ITEM_DELETE ), - //11 + //14 list( "key" = /obj/item/bikehorn ), - //12 + //15 list( "key" = /obj/item/clothing/shoes/clown_shoes, "action" = ITEM_DELETE ), - //13 + //16 list( "key" = /obj/item/bikehorn ), ) // HONK doesn't have any construction step icons, so we just set an icon once. +/datum/component/construction/mecha/honker/update_parent(step_index) + if(step_index == 1) + var/atom/parent_atom = parent + parent_atom.icon = 'icons/mecha/mech_construct.dmi' + parent_atom.icon_state = "honker_chassis" + ..() +// HONK doesn't have any construction step icons, so we just set an icon once. /datum/component/construction/mecha/honker/update_parent(step_index) if(step_index == 1) var/atom/parent_atom = parent @@ -898,8 +1028,12 @@ if(8) user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") if(10) - user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") if(12) + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + if(14) + user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") + if(16) user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].") return TRUE @@ -1626,10 +1760,9 @@ "back_key" = TOOL_CROWBAR, "desc" = "Peripherals control module is installed." ), - //9 list( - "key" = /obj/item/stock_parts/cell, + "key" = /obj/item/stock_parts/scanning_module, "action" = ITEM_MOVE_INSIDE, "back_key" = TOOL_SCREWDRIVER, "desc" = "Peripherals control module is secured." @@ -1639,10 +1772,40 @@ list( "key" = TOOL_SCREWDRIVER, "back_key" = TOOL_CROWBAR, - "desc" = "The power cell is installed." + "desc" = "Scanner module is installed." ), //11 + list( + "key" = /obj/item/stock_parts/capacitor, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "Scanner module is secured." + ), + + //12 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "Capacitor is installed." + ), + + //13 + list( + "key" = /obj/item/stock_parts/cell, + "action" = ITEM_MOVE_INSIDE, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "Capacitor is secured." + ), + + //11 + list( + "key" = TOOL_SCREWDRIVER, + "back_key" = TOOL_CROWBAR, + "desc" = "The power cell is installed." + ), + + //12 list( "key" = /obj/item/stack/sheet/metal, "amount" = 5, @@ -1650,21 +1813,21 @@ "desc" = "The power cell is secured." ), - //12 + //13 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "Internal armor is installed." ), - //13 + //14 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, "desc" = "Internal armor is wrenched." ), - //14 + //15 list( "key" = /obj/item/stack/sheet/plasteel, "amount" = 5, @@ -1672,14 +1835,14 @@ "desc" = "Internal armor is welded." ), - //15 + //16 list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, "desc" = "External armor is installed." ), - //16 + //17 list( "key" = TOOL_WELDER, "back_key" = TOOL_WRENCH, @@ -1736,36 +1899,56 @@ else user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") if(10) + if(diff==FORWARD) + user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + else + user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + if(11) + if(diff==FORWARD) + user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + else + user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + if(12) + if(diff==FORWARD) + user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + else + user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + if(13) + if(diff==FORWARD) + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + else + user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + if(14) if(diff==FORWARD) user.visible_message("[user] secures the power cell.", "You secure the power cell.") else user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") - if(11) + if(15) if(diff==FORWARD) user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") else user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") - if(12) + if(16) if(diff==FORWARD) user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") else user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") - if(13) + if(17) if(diff==FORWARD) user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") else user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") - if(14) + if(18) if(diff==FORWARD) user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].") else user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") - if(15) + if(19) if(diff==FORWARD) user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") else user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].") - if(16) + if(20) if(diff==FORWARD) user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") else From d4072e3e1a11186d7829209d37d9c915316e6888 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 00:48:25 -0600 Subject: [PATCH 255/392] Automatic changelog generation for PR #11011 [ci skip] --- html/changelogs/AutoChangeLog-pr-11011.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11011.yml diff --git a/html/changelogs/AutoChangeLog-pr-11011.yml b/html/changelogs/AutoChangeLog-pr-11011.yml new file mode 100644 index 0000000000..d0a7b916f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11011.yml @@ -0,0 +1,4 @@ +author: "Tlaltecuhtli, ported by Hatterhat" +delete-after: True +changes: + - balance: "Ripley, Firefighter, Odysseus and H.O.N.K. mechs now also use scanning modules and capacitors on construction. This means that they also gain reduced power consumption and EMP protection from higher-tier stock parts." From b60b0a95aaa8cb27144244a56487c2e50540a4f2 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sun, 16 Feb 2020 02:28:12 -0600 Subject: [PATCH 256/392] 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 257/392] 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 788a9f5b5981b229561fc6e101f7da1ae13deb73 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Sun, 16 Feb 2020 16:39:35 +0800 Subject: [PATCH 258/392] WOOPS --- code/game/objects/items/crayons.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index d74bb28602..be6814d406 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -711,7 +711,6 @@ if(isobj(target)) if(actually_paints) var/list/hsl = rgb2hsl(hex2num(copytext(paint_color,2,4)),hex2num(copytext(paint_color,4,6)),hex2num(copytext(paint_color,6,8))) - message_admins("[hsl]") if(hsl[3] < 0.25 && !istype(target, /obj/structure/window) && !istype(target, /obj/effect/decal/cleanable/crayon)) //Colors too dark are rejected to_chat(usr, "A color that dark on an object like this? Surely not...") return FALSE 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 259/392] 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 260/392] 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 261/392] 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 262/392] 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 263/392] 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 006e05fa34289dc1ac93777eb8c02aedd684b184 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 06:10:22 -0600 Subject: [PATCH 264/392] Automatic changelog generation for PR #10704 [ci skip] --- html/changelogs/AutoChangeLog-pr-10704.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-10704.yml diff --git a/html/changelogs/AutoChangeLog-pr-10704.yml b/html/changelogs/AutoChangeLog-pr-10704.yml new file mode 100644 index 0000000000..1acd46b51f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10704.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - code_imp: "Slight changes the self-repair borg module. It no longer references the borg that owns it." From 206e546254ed4705d768c82049f7b0812c9bf5b4 Mon Sep 17 00:00:00 2001 From: CameronWoof Date: Sun, 16 Feb 2020 04:15:50 -0800 Subject: [PATCH 265/392] 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 f0b3021f5df09950743df6e2d9ad113030e26dbe Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 07:41:26 -0500 Subject: [PATCH 266/392] I miss my powergame --- code/modules/reagents/chemistry/recipes/medicine.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index a07e7697bc..2a8b39e26b 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -68,6 +68,12 @@ results = list(/datum/reagent/medicine/synthflesh = 3) required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/carbon = 1, /datum/reagent/medicine/styptic_powder = 1) +/datum/chemical_reaction/synthflesh2 + name = "Synthflesh" + id = /datum/reagent/medicine/synthflesh + results = list(/datum/reagent/medicine/synthflesh = 3) + required_reagents = list(/datum/reagent/blood/synthetics = 1, /datum/reagent/carbon = 1, /datum/reagent/medicine/styptic_powder = 1) + /datum/chemical_reaction/synthtissue name = "Synthtissue" id = /datum/reagent/synthtissue From f4734e44f0a9025925f3985cef886791ff779442 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 07:52:34 -0500 Subject: [PATCH 267/392] o ye this should be something else --- code/modules/reagents/chemistry/recipes/medicine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 2a8b39e26b..d0d23860de 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -70,7 +70,7 @@ /datum/chemical_reaction/synthflesh2 name = "Synthflesh" - id = /datum/reagent/medicine/synthflesh + id = "synthflesh_2" results = list(/datum/reagent/medicine/synthflesh = 3) required_reagents = list(/datum/reagent/blood/synthetics = 1, /datum/reagent/carbon = 1, /datum/reagent/medicine/styptic_powder = 1) From 38f32d28b79173effb445fa638be2426d8412c49 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 08:06:22 -0500 Subject: [PATCH 268/392] Mixable Synthblood --- code/modules/reagents/chemistry/recipes/others.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index b463b5758b..64a4426ea0 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -743,3 +743,12 @@ id = "blue_glitter_white" results = list(/datum/reagent/glitter/blue = 2) required_reagents = list(/datum/reagent/glitter/white = 1, /datum/reagent/colorful_reagent/crayonpowder/blue = 1) + +//////////////////////////////////// Synthblood /////////////////////////////////////////// + +/datum/chemical_reaction/synth_blood + name = "Synthetic Blood" + id = /datum/reagent/blood/synthetics + results = list(/datum/reagent/blood/synthetics = 3) + required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/iron = 1, /datum/reagent/stable_plasma = 1) + mix_message = "The mixture congeals and gives off a faint copper scent." \ No newline at end of file From 313f544aeedf9f9ad507a19824e833276d711921 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 08:34:08 -0500 Subject: [PATCH 269/392] Make it require some heating --- code/modules/reagents/chemistry/recipes/others.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 64a4426ea0..6e13209f75 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -751,4 +751,5 @@ id = /datum/reagent/blood/synthetics results = list(/datum/reagent/blood/synthetics = 3) required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/iron = 1, /datum/reagent/stable_plasma = 1) - mix_message = "The mixture congeals and gives off a faint copper scent." \ No newline at end of file + mix_message = "The mixture congeals and gives off a faint copper scent." + required_temp = 350 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 270/392] 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 271/392] 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 272/392] 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 3286f43d9094e67708b7e4bdef5a9452507b0d71 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 11:17:54 -0500 Subject: [PATCH 273/392] Didnt know I could make it a subtype --- code/modules/reagents/chemistry/recipes/medicine.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index d0d23860de..0b32952d20 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -68,10 +68,8 @@ results = list(/datum/reagent/medicine/synthflesh = 3) required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/carbon = 1, /datum/reagent/medicine/styptic_powder = 1) -/datum/chemical_reaction/synthflesh2 - name = "Synthflesh" +/datum/chemical_reaction/synthflesh/synthblood id = "synthflesh_2" - results = list(/datum/reagent/medicine/synthflesh = 3) required_reagents = list(/datum/reagent/blood/synthetics = 1, /datum/reagent/carbon = 1, /datum/reagent/medicine/styptic_powder = 1) /datum/chemical_reaction/synthtissue From c0295156ffe927f4a17b336cc9c48ce49904d368 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 16 Feb 2020 11:42:30 -0500 Subject: [PATCH 274/392] Adds synthmeat reaction --- code/modules/food_and_drinks/recipes/food_mixtures.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index fd332a38df..0b297648c5 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -101,6 +101,10 @@ required_reagents = list(/datum/reagent/blood = 5, /datum/reagent/medicine/cryoxadone = 1) mob_react = FALSE +/datum/chemical_reaction/synthmeat/synthblood + id = "synthmeat_synthblood" + required_reagents = list(/datum/reagent/blood/synthetics = 5, /datum/reagent/medicine/cryoxadone = 1) + /datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, multiplier) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= multiplier, i++) 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 275/392] 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; z8~B~5@p3zK=*yF}*P4B7;wRyXQ+Nb=S$)AfV38?>Hc!@JI$mutsk z{3UE5=Jw6;L48ibh0`u(0z`|eN&)~wvo>9;419wg)o&X#`V_F9pd#A!$pr;4YCpzX zLaMEU=b+v1QL_%1OAbYz7tqNE)DmP(7+%zdO?X*7eYY5uGS=-}-A(uwAI~}HYxROJ zNyfR*e!bhYzo>{690zD4NP?nh_XQE;qAI?#Q)l{@$sUYrWtivAmi?WdY} zI_6)!OvZJtANk2&af_f-Ab@=ovoD7j7plSTS3K>IH<|mkqP)PGb!}%jZ6qd_b6qUl zm^Nq+x_6dcylg#$kVv^r{wdG$vW2Kf3K&s;+ zJPWs9?VJH+=5o!w_g-)8em#Zt(c(~Z4y=nCVCD(b)A#gVDBgUrQ$M)1Q7UPhr<3X= zl8$=p_DduSjDl4&pVNzo8;H$z5pGluOk;S#VoVf|ui{EFi*TL(x1GjJaAPs--z1o2 zFZ|inQl?I9A${~?;$VY0;4+1#K@Xj?K0{TbMzGdi0Q84zxa`qCMyf!&o$e z?xD||lq&C~|21@wdiZ{8Yh8p+s=T4;U28;vN1e-QZSAJs9q(*3JMO4(S?phrRGik9 zHfUp0%hty2-Ca@4-&&{-n|dXwj*DSY+7X6vRzR~#yE$(r8&yvWCnPD273L6v={*rB*R9^XjrC`1g5VVVS*6g^b2d+ zv08rkNJ{d3x&z;-?Z+~P)Z5pG101IsKn;%}q8K;~aey(fv9sHs^;sIYk}3yRt2?NS zCoY;L0=fBpH?H&C3Ww_B+j)JBJ>vjol>2b4>|lRKT_V=m>ZGq;Ai2gT)Qfrbqr~T! z1p^fC0@>BIPZDIaFk9|;wy{zV@(Ml1w;=ijRh7P8zi&kSBT&^;tp1u-rJ+cmE4rRgPkJk08Sv>hpzlR2lL_2WIrwi0W-?)RrAy^m+4ggO;>2{_KQ zsp+gPXUTi(dHf(f7TS9aMJfF3O$8-aKn4xbg~i25`O;JXi$dTr!^6Y(S`goz8+V+o zvvZ}lAG05~o2|HrACIk5{B#)C(l}fl^koY$4`QP^%9>-Ox!@=^?+EvseaNNv$>VKm zTx9r4NaMPB3BM(#&{0@2U8@EhNOcT< zSWk(g)U(g7SOAzT0;O#j(7xcwlHUvn#0SMCCliTwPfk6u zNso__A8@*A=grn!h!~PyTp2AI{bV^)9F8-6)YGHo+sD<<`nMFxd3y~`eb z>pxu6otLZ_S2ulY9D@uYyg3FpwSPhlr2Pn4Y^5Ivrc0NLb|Aj9WC=CNyA)dq?j$uW zv|H!ouv#V9Tb_;&H8M(2p7m-EEUu2-y!7U?aYqe~=J(Yc({k*Po&tko@{U}+)aU$N zr-v@yaZ%DX!Uer1qa;hL5#ou)D#_aPm_QdP*+ z@Oh`d$t#0ooajqw$f)=UQ_R{xKL{RFUgjW=S6ENBAkeOME(`{pCM)G@Fx#N;<3+*I zURWY)Paeggaxm~t`Xry5z*Z=?^+OG_nk&f^kP|qn%KKl)z>WAgWi~m#U1nQn!F0Mq zk`M4-s-0!mt2;FvvY)FB!9~xb9_TH!K~Zvtj|z3I(W1`G5q`)pUhylf0uq;e=>fDF5`~;}8mg~YM?8OE zQ6kHb$4Dp8FORYHWvNFQ?^9(d9IktqgGmK=nfPf#xEDe zk{vD!3qk?(%7S+7=JsSdvK;o=bWn z3C$9p8jL&4;;X3X(k}#KpDyRtQWoKZ-R9^&3bwXgtk)FHRLz7`@b>Yx#QJ#4pv1Ci%yyr}*G5Ho zHqaX}4WaP{19SSMn!eh&waxSAOCe!8oJfSJ#2={DM&0 z-TC$gXdsYf$*jfQCI>$m#iPegp zEV}!_KVsSdG|>&2Y_dwERjMEzEvM6a>fodP z=8PEvnC!>;`a=`Une5kvg|&cB(Kw(5>`iP$#2;|_y}U?nUKJyk^)vYM{rlOGH=BR) zdE%$dt^8}>j2yTcZ69&&Hs|&}d)gu%z}pJ5v%k>@i*2PeL(Q{`V#GV%Yn{-3cXwZ@ z`}(Mc7MDE;wJ;J>^wkWacFZR~yh#JDb&s4O9pqVkI!@Nqm4MgpKq*{b^GvL)yxI?; zy}CwQgG1&?`v1iErRQtKphnB;gEc*1n#2%k}+n{5llY61eszD(WGt+u-)}9op*?smUFN7**=gKwDik6*ewFIoEjlb@16h1<)s!an z9Scw%YG@-5WZv8B5)eVaUGeLca8bdiH(t}*YoZ1*?U9H!_`Zw5dW$?svtS=>mA9GHM^jw6^EM z+j|nOn_t$1v2?*6V1C3705Jyq8bRw4V8Ep<4eu6pLl2{8rGw5_E;cOht2~}L?K*~{ zo%hTQ5X(VOLMlPt-P83FbbR27i?4c)faU?&XH@peCQB#A>UG~%xg=C~lmyL_uKqJ~ z&kfxj8kH575rwQkwFswp<;KEN0~)%+aeGf8{k=r!QBcq;zGV{) zY8kyAOydjhpB5Sm=nS@^+iELdqhUkeofe9)Ol|mDxm9P2?PYAJmF(F5A4x3TKBvXd zGzolyzMHC4xi2nJU!7+LmQDFe&q)s)(#NmLmmEPXO&zY)vS}l43W$z@7Kf5&@P%#` zXx!u(x=-lT9@PFY-&mJQRT#}uf9<_KT@X7zFXWn>l2W|T^YKN0+JyyBM_N;}(uD|d zl5@tO=k*6F+~Lwl{4{xUgjeZ~0+}2O%HH8F3z^3cofoL~Kztd=fLnsm9tu2>9h+n6#9?v2xI z3?j#76CLkYo(Iv6L_=8c1~zGUZxi53!7YquV7WdTTFrj6Tu-(x#}t0^cjtFR6njwz zabya(Q)rx$>B?2y6TLQmP(-86e_5F^9 zK0(y-@x=LTQX}I11V9pK47Gl_Tl2u-(bGT53U2OvIf}{_wQRiTGo#F(ZJbNlZ2Suo zhs@+F&|-y`>4bR6`3@KmL9#CfJ&(a$z)%Hhjw?agY_o}WHbT8K?X>1@3kJ-H(g}FiDO_H{}X!09I!uGE;q$jx(ObCyo-d4H-p>lA1uGbd^x@qCPBgbny@jms*hIKuGF119q>>EDk$f~? zyeN?OT*^?9fnCLfV)6ie|v7B=fiNF zMDX&vig7q)|F@tej8%TY`;ffq`7mC$$g9YR14vbDy;d)BRhPrd11*gbf%<0%`q)R^ z1+3h9Q+o+e;fKWfQv}-A-XMRk`;NEiab!)psmy%3Hl6TqO zj9Zx%MsFyXU$RzHU$}Vb(j|wFaXGJ3sgrd`NR9^roLSslgcx{obJmzlB}>cm@~&2N zVmz!mq2Q*SIGcNPa#f{`|4oSfQwns7y9>!jorc2?`@}^|M*rmh| z8_jOaJr^bSny97|c*)aqieKG)HmY|QkXG#pgOB70RaDM9^Q7G*kS(+j;Ad6_GJ_eb zJUu;~acZJ*X19N}|CG+gzm zN%HdEGos$|{gt7qsrhVgczp$UxnAg_{9UH=qa`J(|1Dh9F8yz)8xYa}amYwRLsI~% z$6~znQM0r4kH8M>J|h9bXVr)yRSREuH zld;#QxleHaqHAA&w*+ld7HaUTC<==CMuk~EJHxGLLTVyMSvibq zBKW00RNr2(d5F?snr6X)ah61v82M3efN)yZAY?KTB-Zl#Qe}Jh?rXDJr-D66J57|o znj5Ch!ngKYsgd6YXloVYI)#BX`%{L7ajtbzsdCcYV8kjmcNx6BwKw<1{0IK8s8Gi=-gMS=wmY0bC6Or6}3yYgG^uCN|e z6xJ%cCO`!7OqxIzBBUdOdSM$k{-S(2j^ns|%U4er6*GEOSSza|s>J&=IKe>5v%(@( zs2yJP{WIK;!{(n`p1VuORC0!dT%vgKuKw9LGeXZ&=UFSS^-rPjj7HY1hmKH)Gles;rW`QX# zC}6FI5ZfQd2cxcnxy}wN$G$u}6Op!PXa?qb-xW?lw_vMndf0#;u@F>BaR4(6s^su# zfbs~8_l@3bh2Os2cb=$hs|)sLuz!BRX1s31w{PF_QyfFM1{7S=p9O7p3216)jD}K( zaVe-`;D%TNLgM^;Tb}p-Rkl=8vIK&nXBU6GJwSHeO$)CP?GhB6tPcv-*GCzyyz*)& zfn0lmShswTst`Au6}Cwx7g-*KXk)G>WwFmmg!DRip8r<47z8Y<*QF=Sse}d6iZ59)WcF+=kS30_xp)#DddGF*=X{O3+u?_IwnH`|Gdo!s(2O)i*GZ2G~7H z(}u)Y-!PupJUSV;YYiDLxIP6^=i~{Hd2W@&$U?lKvA^OJ}Ueet^u@5 z`ZF_;mhxXOQ7E&{zbp^}MNwX}A}F(^CqDpATZOBUxGi|)KHo}{$}dZLyJelO zoSne0(y2V!SQ6pYdul*wpr+xXE3hiW{^fn6ISJX%DJIFN_Vez%fM&FEA>JyW1dvcf zPVeO4LoF^}9qKCJpNt|Q!0XyjYhk#!S;TR%j`peO1F-xGr-A-3N-F>+%Z^KUMI=u- zmc?-+MkI*_mY`hkhq?WWz;4JWWz1KQoqZp8PfFYhN}oeHb!>Q~Xe!!sa2ph=)DX~3 z8+jKaKykXLBH|fi2TOUDqUfg&u7Zj`_*(7Md(%Rs>74M|gMB=zdu$;a7^^4P^Dd_E zm$U{<)fqP)n}^A5?udfiGmQT#0uWr&2FT+Px4Kla<^1HJCnrq-aRQXz3`TXDsLTP( z(W^(Sks}^9`uRNhkF8`p-qu9Lt;*{1QapxcV`A;+hd82T{e)Wmua5(TEq8gqm5lng%~pZ%}zt&I!pmXXF#Wt&B#X8|~;jMz_&LN`Ab=U*$Z+Jql;j!R`_ z(O#F<14zvR8iZI~WcXsKIDdh4M-;0lCi2?vR1kVSOl*}8PMRtH+T1G!MDvEQa8a%A zF*7NjNWVc<_D6r)P;0^j(x04R^x+rx|0sjR$UDl3LlvmjhPhK|| zH{G6h!XFk0|15CnV>$%ec2sU4@{4VBS=3!+0z?w3pj`mMx*EDcu{;U`Ap^K?R_N!`0; zzrg^mRR`y$WoLcw5hF@gs3ni}aCh>0G^O$#jS=OP`UbmxZam@i#X*t$9-D)n=OE&G z6i^E+v}2{A54u;=H!jq?G2{F0-8&&c!3rP!r%S%u{QFPhj|+>DPfDM z`^HzMQl~3z!U1<>G+X05Wdu0DooHhtqebB~(C8%i(ly>IwZahGFBCh0LZLExoT~%> zk{<{Z`;H(b<~mHCUHvFOKnv=Ac`}{6hlkb+dUTJT`nh9p>AIWt%eW10ZXjN48@$8Zog1vTQ+XO^dnH&b=- zE>DiPbiL*u2r4pGHf62~%-{B2T-svVTQG+HE88_RaW16#Ie?{ng>9$TD!-1nNKq7#CS9aR@6tO#>C#ksN02Tcy%UOnKmtgW z-Xusbp#?&6XY~92{r~&yJI=o2?!C{+7z>iQ=E|CF&F6jJ=Xn#Vq9lL*?A5an2;}_Z zM{;Tq2yq5D{LY*PB{wXYgTaR_Pjzi)Ia4QNN6S~vmiBfKhO)43DLU&&+rPgBM%Zb*~2vFeuiggsr|8%=>Yd@Ik(kJZ@!KeCl<;$N`dcy*1 zl9YVK3$p1b1SV7m9%;GuDXfOItt~pMJ$jm|9fH9~&vDPO$CIx~ylx~Klkw=TQ2hEm zdiUN{lc+4*p8LzRrfIzQk;loFJCB{F@`2lv?ZcCOql1vKIgz7>AGn^kF-N?OzppRG zqT7~k<0=K^UX%>6oSscUmD3G+Tb{d{66LSj*2O};^+a3OrBZ2GbpF8@a7yv?m_!!ho8GG-#>nvMe%vu zovk&xrbpgOF}K)vtPIBdUX_dt#|}GA-8+^?wGdrCED0)UzmKzEV5~nyT%l5ZFEG}oyCKLY&y`!O z*^p(FDJ+urhx3;uyN%BWi9V(?e(uMvZ|`He{Ow8}5N|jP^)Sm14lP)al62E7O{ZR) zdlWjjsr24(#ZqufGi^XbGR^S5!ojY)%&**CYM~!R0~O;viz{>6qbD>wkr<;}EKe2D zn(cSfgA-8ElNIAnh6WuPv{$M)uiVnKdwwbWLgP+{z{}AoT2kY$#kD+VJ8F8nOuMnl zClKt8r zzuskL*IW^ZkjE%3F=x!>yWMCu4m6*B4~aTF2^DENa~G4eBTSMp{+P@1>Z1R!#Ok4s zpGbkU{_09fcquBz#o;sQNR9v{_fum=?Zl3IU+yq((YSS7_mJ5=9C82jXbWOjUL+G8 zk9}(IouOu`M9WX%pJ<1nv0-!xb!zQU?aVb_$Xj?;<}kEv`QzS-`>M6+rLtS(1J?6y zypj6qzec{%yk}A}GZ?*GD^pk|R`)DTUHGu$bSZUt-%>foH~6Q?PqFJuc@iIfcuc-1 zcQ1AjhQ&!gv)(yd(|+fvRKw*R-I1ri4q3KmPk!8EuxY(g)<@hn&rF5L@{-`++1L&p zTvYOIjk7aIaa4PCXJ+A9O2@;Zh7XnYj4tj7LOiq-7eW?rUv$b(GsW{RB zmDFCi$0QO0VTC-FlU8?6S)1~5S08Sa+Hxb4c_d>;q!3De@q&<^?qwp*jDeNyA65#h zLbxHv_l(xo=ZfCY`rlBOettbLMfjb2(f89l=l3(NP_WD0_?Ar?ezEKR=?HatNBTRm zH6|yxN3JQ8vSlMllFAc5`z_d%C_fCibpf?Ui!xpy)zs-a8D0y~d!P*_Brw9&O6V zUWks)T73HLIpGWKdzpS-$Mi_?|Kh|;>vtQNQ=%sIP&0P8+9dR7Dlwrq=@_yS9shW; z^J;gp+K7(8jpj$9@C>o|XGJDo_*N;}y;~X@XvrGsI@>M9CkAOUEql~2`&S_3+OTfu zr(I4XZ#+B{n3G3D-R*)E5O8+XCIhDMc94%KURo*+{+76He~0B0_@Ms{8jm6Vbq}xi z6ti>(uOt8yazgIp-^ROA1Y)p@tPan)_(bNnoi;~Tjq8jg!CPU3!1Ov_F6M=b7jMfq#9o>o7Id^P@ z8^yTe%HA4jVGMHb;a3}C@VMo{*rl0FKmD!dRU}o0j+A|}+xzTvcP0<(JtL#IujE=! zTR`*Tj(#3uXU$b=n{r1uNY!=t`INmiFLG1*j<^rZsXQR{vrqTd^ri9K!N|3_ehUIq zb)84>`wuPMw@(L4Y`u+tFyAnlzV`iSo1Z1uKiwy&PvMQ1WMLtrx)E-w4O^7U_p{_G zdXpJtFX_VuYr?yIZp7va!t$Lo5F&9UN>(`J^FpdH&=yOl#lca9UxZH+s23&;l}BG{ zOomKDLPA<|c<{lU(34Ae9Vg|Ig9m#@X}s>UF58I3c;k*rsJf?`VM~LAfc1vn4@$=7 z?G>w`p&`~g*NFD7%fC9>wSJIY&Rytk#yLpnvzDK0R+Xw*EuHN35WrU<>ans&s@i;o+gB3??Q#=cwhu zQnyY0uV26JT4=5^YRWylCLy8cL7C=Med+StEeIb*8V4P#rcyptqv?PvU)x8CmhFrt z5~DY#xKZ{zh#3)7K`YkBxcD{#zU0(tJN5>Koxe~st&{6rTg*Beg2*Y-8$7Mx{x7~UTTb2=pipS52c{AtauzV!HY*$2Z?>m?<|{X_le z&h*AHzBIBviK>s7TFGm|v@|!BzW#b_$9{|wUCq33{nc;)`O@7U!cK)LPk;-7>FOPR zjd|`?Oo^DOb8<1njigdQIvRA!<$ic9wRm9f@usP5(ka(P=JAf-8QrAdAO({V5|U>x z02ZbUMqavgrYAQao5h+P_`Kt&p!)sq)880~AiMb=oVH^;Wlc+?OPf|~Z~R7@oglwr zJRLr(?njq)`eO9&%Gjsr{{R}6{{U!q5B5(}6X0i$Jqp=F^8#l)W17K^!@0d z2%cli;M}*1`WMVfgssj9;+wMgmXuSy3~k=;W*#>GxF)a|iVR6|BpGbVH$lC9#FIgf zW-!PoGx)TePdYzeQ$uTTJQhk*gWjm0Xb{N%kfzJJ(Qs^s1z^Rr&>&UKkpRad*2z(u zP$#c9n8IWRba}1r(tbcM*4S5glnb-k`xIcH)gpB1{}(PjPlQ3BJK7vBc~lDnBuq#*dDFaZaoo|E)(EY{?<;tDQUUEa<&LbK)n`iM>e)zSKu34rL zt{#)~Q`8!4TkOj3NYOjGjNYCA@QRl78R>G@Z48w833%qOkDBqtp`=4rut>&+_xShm zPTsd+m&tAXTL&iK~$SJwG$Z2(+gvIv8;v_T5!lXf)z8|g8`Jn_~)^o740tiDS z3Fe9zi`}*EWh4QJJ{5g2=JU+hq^ zuzh1+e`~Q?QUuPtuW(GNpl1>&@AtS|_2tW!x}qH~Bc(h#^wV14j`9weRFo*u<@PU) zo4Bf$F|;dL+QlZoRtaPJBP=>phBx`x+|a;h(93ig)0Kn|9e4 zFI0v<^d}#>*$*R#k8J9|7QMz4ruJYb@JUeArY%)C&qd`1x^QC+4R@$5yjmo;a|E|n z<38VLXsSguqdXA>&ZvmC35M+}d^rn7v)!hiX_Nh~zVqWA#k*y6DAIxi_98zijCZDy zxQQ$n;`ech7HeEQ?bFsJ)_()1Q4=Ns&RmcOfiPm%1Of6+uIf;r7DEAywzu?2`7a$6 zKuPM7tQV<10@J5%(*R*G4{WXw%yTOArX*@c5;5bM0Eh9HR52A6v~JS!?(U;@yVs$j zefKmqNMp5b!Kz=esUx=@(xxq@wW$3(q zB4grd@m;+Q!k=M5BOHF^wZro&RyMX%1T;P&Jpi2uT4IDqChZ+{`&|3D+_VJF8@7d9 zxS~?=7!&MQjVkzxErM#XqwG&=Zwuhlkc~}wXG%IcUSew;eBZ-Nl zTQT9@g)ENRScxxb<-At~h_s$2yizLf29HE>s<=bVavBWcjvY&mg_1W2X_2Aqr)tIi zSF}$p@4l?EG66gqHv949=J2EhT>MD9PjTF7fh^`h!ZF&iszQi@AbuGY^c3&^RrQXAbh>{xlOFRsf zlz3k{I+ZGXC;s*7-b$o6qk?(DSqci}_MfQMxmT>fVeO&GY)njxD!D8G%NJyDbaZrB zOK5wf%wqxZTMP7vle*HSpWrrvJxEE>`}yGPk-h zF4Y(}(uN)GHNnlS5M$DhUNy6(OX3(3qW!7J&Z+rga~*^78@bh2xiC-QL{@fRV;+RMmG@lEAaUfOG5`oFB2iafY@5dyJH3=MiK`T~j2PoT^5EIx-Ym`2=+zG!&m zzOLEJ`}?gD#C|(tjh76W0~8Zu{H$+s7;aqf^2_vp#}7fBGbLkNH~sihX*KckW!!uG zh593G)Q@4*j2Ojbr@Evr>;y11+pz4&bC@|rxs9VUe)i1x^`yJxs`XMbzo^V_OX8kM zWKD6aBbKdl;HZ+d_Pb6Sd4t9s;q(~=te;G8G8a-@xp-8I%=sMP9v9^=oV>r2Z=G`% zVbHBO=Z_(SG$U%WHse3)D63WCzbJld(;IYc1b8lEoD$$+)9R zR&E4{lx<1O?!{v@V&08l3OPZAHyF1l=#qUL73?1FnFh6F6#h3v`0&8SNbg>1hCsml zobkR6#jB@IM7SZ}yerihry=aNkMs;5q)w~{y`|TofBqZrZr*5KbZuLA<${w;k0E}V zKFgyrf8)zgWDG+o1nQepU9Ku<&j4a1Xf z1>r>llrjJ@&xcTa&U34u+Dc&K!z-1k1Y+FMp-WKq7WfWaOxg$cRPfW%j6Q9F3D4BH zwmX&|f8BKt!}1=3nRyHfO>Hi-K~q9QUa(+>w+#YxWG*q|yVAbv&=%~rW3!t+vhzK0 z6p~b_Va-#z&ss5Q*0#?i{>5Ql?$f7Ftj0LcTWmK$g;Q6~zW!KdZh|o2V^(_H(h*8i z>eETtCwQSd4U#7KL}5JLQmRUGSQW?4zJiVy%@Wu77AF8}bU&QCWRr6D!h+k{eGd;b z!WV@fbf$i()7A6gD#EsbHII_|mzG_*(PSi(J8Xb(OA^8@7G)(obOvrgjHu683&|?s zUYM{kprK1Th?$oOuuXG)$uTGzZdP`LO*VVf125+`5sVVebhTUEN*L6N!dGqnc%7Fz z5yOJ-N&243ZGui&j_SlSnHmFx|Kyx?htB?N=sAiK2I@;B6CY*WcQDVh4b*z|8Y~}~ zXdjB)`Q6F+hmmqVK9Xj5&o^;Bv(pLrz*$f0Wd25DWaLjR;&?+Tt)Mf-03(m%ARc~*CuaS2Z@v!61?N0FyM0K0L%E;9Xq-}F9pLc z6(tt9#KL!;i>bvUUTKJ@eq0o0AOOL2$x2q4mT==?r6rXp`qD-nK2Y$pYsp@y+g8|C znZzD3^cv&Vmm&S}B&C;zvw94Rnk9xX>)gruSk*CBGHK>N=t1OvI&eQ;^14e`I8CKc zFMkxhzgKzMzi*2dXiFiXEu&g!E#JSrs54)1B9%11qkr$y|GPb^|08bPqcCQ=ez5Pc z0rT{M&f_odYNgk2{geIQx07Ib7irTk^z5e7u|`pPWre$62e#6@1uG6_G6Hivt(ceq zD>1i%qTY2)`f98mfZZP_l?H>gW5}!#241wL>@6qW5_sRYXco@vcxF14;5Jpa$+_lW z;?qX4^X~{y;B(KAnvs$W0C9x`8z^8njruwJLm>Elnr=S?GDd;s_Tm4~$iMj+vq|ja z$j{F~#wGZ+&voD2vwQBRofe4sv zd&<7q2H4SqPJ!+EvM?fBsu^B-S^xbK{{=$oD zb@jssxX}Hxix`e^u9*K7GE!`-7a9XdAQ7F6U|@(e`eIuo&YX0yT>K)ycFJkZRio2P zmNdijVZBaX!k{PW^I35s4iV^5I2eNyLS+Q3+n@XjzsE(h!X7hz$hm|}=ihY~mSM2x z+(DY^tgqCj=b>1d8QBCoWL5Ar({;AJqo~L=L%6!fUjNoEv}D$Jcded zVdNz-GX+`*L~tqc;&yx#`91psc?AUvU9>Q((zH{WY>9@`Z9+H#K^qiNUJ2JXkr zN6?CVmZT~H$;xJTV_V-g@^}VSafT%vs1!VXm=#phQ-OMD(dTIloyNPOW_ zocSs3liTjpzk8A~!+^n)M92r5w@$xuwKT0%7A}fi_4%nw#@e$&p^YHoU1%*@wzL z#IvW~tu9^OW6|^d7UYIMz9)S1QQypYLw=IeJ!yXsv-TuPT%x2#IKDUMq7?zIl@cd@ z#K2StH-U|RyoQg4WU^8ZC)0O;IC0~20-`-RNG>Q4CdkTprb;$=>n8|e9+kNOPwkrB z&qqU}qsIFs9GviTb}$g3R?xlz@bzogv%Lf~*Pft@yU})z-Js2C<}1zEdJbSfUkN&u+Q}$p!aIHGB0a6XIdd{O z+ou`LA4i8J)xb*(WLbjp-{GDtx`#(!YiniljmGDDBKD&X@Sv@y`dDPGRZu%$Q#JK`j zG1(ql;WKOyR<)LJ)B-$*{<>%FCy}x<`-50zP4Uzg=COcV2@Vb8%ZzIR3$6OR%Msjf zlFX03AH!BY(B~Fdr$~buoC&HgUMz&~By6W{;B;>N9V88@d%4F_aQ_c~=leewC;gv7 zbv0JlqSV~FE$imIQ--}U&W8cLsa<{6Lg(=-I0%xz2d>-%v5w|N#tg3LSQ3V(f(*{cnBOQ4+(70G0a%IYwgQSd-TP!Ub9Gx(pE*m23@s}T zZuB1RnC@=r5vnXjwQ;z3Pqw`dwUD_w`|v(O39iY$IFH^76Q%@4p9PcsiT}9hR2U2$S7=KOom89&HI_w`PIquEl zwgYcfu*;(h6)|lrky0d=YzN}nnBa`&hi!?*8pkS2j+KdQUU3C3;z$o%U#}h9FDl&;)N8fDWCxAV>xwE7xkFB_% zmrr^bAW>G^npZ^3uNB(cVTm3kb4;DyQya*7VQvKgpBFoqDTa zab-3ZTiHknyLUuAJ*NG}@4egd)mvKMZ*I4J502qs;osqHC@&?sZ4POU@iqS{pB(15 zELhQqlYs87=G@#lW2@nOBX^d^3C}F03 zc9eQy(}ug{9gCjvT}IDmo!Xe3K7Ofjy?|RMy&=^&y|w1kxqoW`*iIrE=K7Pb?D$)U zy9vh`D!>Kj*R`mgq;8L-bA63iI)9*x`Rr8ts*|sizR7!Q&cm;NqEfd+z`Er|n*{ZH zp{zy^Gs-)oc1VdI+YLnsmK`!({i0vU1@~gi!B4~Laz@X(sikfMbi7aCTQH-|U`EBb zGye8el@$GY7K0|%HGL^;2qDG7*2q&}k{9hn1wC}si2ZzTFFm0S$+1-gzAvx>aAP#Q zB5!U!Z3SW7!aG$8URXj*x1Cfo#kqb;MIfvEZ>+y@x9=`u!Y(?Vom?9qY_=ymD4df^ zd&T}U(*E9@qw#$iWAYcVr5d{ANc{v6R^Bg}(+Id_Py<%HOQv#7zBounO10wgIZTUC z)7~kQ=>pw~#|iAtdu`7?MQwX~6BZ4q6jz5^3C^88fuGctdRx_o6-i_+Z?@a#zazM|3ilOwG}*?O{F zdh}>m@H4e90!G)W@D5~@aUupMDtV$1X_nkW?J1E|) zKwdWkm`OL;Z0-mMef0RTG(bwVX;uKu!^9ze_XF1Gr@CaS{xU8Mn}3po&wMw+fvC`9 z{kS1RJL6}#6W|PnPm~f%N7KCf@ZsV+;BCh&y#i6+XOLD_>Jh7;6m0!Bne2lot*glF zXA7|+mI&MZ!@ZM*SgZXk%MP$GulsZycXCAtA7|cQr7|t|PVmkTNMM;xBU^Lhu2UH= za!i9&mD5Y=)C1N!mKxU0qH@gmO9@wmhi{ar;hJ=%{32Pr#xQPGzRDx}fC@ICyj%hs z7QF((uG36Z4*o> zeTMBsa|8f$Yuoi!YZF3T9+!lt2ooU<_;vUY_T@9@$xpFvau~Y`E$C6XigmZ>EPj;)1K@kHHGPL{2ug+(f@wH4 zJZ<;7Z@zjU3>%v;udJ;Tz{iQzWeYqy^V%`_=@X32MT_3uT;k~=cER4Ek$c2{f%Bu5 z@bU4h<^i4I==vkU7odSBSOL6z9Ks^6$YCG-?cvc2lKdxTDd1C(2ja?P5Btd-in5%2 zsa?dtT+d>ggrUem3tID5te~f7PGdQvb37I78;c5_acdNN68rYRZ)CLxVL*oBbMrCi zhEH)3bU0#pb?jZ;>YGl=y%kLY|#^#`=5q@0&G7JB@Z z@n5mW!l;>Q9ZA@4ZWP+?-_R6+Ij{wMT)89eACzn0Fkb(`AD(oF<{zd16N;bzY~0pG z)_4EZ`*ffCfM+F8yXv0nR9>VI?^;-hGSflAgtZ-9vFRvbHz3l-^b|XMdw$c69L=I* z&6^NUmjEu)b7;R@Gyj&$gy)Hz)J84G^ue(|^|ci*{o^+M3rtKAqqr|xUpqUG73Yo| z@zfVsSY}=xn-;CFcgihEyg2SAQb@h6jcel6wp%AI0z4#<0rrGfz;^tuVzTggzlL@F zCb8wakRR)=dLL%*&?0&$^!WMsR8Zj?JAvHa@Dc}Kk6TwvS6S?tXvm1sm3%E)(;e>6=hb%YyUT;yyL?wm zH215%ESj@W`;$@G3G}3JSU+@gHldRom1ocVf0cHEE1#KX zb}|bBf{Wkg2fwLc!(Kwdan4|{@oMa*buOv1>@?lH{4!sLMGx(v+V}By2Z5a9Wu#CA znDm(IYQo&pw7}fm68HmE)%VpR`LcXC-}oy6FXhmiVQ=569F5K>aD@Pw2W4;;a@4f< zm*Oh-qmsdcllW|?yM{p6a5%l7ijL0mI?^&;M~aD(OpllD_U+ph$l}kRzk+krbRr~F z)3F>UUSE-$;xi2%bRCfq4<0=VK`hqq5==Xs-eBoT9rJa2letyQ>TDlobX{Zy@~&=%Wys0U>jEoGws|~lX{WSYYaIEcg1I1vD4;_S>fgvoI z_NfL=B0RK)9m{>ZFgOv=vu-y{XOKFV7^noyNN+LN;P%cH(+PW2 ziR0t zWFR>zwAQ|E@_5VLSkFiD;>C+!=6?ov?^o9PnKinrN!<0y*zR9@{SXXcJKv0U6lpGB zbJpwO5L}s}Hx9E@X3mAiETvyR>bbLRVJJkK(gcBf8%vHXGTM~FKA1H-JzVWn>1c8v zP_>!hk}x$jRj{{yxA+xECNOCh#y`FoadL4*>r%U|j|)L88pf@BpYDf`h;_^4HbB?* zLMN1wZ`{9)Ks4AZBt6dh4(Q7}sW0_UUl!qtR~}sGo1WB@d2V0$mMc0344TlIt2m%F zPeBMHnJlvTq00Bsqcb^Ak9h%qI_p^bs>i2PSLux&yX*YzQkp0h=5X=NhG(6RmNy#E zN)o>Auh310E9d&SrKUjW;&^<#()v`hIhyP$MP@C_?S!a^Zu+!U=;7C4UFA2^t`oL3 zJKbEWXpC>Fu~$(+!C5VR4|coyb>U^};}zop8dQ_aw7f2Ztz8SUi;5QV&htlLOv%CQ zre)OZFD(Pon7FviX&1GrxJPQ6Vxa>AYK$i)w~b+5m;LQ+@Q!)lum- zX0;lnuGVRRor{ihzrJVP^W5e9d?cB1-xzbZq<`95xxxW0`TcbN{_VwD(CAUW7xk{^ zwZWdZ3)Wth2X=z%Q_BzSWo1D3 zRP(c9!HyG|hOx@y){RzQ#|g)n=N2T?MO&mZ5=c#%lr=cZpt0jXJR(r#OH{0Mpu zhFfc;sBCU-?p3W`NK}*-jyUSt5)<_dY<7=Ua9RgGy=2$!&F&QCZhmqE^fEZ&k|&J{ z`JNBGbo6}pZt-lkjrCN89SRCJV0U^f8l#$iwr~^+&-eX!*JxA!VQEu*b#!4d-rymY zKDn$gI!(vjA8FQh-o=!Yho}9#TZ;Yif*-@iy&3TFfriFq8{yNtKRWxp*$OMUeql1j`J=$`C{6eqcw zzA%AGaBvz3?3fv3ZUO7v{my|4cGnH|K}|+H={u}LC=aTd{W*Zh>TIz`HWIsckbL@O z`{+UIqNCALZ)(CxVc|Kh8Q%%dV??^zb9Hr+_@2Pa1~XwZ_E*njtT(x~qk}0E%O&u~ z-?QYsB-@^8>HPX|5Zrj})s$lconvfOVp&3<=+I)^_Lkn=q(k)Py?n4d-$9r{%cgml1@AAo~9jn{UHQf)j^Tfhx*g&#jF`Qp8whOjNx_sQRm5<1`z|vN;N*cd-rad z;$BMDGj;V#nVFgVE-UIK2&mSxTqWCSGYtScim76kiKn6~($1+jmYjlYO((~`bZ?`p z+3Y$#1)-XDmONUYew!65U&^*gQOdiNQ6su6lkRc74*WBI(JM_TcBt6lB-A3auVZe@ z3SNl(a4gpxK_A5Ss>{R(N4)^$_lFC|*BpC?8o zHP9U{Fgcf-U=!5o-x?%01N8#I1EuDfymnyE@G>uHA%aoYz`=_kXQ1oOUHS;{jO2~g}jn1uGIjfnUA?upi`oau!fsja-mM6UES>QMvTleroTN*KgB zdz0;@*kck%c-~mBW!MMrjj#S)lN(@`_;Yv^?#%by)j$7CLnarz?+|7@%~}$Wv>I-E zZ*7=c>2&-R4*w_Nd3l^QT=LJ4l+L&tfO20D*q#(&LMs*=2+cN%aJ4^m zJ1-KxTHF@x-`7Um!y*lzdTyjYH*s;7vnot(%qez)_hKpgFVzGs`(rTREsMwR5`NV1 ziA)Ji{<4*}vF`xaw18{<9j08=%pkVP)Zb!iW*-{&zUXV?e$p0n-kMhe{B6sS_UDF? zR#XyacD z9c-V>rQmB&89PwzP63(?-FRgtK^N5*GD!L|1t4}EJ1$z4oNCX_b+*eD>CWi&5Hn*q zEOGm~lip+mX`Z3f=llxAhi1HcO;~`&Efa2Gi%_37?Js8G+PG#8scn+Gi4!&(Z9xru z0T{{8sG_eZShQqY&4w7(eTYuYEP>+;&UH&>`@7EpTblzTF(vk~CoO5u44pE5{;Wi) z6&2$N*@E~Ch7wpUAw8Fv zFIVx}Vy&|kjyu^r=1ka+Eqi~kyi$$wwdiL_pT3E>W}VGF8JqQBYwJ#rjj}u#i;d2& z$@F0hAY?>={z8Uco%sm(SD{MbicXMunqBBRmL-erJ%Rcl$SQA zV~C_7DQKb_Ek7KRkKDrSSa$bGvA!wbN(!4JUC0eo!fhJn!wme_=X2cLns14k-wtr97O zr2i8Y{$#M>@nH#1Ro_NuhjdY zynMP7d93bz_#~9@1%|@~8X=L9L4(UNwGxo#W#?;RVpj__i)7^F0;<$3HW>cgU!k^d z{ley=kL_5P0T-?P1rDX5*5%I+oSk?bwFy2l0 zsMf5o>{3$9+1c4UqniP}9)OyC4GzLCYTD-w;xT}~{U-s??`VCk)H@iAr4J6D$NCGQ zN+iR|KFs<8eizz~p&Ckn?{fpu6*1sIEXm?LeTV1wZZTaU`EL-2<3!s zn_(ua)~^FwdG)G~l3JXe^*I*ih%aAWg)=~_kgl#SPl|_#bQAEEz|!dqAg6iv?wubW z9DDIVN=rQVQ0{> zR~yoWY`^`$ejK<^8#Qeooqwxd>AfXwl#DmqQ1*(!UYaZ@xUJ{07+bSmHSwv$XTr96uA8gGrs?8J6hY58 z<|;n@4FM!2y-XX>TznUkMX|ByGm;a7(gm{%kR5(G^qINL)PT>0&_gdG*4 zb6KKzT)|SeAqu+KLZXKbBSC1!BMl)ny6fSt@0nEVYVqz1*7EjW&pX=hZ{c`|{V;lOn_?C)r)Q(yD5M{8-wfZ=OT;Whh1 zfostzqy!UeM z%J0**;Ph)idYf{v0s75+PSm2DoCN`eK+JlX*ys6JX!>I!b}uHyCAw$w8a{ewjw^eT zx516rseQRkdx6G@4Kn+c+}d~3+!~CF)j??}SQdn>f+<#I+17VuC_m)wTN!orn6>QW z#8u@~F^#eC{l9F#p{dcdQVm4a#I~Ib5%6y(?cC7x?F7-)sdFkq&p)W#wKWC{bQUnb zxhs=)4c5%8fCS(FVakV~2nE_Ir@tfDAUS804E^}&nOZ-ucJq3!fj9-xtLXSRLG7LVW2p1VaiKM)$b=dQd zV0YH&(6nR+jQ_M>P4in%K|mbu>}=kkxa^odF{mfSq4?-NSX{Tc;Bu>6Z#CnOCz*|K zhM8dh3;_K!Yasy?e4F2kQ^Q<1yZ!Z~P&u*}WdRmAylzVDww%yw%G9 zP5;kixIlI3Ej%F}KcNuw(}0SVi0DGu@3!1QmC#W^Q{EJ^B!z5?iy>wPW{6W7xbs^G zcQ}rnu(?ugOjhh+aZOE4jR;hZ-(ge&A^x-XuaLCrBHu;B=ydW7d?= z#G>iEh-p`4P%WPsx$Oy_fgmYo*eGV?c@rE@&vY`aW#(*NYy%_>t^DV{MlgmR9eE;f zdnD;zJCz(x+d1#Pec7rzB`y7hNsNRoVE4HWh@)Qx>^CmrGd)4RcwluJU7bfDxE}@u z)?Z$N>6>WRwAt@KHKNAgJIPqGf8o7j2^Y0Gp$J6$0u*yV6?FzGsbY(po4YV4^qX~u zA@PCj$waN!TKjJI!c^SlY6j!c2Bq#{hb>fgTVq`5sXE{TKRzjrN{Z8_)LyN`?=%&k zphU@|0#2K0&UBPsyVi5rK*ePI;Xmomp>yK?msJ`?i9y z{wH_w(ZfpSU*v@c@OH%@5+A80p6V}YruUhtFd;adp~zI^e!|NHoTrTP1^ zpSo=vHb%B1H#8Q_s;&66{{-$8TSsUM=RMp zH{AA!fCC697hxE&_tcLOAQJ3N`P<6G|j zqphlX3ZiR<0ug7-7+HX5w5}(r^!$8cr!Z%a^xn~sIG`W?Q1cTBuo+Y##;wq=Si9i? zqN>PBFvd5ST()vC4|#w4l~P+5}|#zUO;^x zF@pC&V@kp<&oIm^h^P#&x(SamfaJSI@FpJP7J=z$$LO*Cr zhzR8Ih1*WZheX;n+^!Qo&iL>S;gSWI0#J7QVa4~lEp<)JR=aBJM4#e~M@>TsIRE4? z9_V7!#g+WbOqnqa6(@ZVZEzA$cZe;^%p_uCV>?4muIhPh7EDCQEgFv5U$CZ@J%brz z3G|QC4r9N6oQy*C;u;tm2Z#P^*p09#CRUoy$4D zL%gad9yfl0z$gK86*PMu1j}L@PBp%(daRf#aiM(z+Of5nLIt@ZXvgULqKqa!g86*& z_zdwDVdzms*NUp05H${Bt5m~(YXKmBb2FkWgbRndXuNiBesc7A=H{sK8sp{W0}_Ym zQ8VI*nfle_&vCG|3a$ir(B9LjE@@KKX5(JOVqtWz>GN?ymk91qTd=(GQZEy*Ba7aH zhg@LkJC~;(EdmM$_LhK=3=zQ&FkOr%oG%4Mgx!w)!OzVSrVEvol{{yaflS6IPFaKW zQ4rOPJvHPN_7@#ei=0LG?y&okM*WwGb%H_W?tahL**<*NhfucV{Tbn5;EQ2r_Bra% zM;;$r%YV&H_dN@#Su5*_iR+giFu#Ii}s&f9#mCTeLX&|o9>PF0DBooEM~m^FuXY> z^O{ZS@w#;8@aO>`yl1YidWpl#KfNw-W!y@}!lPf^YApyX!>{!L)@Qwwwo1=3!l_d^g0kf~?){eS|T?*Y@ki0?ylTRm@L! z_0gfjwdANS@92>5kmjxM#zV6%H&x$nyte7;pTS)awQOyC@)3$e<5y6E!&rC5r zx-*1qU+d3(*hP?0oL+bl4Fo5#-fS>S(o2U`0o{j2(%=z28>c)lN7x&aDlrEpKKVe+=8f#$y>@}R-<>(9s*3jhDAaSDE)m*@@OHAW zuxRER%y}}=H~nwx#7Y2WjT{EQ1z=rlhnUfIaw)gMotWA}-t(O$Cx6|u_~Gbf#kD?> z;n?K|*KXYSsKVhpj2-e&9yMw1tH=V?6nO@ZKh8_Ia)p)OLJ&yNdQuoKX z!zg0VZR$*c$TrLRK4zr}AItLB)p!}_e@ zg~D|Y@8382mhT5g#XU(yk4`$OUU58|#SCMe-89CR%mnxz^G{iw5S+}x<;G*P-iOwK}PA3h8NDCASTWP`82V8(BUB%@iM z5ff?n{mddG=_4l#zveiv^!6yIlHf>Fsb&wkU$s4BIN|7|qUuO>o6a}>!NClb zsPQoHb_p`4O}AsnC_0Dpz}P{y#;~Vm2fk+|AIJt0o0W(_UGPK64XcbYHn4&U7)RPDO$Dh!uz`RYl_oW!0!mfsEn7uJ zML|IXq(niagY-^B1f+%{y@cKZ36MY_W$%9lXWp4P=RN;-uK)VZ_kUi|ZL-(iS-Y+K ze(w8uR)!x~MZh_tmbK92KtH%D&1EHdV`x|Ee(@Fl{sQgWFgLeerhE=un)!3gEuu&; ztBR2k{WLpX@_vu*%s`pYg9i_EGaknJ)>{9{vlVI(3iyq*@#{`V=w)t=;2@hOw+$UD zBDiJ^*)sQ#oMu@b!mY}?vfX|v(Hdq!m^va(MP?so%&oah8P7lY(qdwTbsn zpTGEJ4Y$yok!U%TL-aR3#&{YLv1g5@q1$nss>hojeqO-iFC6PIn-3?j*RNf>cF(b! zPw9J$7p{WYcp?fc{FLs>rP%+Y!rmTrf6Yr0i$`Jqi#3{nz;55W{Q)HSqNXp=|8-QT zKVZloXHNqu@HC*D+l6+vu{{^vxsxl|PBcXBd<7n|WlAsuNC_!t`BIJ@p&@q$4{Z6p zXViEF|4xIa^G9d$ckC}4HVpT&Meo`%7YoNnH;#^vFDXDrZ7IUOdlY`<$#>Fnb30C> zN>C?A3VKHH*{I7FmF$wh6?}=}`dw=p7N%Y(%(VycBqb$jIy$Den%yb+T|J`P;7s~O zHx&iW@q)hJH?nkiK51+ishqe5&Em{G8rutpo(LWBMU)C1M!klcbBkSK;UvLmT@Jt+i+(f`2&t6`z`dsYr!Q>0>A+_&%+$488*)ME)8nY?X?fW&8W05II zp?k8kA`kOy{>^D`jdA3+bvAuLkFDn;x_f?KYh`-PgsBcC1^0!RUeWVw$}DN88nceI<6+kHm_~!bOkG?iJ5E5>e6s%3#2B#p8D?Or6Y6xT$k~vY z{4OMi6orq)T~6H`t`|aS8eUK5%`!e&UsvY}v%QGnr)v>$hCPP;{ReyAJ4V$_Hw02Q zE%1nN>F+-*C)fEPpT{&S&YW6?l*7yia@N)mqoSrZRK(QGFgYkxGVf;X4o9YG(F7_u zJO@`;cH?tNN$(+S))n5bR`w#3)Rwfmyy?lwa|whg3dLyU`EJ#1PVtCB3uMP#Crw7% zMBaf~9Y;yBlURhYU8;T}k-tGv1mU25EYa}f56(FKq0`!~o)o+;wlAg91y-p;HvwGyMy`Y#PF4-Qnw&|72yk%^FMKB0cb+i)+8?>`d0q|| zMxAh+(*-9~M7x+iCy1C0i1H$qsWd19`D_=a;lWw-UXCIeoE-`~%<_MHxV+?M558?M zr&BFtgNTk+9X1q65!8zVp;3AW zov5pgY~MVoPr^0QmzJg()G|p13+EvG>y){7>G;IGU%?EcYq}jg*Y=mEH;#^NEo;jw zC@^kq@DfD1HjhOKD-2dHF z61c=&-rp_#p1WKlbyagMcWLzb{_2)#*Ve8!yjro2JKO1+&kw;62mV|Gxy0P%mreiM zb|7!J){hRCjkmBE`_LIay#i2%;J^p;no$V~;v&QWuN+M4=3Ae5JwYp*sl;&Rz5d?( znd5j9)urMB$8LKEKTC(Eea^UI8%ck7&0z3(0(A%`AuChwVzw|@XtYI6=t&5fVBIYn zk$qpG`TY#ISm08OZ1_Iv-yBho_;SCU{(8sGEsw60mr-hPpK@Fp@P0N^R~-8aFIzV1 zitYI|vMnI6vHGP@*reFpW=_DU9W;oK^;N$?WSqAmyWA`}dt}?O#2h9}@Eq?$P=|Et zJ0T{R8!VI&+zj6$?Hg?IK zcve`@S;nE%>|zcG#rg>=+Pt7xwNaa-kG7PT4+YDaaVQNtNKObE?w7len@Q~4d&S%I zM|=D2yLy2GGs=e!)l(1=?Lag4WXgcgiIRbN3PPGzPOg%XDekOcAz*oXg^5Ax?`0uP z(iB45b;JhGqB`7e5t7e^zOGle_wk#sbZop7CiYTIl(Vj`@PSa}c&Gj_NzCN6d13He ze59XceUR)_+v&HUHsCAeWR#r9zwIIlq>AWeG>3^0uG9!QdwaF-j6|57NrU1CgmsH5Qv5O5E%VJ``nBsKxj^)@_Rq6XT3w;e^Jl zSY{1@m2el$hc3hmp>4lm5o361vk}E#R9m;fP)5evZPwJSbmi?w=@LXqE7QnmD#e2M z`@O=hP8JgCT%LeUvq%+}k$En>xCEoY$L4wDy=A5*)*Lb#TSmbha!EqX)MPqUYzKS@t#v7$M6zz2D~_nJ4N5VGO#>| zqK>%BQKzR{!z8ht6~o=JrNZbRAG%77P8b`zmu6(-IAc83N>3r*?j=Bt#z@yjKkC*{ zWMFYTct1-thBI!$q0xwXA?3^XjPG4b^L@Q5L?Svfhjbzp?L8Cx2DFr*mnog+ZW=+uIia!=2&bLu#hNkRCD$Bbut5{#u%(;!YFa*m#e zoCzm>gTvl3`Q^9|SD|x>w4INkg@wgCv~w)TV`zi7e%2p?ccpPp$JF%nmCL=Us#i~F zyDcs*F#USCPcq0n;5IHUZnBIuG*+550sHyU-Z^z`-h6i+=ahvlF=%pdY!)RS4(lHa zWtPBpZ4!P|7O9hag`3=vIg_$QEL=r>UG7OHumdw#0mNx3h_!yghXm+?UE8O$=oMB093u2me#ln`9&sfC6`lpbF)5w&LF_f5U>c!X}A>w+uQ}$!A&|AKBuR`Pbyh~&Ive<<=l{j zvmJ&9D9gs;W$;yYtW`-3ft~%GjYnuuE@cUG(}G$%gLG3HQScCIItN=g*;_L{wxw65 zbRd@0kebM4f-l zzIjfiqgDFv1tdHTn$EFlU2)DKv~?N8cg%{6KY6~1Lr+Av?>097O^16=*!exR)+aCV z(FRyly%297pG8|}$yU{!o+O6~7tCpGe*i}wm1|@F9_?oK9b)Hvv0ca-^@5) zLYjX*%R(3=2rKc}BwkH9WPE-R>X}5B746_8$_K*w6AFs$zjH@0HE)B7;*tPlFbZQ} zyI3*d?LaOc3J=P(%s!)JU~sGZrC+(PLvqt|;X_Ajf<^Q@i(D$hyC*e~hKR5Xc+EZI zj6MYGve<6wQn}TLf`ENzA_MWzJ(npwY*N$(Ez1;gL37RW?LHFEDxTgC|Njqg|GSX? zwQW5efbu(SD#^aI^kQee3~Vk}dK&2yAfqR1+}hBzyYPe}^N&~l6rJI)isW33_I7g< zb?D9R^tGAlA`j$SXJ)xw>xn)-z;totr23_<>yG8B7$KD_ z*ZYVkB~Xv(3~S1@(Q~zf`7%DdH#lueYdnv|Gx=jRuAJBgn1LnV4V2G7WYa}kpbgke zwU)jVQW^*N=6Ou&^|b>EcbMmD6Rsjh3o7Ke6eF9=R-&K-nvjr_!A(#B5`ktlv?eqG z1~Jy2cIM%O<}Xu~RXjpUPOg*a@+<~2&?hPBf>2l2y;AWjRF+{N;6dO_p+i}Mo_?o= zZ6}dghi-8fs(OgV(kPcQa3bVjTUE8=B_FR6PI#a9cXJD2o`~F?32;0&C*iD8|JChk z8|&2ZukScn#JK0@PL4kp5<4`sG2$7BdHO!UO-XRa{xz8Jk?+qIJsQdwd-$1ZAq}T7 z87SIK6LX}rqF8lAA1QTRlyh=2V!c$-t$R)*y}r&7Z?toApBD3K{`R^Wjp*q;&trbS zoN4p&vIkYYDebL5BIlFP6#f@UquWL_xI%W zw716TYwM}|JsG4AU2iKT?==Kq{!(dxzK|lh3tY~3W~K&3?&+!nzIs=NcOD6C_y%uh zN;*cv7f0{h)y+I#%?xH`)hv2k6p>k^8#aF*8h)^PkR7#kx^AT^3QDO=JyjEvLf;a7ew=L?ZP24bEfcStQCD}^ zBF{ejV1R7`eaDI?-j}gZP*QA==brvnL5ci^SFVPa=eM0IC+ejK^7IVD45w9DOOFaF zr6~0j%0f$f`|;~e;5Hsvbk6?)f%9ZH{~4L8%sEfXut>=zL3a$G&@m2eb?*Y*hv-C> zG56^!(aiT1K;WK4570^!f88+C*bpcZMt{t<+r4)YR44kCSV=p654xW8=hBclCHA?|MR0te+WZ zrf+5SA(L9cx8c;MjB-okyxd#XUPZ;l#aa!GqYS7= zThECyGmXB?iE%~NL?_>YHaYns;}*oxc5wV&9KUzZm{hylwIv1RxSkyF1Z(X@dc_umfOjCJRw0WYxIGD*dVT^@bMdI>} zZO?Q6m03jlc)bq&AQ?^^tsOX4Vbl^ z)QLsUiDU78cP8FuUj4u`q?ms7at1@XVR17jQOV;8Ln*4G;zyW7%Ct}W0V zj_lsOJLF@IEve&pr@4%F_Px0xmy)K~_IB{jB!Vo-#5hy7P^r02)H!xo-(4og%ZR)b zbh4nb_brPwxI~?P_kcsxU0|>o*NxJU=HB9_a>sNYj(YTNpI*}x2BOIA+0f6PIXZ!^ zIj#-+*pnHiR#sLvJv$pFCW3Z9Pm$~iHlZdelL3L@z7P4)+ndVp@i8P<$}2t_->>HF z>S>s08v#^WKUzrX6MVI7(GKSTUtg`u&0zVlHz)lpo^@P`CYqqwk+<5G@%QReVUFQNMK zt*P%{nv66M$KYsisytOV@;rZ#jQ0eD)^=QNZ+8#Wy8egAKV$pE;5QN14vgx(zjol} zMU<=}z+;0r%tP$M2d|z1s`pw{yqY6?bK&HzhA~J3ba=#YC)4%xExCs8qMM%N`AgOoy&5UsrdKXLVjgN-tP+zes7*OL^YWQ@n zd|eay{h6V6x@S=0g?m{Ltw5u-Q3#_~_Z$uqQ)y~Od*H~THQz%ef)wr|r_q+%el6<4*FfQ8 z!y{-WcH9`z!LIe2tX*t6gJ%aRkw5_ZXKe4y+)^VWXOsNXdu?rQZH*I&@RVi%Iii6Sh%K1@{&&*Ml@RTIaZ{YE{Y#F55= z6H&)aNAJvQ(s%@8>Pko-5V6)DSPh0!Bft5sRfH`gAQ)rBzse=MoRFT0gxjvr7SR?Q zFLroIFfxh$Mum0!_$OC^Gb2M5e7zeuXX#IQ}S1u-$MUWYmQ%;VDk428kSZYc7ijIP$tuMG63VkY+nNR7+K zCIR)e5yXTbYA!G5RonCHUWPRTfC7LiE(0JSYOyT+&->X;-ifKH;|)6#fL$c0Uut&q-_w@#lV&g%%P>A z3IJn?zE!#+zXr73gWJ%LP2>k*Jbb7j4$=ZTbTg2l<=>-&5&ekcRW-<=vUSt8V=Z7B`t-_zSWso~rRb%TeKad<{i4@jFXD&V|J%{1!l&I$R{ zd9yC(#Ef%l8ojpgG_>c_`qlefQXU}CZSU=s(%}ZWeMz;&K!^u%XQ)_FCqR_y*jtpWclgPxK{lXIoQ%=5V|08#-X(@#eVO4k`1awGX=Pwqvnaykui3e8PX7=Yc)H?%n_xDEIgV+)Iz#LoUM1KMkad;%*aDX~)GnvbR8Gnr@MzSGcU z-7Ylg9+XPU)^X4go=Zl=4_P56>N)96^%7a)Etxdv(v^WCmx+cXxM|Y(3}>`_6M1n_ zqU^pCh_kt|_Vik1^tNMAw#{ZYe*Mj_RDnV1m89y{pX!J};MsiT`kH221>n>KI3ZH({KD4Y9O5=>3qalwMNr zf#y5m_!~O{Wi$Zu<#g-pYa6(G(m`aTTDmYzCpi5O-&Di?k7p%`7XHW4et5-sUlB_PMu6v~t-G@n&5L-t+U* zti$YK+=rx;lq=TO3Ht=_#&?K$u_s(Q2L?38v(JeQvv%ww9oX?~`RMhp-SdH%{6&6+ zzJ&A#6TY)l26vSRCqMvye^fc-O%~eq_8C^5y&E_MwiD$F`H0&($f$ieyO|XBLS% z_l+U>+c2?0fuU5_=e*Z-2b~zW$hfKE;OvZ=&nn??EKiLHEw?~l-zNs|it-mXo~#SP zCXc*SQb)yd&q&)WyTL%U*rhBR`itV@zUL#N1E~fBryN>mJ{_!;_K#(tB_e-sS@MiWvd+dImm9o?) zLTBPHKbFzhtl~Xi+W}(~I7Ok;50y5!TctrbHp8l#;emfNmjKOd z{8FwEjZ_8#^1GLF@%vSzv=H{Pln%&(z2-@bsU_t1eQx+i-|MLsvs0WKFmGxA@g$)M zd9?W!c-~(F_6FuM0qo5UAih}$y*ZTZht)I^UP&l7onP-a9g1)5fe@dG^YuAebwLF~ z#RV;8jbTy*JMQWtz3A|!+!OX4FpH#yXO1QUp?uzSS*As>{El+;Jo=Y}vNFGA!(#5~ zcALGfeI;e{_17QcmJ99`;{&Qc?MuwdGi$?LtXv9Bx=cJ^4;V@a^QF!-1cS@a z-qT|@yZif@K#U>-bNA%=6l7sc&u@xQI@5N03hy{U=*2aK$cHP?bsdMW<;Fg>{$uaY zT+v}Kh-`Uu{)T>|_>J>c_V%ev=Jg54tSf+qNYXK<%#pQQ%dVIWMkk5Py+@>Va)!gH zSCO?h&R4vcMcd8S#=-vkyb}~jDwowJEACzWJ^2W3C1??)P(50ZpPwQ(?Sk;jFfgB& zA5~hVqFrrMhM6UqKgLxg?OyWMTa|xg7moD;pz?ot;du3)(1|5zJTpVz%uHF1;1MRN zcMC^7ymNqnB|0$Em`|FZ5pCos;feSk{4V;q_E|?lvk#S!xB|j+;LI~wEI*4=dg$_& zwB$moWpKb8b?uOh61#Yl!fRI5gxw5Ghr>}S+*?waxyvYnJv|pwF&|&EE5_|xXfM=n zDD;vfFJU({A@zYGf(6g)yW{p+ee+cmPkH8^S5E{V#R0s8LGWW|Z|_!GW>KF}W@Kn+ zxUX>dkuf^Xuh0+Vu>_&e8P@f06HbU;<_Ra^0blhB`WV@Tc~tm+EU4}=i`l<;8ch1W8g{n)Q6)>Gq8OyC|@{4tZjx@LS(IPA+ftd z49o}-D|3NG)aTLr@J$|xx>tIHbA5VK43C}KYrDYf04M3Qf9xgN)Z ztz%Qyx>n&9rmB|fOU<|S?FCnuQ{oYQ45UI{Ru(n_rwSBIi0i0%P@+2~q`)P8@??X~ zKHPXoN{X(ata-CYRDGHpetr^tPb*`wvsr5GUXEfPz&-6&-uZB^mBAxU7c0I#-n>~r z#`MR;5-Im~sIIQ=%@>zlTyiEjy}iAD9JXW&;XoVd2@vgc#m!gRNkd;>>)1bF<&>1vjDeW?7GTn?kdNS=OkT1d>)5|s zwgA#msnL+_GNH^g$$?ejfkpATwa2B>#|VY3wBSnWUPZHyve19Ekf zxiAGnld8>vvTr);tqy_{e)ugoJs!f^a;0-$&(DD4txp7Jdv_Jnr&w4b+ovWOkhlp= zr1U&i!y-#EV07_b#CM8F;wG`h2~9|{EgWM!Q@hry>}OkW^8sbx+q!)~Hx5Fneadi| zcp}Fd-`U=QViyG(=F8$`g-`(`d564nog(OrD-r)%gQRh{QLe>`jLdEJTVEZ4VUnB95cs#C**H3Ro#^-fmomu?|Nhe<+FvBDS$eVgSYJB5GeK*48J)i_(q z2JBp+h_V8Scr-~e`6ejIFD@#k$4^;ye(-B~sP410>)dos7g{DTm{e-cC%MqCy(Ace zhTt1IIoCOfrM`tA-DRBGog;~Dtr1`)TF=i%h1U9i})ibH{8^;$ zO;AP_mG${oZRQR?A+D6ZqNBW|N!v4Q8xTo+_@|H-54r2wt=+oe z)VNZOO|aKS)zELK-+=@Rs^LQ4FzZMEp#K|@nWmD|bdg=$_g)@(FE4MjZG)ua52kWn zK6iMbs~iR2h-@+~;i%a={(RShc4;P&y6LDuI8s!EgL+$*a0DE5fa8{Zw)t3&q=hD! zEhRm@k=z~o9DT{sdrDlVH50cIdzZh#fKI0;B_`T7jJa$QG&4EXzX2>+DmH!HT4znV zA^SlUEQ@y^B|H03@z!-)Jyuj~*xfOC-Q7ri5P^e|%JYVK_e(8;+A0vE;2umd^@ z#o@$UK>B8p&w$#;KX{eNAu1_cp+>EoxLF&c;;Za+=uzC2VXx$iAqF^5SDM6A)1vIJ^MVHI$<1lRci|x zH(y%}2Z!B*6P4BA2N=aA64SbdL?cabiR?)xM%seIF+Vjd)C^sxGjQ(g;ZR3zhkk!I z7{Gg>#`7noZTMD$fPAEQ)Ux!|&tJ&h<+q%jjR8rL-0|%99nU72at$6={O)g4TL!$8 z*AxJZ!afn)ws)kGo;Lp@1dsMR{F+B zq$<+|#+F|k8(cww=lzT}609#q9@y zaCAq9(b@RRG0J_(cRUFTKE_@PDs@x~>#swfFAA&1gU*8n_C!r_Q{U_&==tXBS2*Ev z*l9gv%o=}D4{AcJRJ`Ce=xWnaFf(iIf+DfZUWyK zRNRONWHwYz?@G&|5Z5~=c6+-|5HAJhp?BWYBG&4(WZT&zE?*hSmt_Bu7bqe1G zT&Nl}F!@6Q0J_PbM(Ym#a!)!+#UGA*2DhC?k{jPcHgO2O8L|Ti6FG@ipPEFM-v317 zVfbTt&v9Y#n9D>{JIrB;>&TTa$Hn59xBJa4RL98ZTsb?ChO5!K_=tl0C^5@r> zD_hG+42B~EV11B{5)X}k0J<2&oWy%gqK{8ab9YVVDX6ID5sTal@Z{Bqa*lIxx|nJV zSrzPVX{P%|-davs)Jde_6f$blN{ZS`CrZ;XP7<85$Ui>(6puVD82mKCQ&3gUbMr(N z;}LP-v(;&&u|44s0{_-aElLF0xA>w-vs-MgL#h#ysOEHYcjL`k7qCb$MOFrs3QP_GzhKYWu?w{&OWgC z=Sc2I$43H{Y9A)^2z&sDN_S5bmY>oQB$LVFI-N#m^vf?U2f#%y|M>!lvisb$2cp)! z6kEpK|0e$juaYw}!+kz`e#lDxgbir|Ii=%+LYx;*Ne;w%iU0VWM2iZ|q^nmTfF0A* z)1T-b>SmfF{BM3rK}AZk3E{P1k40l|&33?%mtW`k9|W>;{6V4k9Zm30>FAYCYa3}G z=IbSd{+^qbAi$C5T^)6QNkQfJVB7h7_k`V1>EF~t8BfYtp$jX5vjos5F{13w%!k@*%b5E1*~6r8dYimeLzxGLX-OR!2};cW*Qn#n)4 z5`a70-hrrdX=&+b_}PQoN&H`z{pJ3pl>`e?lNoJY@Yd%N%j5G?domF(eE6k;ij^l% za_L~W3Vq2bVD^!y|1WqT^iz*1Ut;)deChlumWC{FVZw`zXFBvReQr`%FIMyV;|tCQ zJ<*;_i&XgwQK6~~b>vVXz^RlBiq~7y@ft;F@^Ws%%D_=7Vg8wfXe4u@s+$* zII10n|0@WlD|xXB`wY8=bGF3`;@58$xEdAnyoI9&hGzr8N43lny(AQ;f5X%?>iYtW zX@*R-&~uIBaI);Lp(HRbJX#a^n2<_%jpnwQ{D~sfTN7gp1i$^YtqKAJknSFQ4bmn* z%tjyoLC8wBX*J%}mRwe50WkLQ>vLyb>nG+;Q?xfpsxj0pG`YZmPe=wwVbCe-E|%bZ zf0xeT=g=V%=l);7A%iV97@C7WsBPsRWn>&1x^uO@UL*Z4*zg_{T7{waHDvto!&e3f zN)AiWLr~#iEodD&Lo2RIGK!U0cwqb{7asB%7^{=#7sv!OCp2+TK41fvPCk}YWIt_0UEaQ;8xUu zvs?}ahVLI89n+pZC2uXbvwNl}+^O1#IaSS@oSxo3KT?zD(4GCpwvhLa@cTzkk1E?1 zhkEqPrbOQVG)X_S#kum;B!1Js#gt%JKUVa%#1cCFxV;fSgTETrs3Wly+^=X1vFD3# zw@HYo;mkpFo}8V1@4O&EpcxD$ATC^3bJrH6w$Z5rck4hEpEfvo;9)u}BNHYz3)E>- zUOg~AZOx(<-Nml}eX#ZMW<~wJul43a>+-2hM?o;m& zev-py0RCHgXXuoSX>JnHkpK=p?9H3+d*a8($A^~6W!}%1p3n@5%(AN7pb{j{`qZl% z*H)BqniXe5j8*U8)9|oSJF)>q9F>kbYGNvrjf? zWb(0~<(`&-x^??Xj>d`{7AUn~s}R#UL-qogQKcJ4^aFb|`#1On08Ju_g~ENv z?Ap_&)W!_9JmpN_xa++00U@KHSm5TQ_B!PYf93*=a@HQxx2{);!t4gwQAnTG-(Ie_ zu({Vj|JR2wZLT0xjcmd)dxho~qO0i8^*#z@o8ChjrhjJWf47K*_pc`Puc@y5A5Yr< zkFfV21FzRVR$&TQ4?qmFp^w3R(lV;&aKV5h)$^#4#B)8WvG4q4XC7TYd>@JbTH_bn(DW-^&4p23l_@X3dQjI~+3dj(aH93F0U zfs0xGBA$Ly7krWSYCyHUvfub@S?ST8S?Y38-`;-HTU=b^ChF6Rg`(_abvLpm%qY%o ztG*47#v(yXdTw7Rwi7y21RqbzBW-Z#!u(=Xnyo&)CYbv0f2iA~!?=v;GwE z3zRl@8MMj0R7Y;er!T!nmVeTl>^$V-swi6kOqqy!<5@*-c43ysrB&GCj1Vn+aV`!^ z5#jIU&$2_7o7AYFmgjuPu0D4B8`43w%ZOo#%u={)dQZ$-*vq8(4=cvF;#d-*`Hrb( z(oC}0q0L|n?`^Kw$W*J)ymg=gORK!5%G5hOp(()#*V4E&NuiYcZuz*Zm^|ME=@io_ zcJ>nx7%DslEF5nbd<6ktebRS3=qEAwgk1fU)8T|PnR00YcxOq+Os}>3X}f5d=QGFd zHz_#2O+hVj4s6+QN~=KqgaWY~7(zmMk1MAlV%{wKk0yj$h6rn;BT07qJo=_;{VV60 znKgXX4q$$)|DFa|SE!Npc>2Y;yU@N5~*MO}g+)i4lWp_LP zUX6E46>tLYTHNK(*p{c-x=9wkJv}{XU>drkjI|-S#d^jI))%qe&%mL9xUZ{j$FyPu zSQ3wpG$|ggtAovWh$}s4z&^Nc(Y9NK^vplm$PBiF2oo?eH^E51H zK^;Tk(ZVCG%|{1Uot=LXnSW>c0Oui%j9fi50X@&TVC!ha_!-@zt0aF5@z&feWVr|N zivWlMUVeTpL*lvbJ@OK{lp|$mOn%?X!w&O?PnWAET*cx5-$=?zuI}gszr*sA3#@;A z?wj9dqrs|sd&t;rU_X_dcu+^e9(E}rD04e zp6ZB)dwZcD!=Yz6yvKp*QSK7w-t0g2`O+0D;CYbIw_embJ31O-e@wtAQwsjtJm7;y z&}5TA)uIPBxzXj~k9}ZwzB(&+>kGgDya5bnFOEtOXORZ1MPh#b9ZTR&VBP}j%TS^e zBE)vnO%}JtAl2h5XyyaVCvg9a-Ovn4u@_Wp&kGdMN!HMm4l&q;7|AkdU_2Yi&Clmn zpM4v;__&g#jz%!Ts-bULe~-=o=H3uj(9)7bh{;a_gC60Db?)GI5=X^1o@+#~m+u1F z2q?`J9^>eUrHbMGzJNm7ccfjmw9p_xm;G{IjqwAssh)Zx)!ppMpa!uNI}^xNqsWjz+Y3lF*b z0FIk;+ck5f;zE?7N=;9%q5EuJN?Mw*aN+P7U1w30I@stkNB>>ucFu@R4IUHO1?6_} z{1*nwArkM4ccN4GkX7TvA5Q*&&|9E77qJ#}=uLg(klg#bm79U^e)aRMmbh{im+{|) z`Rv<1T{wK`(CedGjg5_Ms#gJY-oAC~)yE-Q4L~YghrX@{1%HCogdOC(XMF64hvy+7 zCy*TRde=)rL;ctRr;Gn1RsfBL?q0!f<=6N)g!lD43Iq+*fns@Xo`VNf*}4y2rIjK~ zTyl(>hc^x;Wfe6r{fYmSF6QEpT)|77KmmC!zStO}X3Szx!$*|8haL;k|8xSNS6mg{ zkI|oK=3HhNlIzs3>Ni)xTaNM#6YAQ8K9bL6$xSLG5XXw{3D!rS~wI5GKj zjMv(i{r9))P0kjOWOZDC<}v!!Ad?J)_^RrNa-fi3Ra^c@7g@$}zwLjQj1O#sQs4U# z4KKC|DSp2j-3>(k9WiX@Ah%mskgTNkm#h*}%Tf0dU;}vwRmP%}h-dMC{AIKf!fb^xmoPl7R6ftNU)Tf){nGzu4_q^{tv9k$b{5ZP+A0 z`m+P6LaA{EaQ3*)3K2faS)vWgYlXBUy z-WkZnEm^*eSwiVDA1|!AFQ(3+x7`!A&F_@I&au@y{Ep&}xt(+tkhas1b2GXql8$lQ zz>(LNU@%5^H%AUPm*0Yc(Xt@!7cE0&T&(s$bz?#G_)4&NV-N6ToHAr%I_@256X_9b z?9H*o#D0YLb`S;uVdjKvy20^dX-qq~gLB%QV;da5g=3}Pwg?=K3E*(xG_QaT8u$SnOybmvC@sOdTXbQ)B%%?#dhZw1UFXq?a2@Yf4*%=bm-_c>?w`2fJ zj-Lt>Ib7tQ3R7^HsmUpBz{XNySsjvMY4iMsW#OG~edf9iO-c&OfA=9EBJ!jpjjJO8 z0{|BkdClED7BTbFKzQB~5zU?^(1T7=^^RdhE`dj@gQT55{F8OTVTX4-^ThE;M2R3@ zIs+L7tXlO;U=TL|MI~QuB=i8cAk@~Wr?0Y4mR`6PUq$; zIc_~ML0zHJxCuHI6VL%YBC=)zs>>NcE!*5c(lrV8BFPQt~}ILVJ!CY zL^BZV<64ryK}`dfC~Vb#XrBGMX`r|2HPoQzKzdBVh2vZ@B|)ZY{JNSRBQpW@{oS2t zrJ?g5G4H`O`|iM!0W^{j(4`z^kzY88*1*L8GQY((Ndm$sfWFkgz#ai4?!2;a$FtM6 zyZ*=r+4~gagD49(EjvGS0x3eUup!WpxP1?~VzDjoe_=rAdi*5@fozg#cPvwmFzac` z42HjkgD>~J|92rNVS=OJo+Jubhaa53cjm8zcSQ8kZphwZOsEFUV#)Pda z@(5TBBKx16$+cU^V4TH@-De_Ef&)dsu4%s=RO!0%7l>B_7n%>^L znI3x(2_!s_y6CxZ^c(&a08>>QyYMYwE(=?@qIjD&a)|i)408Sy5b2RO6X)U}i9e}? zwKH;b^)cI;#V{|4ayB#!lQl1VucjDof?giBuB?#Uij1ZPg46=9`-T5P?D2-kc#wt! z?2WLue13#cpc^MHuEasp;0^}*&K9Pv#A-6H;$O}~#70hy^!xt`o~KUCaRxirhHx$R z2B0nFK?qK#HBhcR2}}=Ys$?8~afLZW-O2>@3;)J&0M5_Xg2DYgg2#aqoaH`OB;R&- zuy=55ZOA{-u*t23WcC*j{%6zS^##sO+4r)*Rk&F5z&S9S_q*qH>PCE-Rpk>H=p^7r z^-j|nd>lz_;B%l|TA+K}f(m)T)emmoKsE|CyVkySR*XHI$^YtKgZ*DJyr`()st#hXAkS;*VJ@5EE z4w3EX?5vS}#)p^yCkjgGS;CXpS7V&bz7*{BEW)AyC^%R#89a z*3FlKuD=eEWxzh8yBbcK$(M}|;0PHAsE#tanFSdYM0|g=d2+I>~q zzAW_%hS4&nt*vp?71zZ6wl>-j)!W-QW=QwPS7$oD>pT^ylagZ~DMcm(j-&gMGfb3W z8oK1Ly_-AQ+IG%PP0hPKk-EH@PzHY5DBR{0G8@e7AP{G%om-6K1aLkpW8u7@Rx~y? zHW-w=w0(8v_T-wwryR%nfs;Bt^Di%H$!V&UZ{K$ZQO`iWoPlhMLHeskeiw8;F!Fle zde@%`kbz3}On^Lw7A0NJ&K!Jx=Ad_6aC?b2N9$a zyTX&eKu{K5T9~d`{850FXT+){3Q8Ro(*Xr61Ksm4XO^E4D1sl*9QB@ zyOCvEMcl0OgOs@5D)!H>)Ug={7v=lwH!X6SI(07L%^)9AL*|1^LN1;7oOZ-yBRb*_ z2thq;1Ie)L!;ZjrPb_xN5)1pdR#I-4BWi<=;%pEB9(<@_PODu=vhG3ZD1KpO_8onJ13uIe~lWOK)$$j`el5{l>BW! zDD(9}jr*mD-TTy50Dc3$C5rGz8meJW*_E`PX%#RI+d3I1{)+w%h9dgeOY&)v`at3e^80DOx<2}CU|POWFG9ggQc z!D54JmE?Ncsx!dP&u`&I^%)s97~aROA$lRlIEHgOs+>l^bG8|m>*IldCf-9Eu*`62 znVIK&42GwcDT{RJ!!6hI$XaVS(=jTc%MlcVIm5y3)N;C2E=DeGJ^`9<{hCo;UasM{ z{DHyEh73>KuYQd(rJ5Kgm;gc?k+|8d)tlCA_j{SPJCouARROEaCHV zKa=CZ)+I5$fmzD4@3RrJXVw6(3NO zp)Gp1q7Ui_g2e8G5BQ8;Fp8&HmYD*ka9X}2tpyM^SMZYwx8(xCxEl>7$^xR+9;Zuy zN3^FJvzVJE;~8jYc$|#w)KltvU#T5jjUG`fb^Z4C)r-89`FBa+s^94d(9+5wy1Gx# zwZwZ*JrSZWWcMjWTL|bu;O(&^iFK(K8I(phv zZB;#St3@{@*SYL#y#f|R1@>kvBN4f_e4Ja{q1_YV;R&?y3Ss|R`TB3+_|2o zk$Chz%bM zb=cT=H42qkG&)dy75U1YCWqqeJB4I@^g8x#Vv*ae*%lUF38E=sjax44W`=*d%d(}b z9Z*7B%1?5)VRN@hol3IlH~5eVamZe)$67N7Iu9aasraIJ8_zZ3E`KxGj+5!54UY&S)Hax;lYI{zBBX?#ISE=0w+FqJ?tX*)EttxZ4!Q5 zY1Q7*kpg~cG9(xLN*Ga~xL@sJB*^lxLtswGM?tLbWel2=%Z*bP7EyroF#0|4PGyTm zItbc_u^(&bmdQdQpZ4wI+3@Rk!{0j|{!;X7@$O4MW-pJ5$F4JN))(I)!`_wmt7Xr@ z!j_cuc1LT`ZMhvEH!T_Pt+&5@(rMGWgU0KB*|GL@l*E~h2b6KpqayR7keiK1J7#IP zva}s_>>w3<*yq?6MMfW`GE1+33bGFQ2>KV{5wF-y5c{R9bg8Cj_0o%yhI(4S#?3+s zcAiZIc!j={CuU7=k4ns$nZQS^tU|T65>>YScya6I5K(w(#5q@aEsffHC-t861d99V zcJGF*EG@zE@JlP5_CMyL<1iUu4=NoC=z`0YE_~~ci|#XdWCO!O7R!C>_s!QoswG^E zf8!G5xA4X2I6EPaEp%L0WrFUh|+tmAkqmv^hoa@2>}w4oHx<`|0{33wccCrt@XZdEm%2c&YW{*=FI%| zo;|<4$9Okvvi7Pw5ru4Qv^ZwmeZy}~*fOTS$AV#pj((>9@SaS1OtaaTWs--|DlxX} zifmMw1H~$9hc}a~J2^CgEia{<9^KC?YySZW{4^b@TTAWT-9s^E@N<=O#?+~Wm+bX> zEt3j_zzk-)jf{*Wssz>i$_jQTd(p-1zY|g4*r;X=wzY}M%rnkuC)JfYJ}c~Swf~_9 z_A`m9CHl3Se?OZ{Uot;Tnl+B%iywyWARkVd+oAkp?`|3xxjcUO{VT1pG5ev+sHShL z{bTo7Y0Z(tiKvQKw9@EpXe%4?^Fwdz^iiA85}bY^Z38_F?KQEy zv3rc>ZNL1p_D^OVl0d?-CfiI+-#ZKDuj6o#f={vF8*f#Y7z0sf*85_UK>>gVYt6+k z+~_09dW>5TN9wNGqEfY9esW)~7%M$=jC*V1iGu9kyWY*$YuC;Jtx@&Uu48~xsUK;+ z2ZK2~+(XjM>#7z4Mt{Q)gC3R>AjiJxURF{>e6(-~VtOM#Q0MfiU%I*K^f|v?PMPV1 z6k>;6j()PBwq$$G?O)3J^GwoLnn3ntw?yu|2T-*N^C8clcb%_P6!Q>GWuAR_ob9&C z6SG50`^_Nwl=?sZ`~9=~gh%I!)P{U7TuZ{AJ~v@&wR7GMf0^6-1FE?dRvn3Yru&xW zblOt@I#S0Vx*8XxCY3s!43jACo+V)~VX$>$R>@22BpA23pgQAJ&sn+RfbibxCa=ug zJN+qy*dC6?#Op@)1(U&U2q~{$+f5yzn1$1#Ez=he1*tp~vql_2AKJbfAIQiETXhio)Q{DF)G?z2q zYRgCc4_`@s!`Ai@#^=6>{k%NDMhKok}Ahi3!)ZxJ^tZ2b3!USIDR%;zL z!)NA$Sz-6znrF(7)CgHI?V8%IA#c%({C-TTHkJTYm~>MXu-`1fXxLc|01-j z${6$jwXZJKnx@fFb`cGxM;`eyDwvRUsKsB{ig7HQTzr+siDl~*MJx0%inX`-6Q-h4 zJ}+64jrw^`2V09-E`+CVU925ga3;6&{F@6fim6{SFAcjNh^viex&05qW;b!A5Pk{L z4*XDI*CiiROdr+dFVU^Az5nrz9;RMeVT!l|adH?f(Of!nMc9%+gSNu9KcKG4;4$Xu z10+Sk+l&?ba2JeR$6g|rkuKp}Q>wM;5f0m4Ogc`%o7dk)rX7hwL;METQamzZ?Ty(E z7>3*w5xu>P5U0tQ9$93LG$uxtRKL+IsSH_s)ctQ56?7OGS0fRdwktpw#Z%`uC{4n~ z??NxaZ%!OkS);gQtAGD+?+~N<{Ws^kV6$w+E;E}8Tc0qC;H0$h5i1po7a0V8)y5k%=7!s`H|n0 zrx^^HE|mAlsV5#n@>ST~7GNVrB%hl_c+B#{WLz#ly9o{lDJ{6WJgqRK?dZKh=L3ZO z^?Q{~bw7=Eq51AX(BSjq?6q|ld_=4}M@pXPE@G`e8fXi>e2-^E-+#6y->_R1|DVko ziK2Cuy`at5Wgq*`7pR+*9u8z3;6m=@Ltpfh6-5^h*x7WqhQ!97z-%`#HPC5+3e9;M2}sl)o4!Y;5X(0c2<)K_(gqd;rPjhCrJD#RKs=6NK8Lizy%=2%21xl$|)uV=w7dV;ck0Sbcf1@?= zSh6=`?oMgu`AD68S18vkdOYeP1R$^#dw`ib zAhtNaItm7QS>(tp;sqWt>C&fZt5hrB+xn6wuE}T%0}u*SpQ`74qGEmAr(x2eo+omc zXkqT*m@PgflcS6cV|^$ZoPv5~Q{RT=L^8pm0_oCN`ZNn5A8Ge>OB?op*8BHc;Ak%W z^;^3sozYfj()aT!koYqIz;2zQ4f+*!U>~;s0BpjK2W~{nYcwho2VJUR*>NqZfUEt& z#xZWgx6o@mI>8U6g&X<#d_>|;BtzcrV|U{lfK*9}JK-0h{wm7?lZ8p?Arc3!kp=rR zFyQf*%-wE+?Je4N>!TH+GS4%Ty9T}tY5Oo{^8CqfsG}A(bZz@32`hky+58&bD)V6c6_#6&lBGZE_L$-6@9V?weLz+rs_m7 z6QfzxnCE3?(6VQ?UO${(5aZlPs$}YlA5epWjtqd#3HZtQ6>t^c9>DISIKmJ>=}7r& zW3&c4SdNSfH3)|^J)-vCaJT}?7)u1BWOomU8uA8;h)GN(V%+ynq{xkJRc||OL?~19 zyO)KC>TG@B<@t&Qaf{3(Tsb0Otkl+$a0Fv-dvly^9U~psRZ(&g8dhgS1^}sGfwc`D zg)+6&X0gaFPKuD^9VBB7)u;X&nz0)r!24gSH$|8#bejQ=A|XK)kRu>PqyaAf3%wcm zPq*6%^LP{tm4txW0B{o~?-Hd%b7@ZZRY4!=@@zfJN$vh;Go`uq<1Kj?=mF!4P@ekt zJ(!BUyS8xXF0ByX+5$S5Jm!Mdl{Z8DbeIPGwCgr-ns#`+|LBhIcc==#j zNkS#?6`8M`rpt|Xe{ViY#HjoSK&msgZKF`yv-|=7F7~;}{{FXvz9%pZpXIln+k3&q ztz|MDQZLe-w)dCrg-oO&2-4X}WY$}qsV&{KBpDJThrvDHz0-YfL;Xgra zGYWNk<0TJYc-YCKuwg2b0DWx)zX5W32+y6c~{dPY7~wO!cmebI19xtgXE5PcjI;p3-CVI!6CvA*`HkBaGfNitn?JU7=$=Y6jIf4J zk3aM9@cQx3iyjOY_KJY^+Gu&SV0ry@*gU3rsrySlY7+7QTen8tCt3_wvG*p15cRrU z&-kBLmJfvCmD>a@7$%eZ^>`9o;3&V!{*Ayv0CIu0b-qC9%m$cbhkq+^{1}R{LAJHB zh4J~AY=PozY*~za+UXS7;6`bJfZd-nLhXH(zt`QPDC-ujSz7w*~!Eh*$iD)>Iuas!iN?wchUK0p51&wKr;Dk!IstE+2| z?valuc1AU2!J_6v%KF(XOc+YJ5%VUj+y~gG%iv}nLD8j2=OBJ3b&1dAu8{8)Ou*-F z80&;xwHN(`rF83G+oQ7h(A)7VRHTgAD7Rw*dwI?3I=j1g6-npa6GCcB=1(IC# zi_e^`#y)St!}dD$9`2C7WFhHP|M^HCF!}TH1bmh^T(uA8FoR}TWRQ3Z#yBTD#c$U7 zUFbH?fJnCYejP4d$cpBXq~Hb*(*a6H zk~;o7_HxuI+Ggt)@DZWlIL=2N6T!S5OM&9&pc9&LW_!x7QISxy;6#&wO)>kO0y{*Y2V5 zQd9*X+{!r)+@Vk?Lw2l7EpdEg73!h@GYJ*=D9@qNvC?7qN9Jg`isdc99HIp>uiWCA z=xf8&TV;BFKXmr>D5z|;h*yZ270Bo zT?6SFY)rSCN!h0(B-SY?QsZ zZxsB9TU>`=v4Ym!rMQfi<&CzGBc>2>eHsI2U`c@1<1kt0*FCS(2gL=|c7AEP*1|r< zcUlD1B|nrLM-SnI^dHY6Ow;EOOHQgh=T}^^>#1htG;&ald#m`eM-lzfgMUp3qGp|c z2_Z9RVd%yD-pBG6DO&S%-uf&yxOB+;NYd1`5bpx-B<~{JP?|c6BWR*?*dL^O6k2lz zG^O3F(F$!m*eNwkuEX9Pac-c@^UT5f+QlV3Ssd|-8W!bav+zE#Y0@q;H)ZZ8DkYF` zGsuNU&iScPUY;DF_kKLaWHktxi9m4dsk!V>1Nl>mdw`tO5lt1%^rK zTRalXGtAKR_gK!Ej}4Fv^`$d5-2m>Cy3?MXp8HGPH%-)fI{R*lUFI|=)2r&(*{iBi z19`^6+I^+b=&(g{jJyO=iLg7TCsr$Canks*lmhI$TZ(zPV~nEDdZG8)=$qomFb^rW z_2>H!g8OoM$}2(8p$0h%QTlqNm#=uD7k@6Dzv~#SN|@;5w5NMeNV}Y;{0MFL%VN)J zui}CZF^*FT(qUWtm$b3P&blKP}Q;@IVB@Ama$JW`mzm_OFRV+nIf9n|QZ5j=IU-GBt-#W1=jRJNeJ5i?a zua-P_Gc?0aNxdm8V}7l-9Q?(g<1MBHtV?sig6d;9{mFx7PF;y|Vj?1cS1rcIH7U5c zT+PeN>wd=kHuLYri+kpx8JSJ*I9fE8es+N`bY3N}>RZw`E0rY!Zm{b`Y<+E~`C;Y2 z-OuIKS){{e*@1Xf-z8Bou|6L{5Er$+%?5Ji+nWfJru+Vhn3-yN=QW>Tr*ouOa8#uM zQ*!?0{g`P^_;jMY3%CEoRK7_;846-Ja`h40|MG*-iLqi(c{GT!t=PU-3IYu#Hgui8 z{xr4mk_A=o^`+#oY7aXwQnZmMv7qh&V8+cNfk`$yhxxgfCInc6~ZQ7x3!1QYk|7dbeq$3Ba}V9B7o1 z(o!-A?(F~!-Bgh4?z&J>9rz}>4_m@>V0TUjQnVAzOKrp6vh!Nleg}hWux75ZFi8;F-zs(l+mX*sqW}Fk#hmb0<@D zm((n*-Sp`L=av2M2kfjLi{ZmMH>(3XS_{%AL&0yA5C#!|pL#L~=2Ygh0q0frmz^Ga z;=+%}zsYI__M>&*H?RafBE4LFhkB(EK2gK8Ki6jHwsIwHa2dX*$*VAHC z{=k^7Q1XPq(mOdxpyt(4+L0d9i!XX8cM}xlddw^AsyeZtm7nO~!g-ap=9AoFMbkF_ z+Wk32?TtWYUQ~Z;54``VV2{0l3KvVdH%&=1s@ru!{=m5N;flo{c!M^9F^Z)v8=Ek$TjqLovF7_a&ZsF?f4EKuBSJ6Vzw0V`j)H8l|X)S z%jsBFIJ=h|vh?Wa5T*qRv@IrRP09hrpjo{?8EkNn4cKLpWwpX>e*53w-nGEpB;5t9 zK_3u$!5Cyv7PVCiNESWcy z!Va2Iik^$9Yh#rKE@Kr>+U?>P6ZuvuSwxRNrO=?C0F0%k+j9a`m=RVba<~YX|QnbpDI!QD7qKAm0&$h2!2oNh_k1d0ZT+xU-1CXJnc!l ztp|Xk*X=n_ca_m9*yLroL=^Y2D$MICmv+A4l0*ddBz3FY#dGWZ(I8;jrh*ajF*@3K zx+U{tLyCzBoE=0}V2d$;y?fBTZ{KkOQrSIv>8gKm1y=T+!QI943Mj&`)ec73^~l8j z<6%zMHs2f&Xw$wZ2oWRJAfHRK2KzNSH+@cQ_&L3z`9!!3|9HGe4(^2`o;2dcwBzW3 z9~wqt%reGY3$EF?8uD}{DHz=1vPOlULf-&pakDbCGyZ;EvC`1D6|Yddm)1d+Q_@)z z`4ic?kgH;?mu1k;oJt|>O;dkb`p|k`N*d`;|Fwz`*Gsctit&8d7$`pb@ie@)juB|w z>5{G84Yk^bQx@WLGJ%>+hlB^SPzu^dJmcg}JOlYvS0A#Tk`|>cm>Kzt+3qPu9t4Rm zf7{#lUH|$ocBHUKDoEb9@BjB-N3DSUo3_uqWoDoqo2H$BUMse70ciHOeTIi3tUxqy zo#ijo@lh4FQ;-3c>NBVQuw2=Wz!Pg&b!nq9!BVHLCu=dDM2JVC3I(9QKA=WsbY}Ti zT486Ia|>WCR3vh|4WWrkq=IQkf?|<>D{!#qdo7O-n*LGI^9nQP#j*VDtII83#rY2? z^I87AUw59Nw5Sj{4pHJX7+)f2ucpKxPy&uR;?;(DH4Dt9VO<#w>J@7{M{if1U{4GMb0ZQ1+svA@xAUJ3(Ux#OH+-TpAk5NUw`p z7Jz;XcVZh4SojCrfLA2BU}~EdtCvCl4PS$EExOxu1-}|oBRv0!;^hF<31q}Y&}?`p ztOB$e`Ye}CEA;UmBOpo`V$+Jm;&6~JXAmQ9XXU}17!+9xW8bR!G7nlL%}sR|TQOAz zd)qwZ!#O?3h?sW-;%xA7tFB=J)CrUF@t0De#C^O=G1zLwmOXAqT!Q+*a>pAY|6N8~ zD-ITegED6qpzj|<4HM8{^ipjez|Yg7PEk9&8wTI};Q}6(QUAJ1>$fS+eSH>P$bP;` zRq?7>A4`-<$o8}RH#7lowF?J@UF?NxlOs{HR{?SHSk{Fk1@ifKH+y%u6^T!CN1?q2UjyuQnr6M%*_8DB3z z#7LC$ug*hhg;hkNu3CZF1-pG6+<9zel40bz5#mEW(=&@uAx5~&@*gEi@l!x(TW0t8 z-L6dH4gv%UgmfNC7Da04zPZQHUjvnJ45Cze(?PoiB?R@?{N>B zFq&7%J9OLVJ|?#^GBbm0Mid-A!5paQ;pyV%`oLsCb!`QsnWTE>8nDa$`WD1ZbRb;0 zN?XJYZ*XYkG+7=Ib}oagKq%D3U^X5J>R*Ir&xlhZ&UsY3Huznmu(q~4{cFhI;x~)3 zfbaYjjHqSea1P1YT5IgTjc?8R^vP_vp&LoRn`=J#lhpLQ^bZUkfjZuD6a|FWM*U7o z1GkLkEne(3@_YZJoyh_Fizuw4DTGyjqS<^XptW4@Mr}^JCC^J~ zqxSlzs@m!=ACUSl;L$34m^o=zrr7&Uyi#<3YI*Nn_zihXhTgB9@f!zL3IGeG{xvt7 z_y$vja`O1KedONaqE|xS0+XO7koFc=yQQ7%tIi#1T21do(QM=P_CsiP6 z_fM#MP8boWIh@EZGf&K&#r|BgnBVq7;TtQRnwtr9hGIb}TwE!2et4<}cB|tz43${I zv0bBHWx=#pw}2JFn88}&CJY%x2|+)t<9ts)zI7g*U_5=6aq=rD4q;T^-tQdPxKv?L zI;NYiVb@Zaj#U@?*LeHK{=%A&u&yaqdo9k zSvBm1tCdHhp0+})ZSm08N=>bR!-JX(Ij)8kA_GL1tywAVCpUG6B;jk}u+^Iz%yUpy ze)n5-3y~dlGazD_Zk(hA33Kv0>Jm5OcF%Wx`=w+MtqP*=yi%k&*tsc|uSESx(K0$- z5QPm(?y+BhU4B7~$h=@GgyK<3n~O0pqeOHBc4Ydjr3FVLa}HzA6?}IwYth)Q3{xRk zmii}vfM%Dqm*eF}K^8-Y!^i5L$2MFMTO7+&3{5Fu&scDrU5_}Z>{|FGh}Y#JQ{FHk zqq-d$PVsudr(pWYa9E)1cV!~A_<98*ZgQ?YF|jNfI0gs*Ac8KIU+izYQ`@<{C%=uY zuT4*QyKxyr0nIyqgTqVOX!B$vhDwe;wW@Cq`t~wmKLYhytwHw1lV`69iILEhg}Lta7RFBQUeTK1w*r9aC6&>q zFkk>vC<^CjM)&8(I-$^}3B4&PR35zE-vLaO{AVMzwg8m5lmEypv&iGA11?7SW*E2_ zZBEMT`_#Hz15&v-Z%w<|-~e6tC0d1iKlk-EqV55p*|^^}P@@Z@r)XpJ!nla0iLN2U zw(c;kl2L;AK|zrRUfw&*+ps%Ug+n#d)*G^z>mk%1u>wP_p=;wCL|I4szWlw|NV; z!k)PuO;BTK7q_4-7u8SrPn zSD%w&6n$Cm5|R^izO6QBdxLcLchA zIc?+?@XvzsSPmya6oV^&-h@2(t4+NS6KBQJj2=@ED)TDIgBZ5~B1-H93DvH~h`34o z3=bk3q;ZOA#6nIs>;11zFGyKZbeoml;1R>OH&zw%_bagX)?smyUoy^0(d2M@d(Owe zezB7yUiX8zr#^0A8f(%G=AD4p%=x-YLMVeqrH0>5zwk@bx?)Je zm<^1900>S% zGRTV(zjw((fx_D4%}{?gnO+~T^HygOFx|<2VH^Cr^ch1Xi?GE2shPfR3$yri5N{8t z`$c||yFz6eA!nFLp}I;1Q0j*6C*vP11KZJmKwZL|6g`p5Mc7Eb=zq#*GXz@NW-DZ= zzZ{gYr(26@scaKQ-}ZYFxi=eaFaXSB+DDQJQrQL(RTrrKR>otNwcbTWV4BD5t=~3` zDBrpi(9#Y)shpLRk#X{e_mK;x*8k=L_)M&)s9bR%VgsmUf3u|neQKDOYpEdT%ww93;1Bn?u3M&#MG|yiGyL23dS#>0MYrweZ65#s+lxY1-I04LdmM&Set_Pn@de2+{wi3c$yMPB0P3v5c2=vLd_x7Xc=eQsF?<5$jNR>I{r{ds4+Cca#T zV{E{jClU0i+lz@o#5Uo>o3k?GD^jjkVU#ulHEj6M$+`y`Ol>eSwD9*D^FE!B0)>me z!UuhmI`Vr*!^8i}euKHWda(4R&xfB~>W zmrODa)chAIeq-fmTLD)?A36C;OtEfYS|JNi?$4mY z^~6Ij=8WNtTYT6{$TO0_S~Wrl{9;#|J)X#mr{sjMx(Pv|m9{G(%3}wWks34!zN%$d zE0%MXpLUlB?PqGo25{uLv(F5a+&a3*$yUN~r4{2=1Rju(L&2paI@Nfu0RpCMoXw1; zg+(Is?2e9o`H@AJ4BU=jp8MF~r8O@XV%L=?sG-u9d=2oQ!PXwqE@f>NUqnAgJ@{3Tn}GCW#H@H@ zv-#mjh>gq6ybIPk6DNF=&CEz^+aQEN9GZ(W&{iaf_snHTRxnh5vPEk@c6YGj zU2zxe@%R!%158bo(w&y%L3jVp3$uL{k;gjQLqc%Pnkp3${J-cr;oyfRTqkKa%9(Z$o#;zloG^pVlNZHb#J|~;dowbuM3W`C=<3V(>H^?;%VZMgGVq;?}do3PY zSd_4}=WemJ{;a6I`+Y4@G^S2dfDtgrR4Pi@tFJqlP0P+4al;4F-W1{f%B(@l_2lnD9U- zvrim&qz)Fs&!iaO-?I2G^uKyBYqJL`f(75P-07d**B!7{oWZXKnB`Y$5oYR<&bTsw z;oqfrfpIzpu?&jOMN&#VU1WI#xzMvM5w~zD<_dZ>URB&dOiZ%bvA%Oxo+$8^c*yS$Tl( zIdtS>mwB%0_qTDY}#H27kfv*I*f%txkCGPYCb8HcKgGl`hx2Ji? zTcS?+DVkU4WBm)icmaQ#S;Fo}gBj=m@IlW4AmXJ|WqC}?JG7S5=z36+`B-KQu-WE( zeZ}fDR^c+FW8YJ1Wp_2evG|7P;s+yRV2Oor2=M0gAGA@TiEVh$>I*XDt@R4#N)5Bgs%H#gX{x2 z2K-KyGn&`LN6+oTaMujIRXR#%-85_o4M9U}-d^+fRKe{3!+jkt^zAYFk%c&kB%!j) zrBR{>KYsgVDZC@rc0cg#cz-uA<)ULHt@FX^!}rd@$L;%s41eERce$Ycv6u={dMmN8 z0@+}a9OHcM2kZDtHl}^!>C4}&vj4XnvfQ^01{m4W92dDw6#?$wHj76_g>j!ja#@2s zmyA_D@7k{okyZV;6jE^`Tl2 z{+J1AR-M$j+v!{y^mx0_9>cQl!zWIc1rSQk^NL8S>Zei@PP3bFHjZvd1>%R~x4wsU z>c>m@2ixwouA0xtly*gPbg@YYKo1f$OEDkc-c#GZulL6WvS!#N)FfdhAOL})mvcIB z$!4=HqM?BL$V_FPq;G@K2vj|T`sx%0|A%)dAaxW28g)UvOR?$AxRbj!(|xS({Gzrx zx28V!oGoJ(OFZi$czzcDdz<5YLEg{t52-)XHi9{i?0YH|=}mhXC4v{U{rv)mk&-M1 zjj*Bz_|?3R`n^*wL_3WTZ2!(` z1|$d>7k_+PC)~AuHE6d-3(b4{feKiBJWTiTJ$!6=7Z7$HZjB2uKP6tCDrLDJ1@@C21XM`+W(4X!h>m^tRBHPwC_`pu=3)ejmSIuhoY&ac z_>bM~l|-=4s5ey`^cnG|RM69SI~%j|%Q_od&0_f4*Bi-VXa=S!#725d&<_s@*-1ZfQ^HoA{t%O%P8Jz^5*tD{Y#S!%BvN%qU(MmUr zs{`AoiSQM>6J_y|sV%XHOyC3{=Qe4@!ouR{*ZVb|!G5PBgx#NcI$2j;ey+FXGNW2U zch?mm5i;bGFP_pNE$@BHChIl)Ttz<~*gEW`a@5Qe8%)Y?Q=G5&NLbg%ewb;v>GTn7 zYL1T+O?z>^?#MK`E$1<64LoWu=gLzmSs{i0U{t*qLHeQU{bKDh+ZyD!h9gwQl2YWQ z&`~!e3;xH!wVrq3qRbAiF#hya30L|3(zl4_we_4Z-uBMT`g+@ASflOq*qW)gJcXTq za;0eWZ%`YY@K^^RJCS`5`NGa!>jb1JOuz4dfGW;W4Y9xC~)dSRKWzIa~K*0Gr zP&s_59gb6IAj>@Q}|7q$Hh&Yit*N+FQ!sOKvW4{Df*oMw3UugYR*Ob@Pl``^UdU&bgDM;&7v9^6h zM?y}qjny1%TTR=$7|(0x)l+bCK_e%gzHXc|BY2vt==vV5(tLp4a$lC{Lq7H=ss+SN zcOCs=qcy&c)G4V@Pq@)gS!vV44z#hZWl2ENd}->iKN)CZn;i>r2xMM^0^WzJdiJL8 z=Ng}l^=FS$4{`80&&7id6&I1m6;rK(b*}bpO1{Hlt(HMyFS8Lwtbkns8<#qX?Xg|y zrv-V022jVGmm(IP%*TUp9Qh8$N`%+GenTP~kYwVIkpRP6LO^SbP>6vtRpu!xfpvKk zjoVdwZi@BPHSZh}t>iR@GWM+H_5QX1TZ z;v}yBpWp@aq?2Jz&(?ZuC&5RpIV+?sW&u3#!n%U%vKF|an9W2g9N>T4=~rvBOFAGy_;P_6w-yV{TV=tFkZJ;7~@R{%P z_VgH2tjMXjil{d$2es8%<+qB@`WAKdo=A#GuzCAd*?b3uwADj2`PaZ!O3v0ChgUR0 zHBOSvwC)^1-i}V`sV8go#!6`$VVx-^(F&WQ?#eoJN?$2wmkcU?IZVkC8076SIbzP3 z8;N*9Zc-~@ZPP$ujC_;m6F}?ls!*O;!C;2~)2!Tk&0;L0Fll>B$EKF;&JpW^RJ*Fy zM&_b8C%*_Lu-LLva%#e$+h3ks#d*ftg8%|N}>$&cqt}HIoVs$ysYdF!#NG%TdYMC8%UW{SH&$=%3 zXA#>?;kMxp#fxkI41W94d7hM&S&=hjWgc93R|D1korit@zT+OLsAs%0D zG;LEm#$N_(zcA?dh~wc8yuUJ3R4R>acjiK;R$1k&I8E0CN+wy_6A!V677#^G$IaEf zIH+6aQHVWhF=6utyVUo7;aTVDgFOCiMk-^n=j~HEaS^{W3X@3c8+?}i_}BU*F-i2k zeS(QhEWIs)j!OF1n^&JxVU9v|fyM3J&lrbpXN?T&m3^I4v__mvBI#^w7x_vGZ><+^ zKB%DKKf@#aQ@M1Fv<;g#V`4jB~mwN43eL0mtQ7%Y-6iH>y8r9#ii^|EFL_Nw5ytH`* zR21kMmeV%D_o{TD;rNrhtoe#8vgSAU7GYt6Otn5jg__HmWj~?p`Q8tN?%e{0EJrW_ zh{}AILc@un;}B|NWeyoxx^b7k$pM|N?aF;sI)7ye2-w7{=y?Z3AM#-&8ZdP-)#)Sk zhdf)A*XjTeiC(#)2Ut-ceAC6blgz8f<2l{bWM@;nCxKeY}AU*Wn1I)J$6T^;g!&}zu&EFG@j(>mX6w5S#Ui<^S|r=S2(4M z|0PWFrTVXx&0mYy5wKG|f;+2CY+Zw9cLh&OWzID`7w@%gSMyM*lyMPtn`PWV?|0BwQig9fgh(`uR~kU@vIkQ2yCrb{%_r7D zCNSoISi_Dh^Iv%nkWRQ#nN7a#D>9+k-7Zy!3H$X$#j3t3*jz6iV%^74&|A z>g~U15&|k|jc}^P?FQ=m1@CpwwEpTD8IR7P7;+c*4}(~Sp-X2&LL)aJ`nOjeofR=; zEI&Hoa!LJz;WW!Q%Wp zKXoUMrl(3t0yh=Bqfh#AmZN={k~%=^qh>W`yHkXOiSm7Spl!vES$cy^pkwG?X&4+&IEmvhdSrb-x8OUbL%3gC?Uou2R79 z6}qdGLrNChkx%r#?b6!X+7sFmzFcBisclq^cy1Fates*;+gOU=C5K)UJk9cKoY=5e z8Pviqmy0mquXDe3ue81Otb2|E-K?dq16i?l|B&?owBh>rZU-W2Hd)7kYNK`f@#UO0 zSdaPCHO=w7C9L9QB8HpDVJ}IE`w&Wz!uV8h7g1G>Xmi-Y$&vQfr_m^e5OiX(@aZ{$ z^??%Vu|az>>)`}cHH+tfOKD-7U{_fgwDca;)y(Dl8`9Oln=+J4he)sO6G-iXh zw*28tb}D-SwR)ESSt9Mp4V27`S<7uk4i^ta;VRdb3g-jHn5m`|G)L|>C7|8HR%jfV zK5?e)+KlGXx_?LrI5v$sx#@nN=vKoJ2s)KRQLu(0W0l&m0Tcc?wj*uWrMD4e!4sKcmZ44LHjVJ3r zyYqtvVnqt+Qj!26nnH;PENKAL&lA0c%mp@^Z+}wen!Ff{=!n~`kgC6rHFArGl~URN zV$1bKr&#yH*Rgn~+-#m9F)4*OTETOgfI4GPixDYW`TT7h&bNl8@+K37Ko1hN6zbjH z%!qjd9lEYSLzC)$PBZ~*9FWt+42^Nn)%|2D3mhCz%2kPKyh@=X(qOgjKQ*-n#WS;f zMCb~~9DAN637_VwSL}z~Sfjk-GQ$?Km><&J&}5=cMOpXY;-{k&jV&Nb${aj4lXzL= z#?W*8c=TAwlMdDQ_P&%w|9<~Du2Z>&I`35o<+@BJYUX17zJ`1qEZd|mRNg78qupC` zW2t7PjoSYH^VyH`OD}E^(0=m?@T8$4b-Z{VuqJru+dh6gkhnQ)=*3%RNTDF&TEChe znnF+SV`D+Q5dZ&!7e3_pXio36NGucsNK5Tc|O|R>@9F6u=I+RG(sX( zC}xIRB$%9dE-g;N2)UnPcAA1ePch@CXcgbxua`+&3c+)7cS$s|8T1caPK(&9Mcc54 z4YB1(X&Wu>^!F<{xhKb@8O;{texPDpKDIaLu4%YgpQ4i7U|Squ=O8T(D>8ph{UJte z6W?{ud%%_?*DXMTkFJ3NS0Q9@Np`mbCXMAlU}!r)3i#^nQt4$);~bVP4`vQQ;YsCu6q!;9$hsLJlQnk; zR@CI;hJ3W5PtDb7d}@m8`iOY-;k5&tD8s(JHuWc!s`u{ zx8iQ^WZmYsd)V#APVko5;rPf(la?!ZF6?4;oy{=KQ23TF&}FjId3)2i%E~LYiStyY zbdzcqKPD;YvD6Ug_%ydY> z(rie9A@}#3l-d&#Chj@~Q)s}*xyA6FkAjv+1RaK<7V{Wov;fh8=7&XZ{qt$VU~Z#u zpNSc06+%VHWE=CXaZSbxaHqX+UicDWrKcgN2)ws^2;6Zn!6XG_5UwmLL`~mkJQ+G( zb`sbUZi5H`%lQR@+D`c5K@&6Utb>-gkP#gHX%^lOoWJSLtAkK$sa!vj-`ktlm&Qa! zUd$8uFvHX-Vh*Fs)fWM&_gJ0w?OXT3J00&~Q;1TO2vxf`9YD{D9dygpEP!1nYkb!I zA=93m6qy!lZth=+7mB*S&h_KLtY0(Kf6XZys9K^+4=%J6i9n^x_N znu(!SSVW9cgg5RpQqH;O9KL`uhyoK6SFuv_GqI?m4Vi19Su`iWTw+$=*vLa$9barx z={g~(t(Pd<3uqXF1EaG)Wb1!~L`C$r@bwEsHGJICu?^1yN=h(+!<9BNMu6K*C#)$cqi%Lq$ zJ{$16440W3QGnX29ZU=BZET6c zfV&{rbALG=UclUvCE2Y5Z_~0YdK!&S7E{6fBybcyXHct?>UfoW7V)@=SvvEi+zBRT zs3uUYk)Cd#0?qjO`8n1gi(>Ig;vdGOzuV2n7l9UeLgvn2dRyM!F=4)>_|oX+&O2gc zT%6e>R|(V!v1mxEz#!&B0%(WgL7E4NSe9$RU!EwfZuznurD5IgIDhxb>R7}tMM#S= zr~93@cUhGY#5;$Tk;3c(KwKa^o4-pAQDew(ia_VWiP#bY{wFN)P{nDluFwRTL3|K{ z5Z6xl=Eo?nD9+{Sy;3sRiXFyzH8nMhQV}`kaE452iDOvRN-;N%8=c@mEDjB| zkg;uers>~CQ%<5p)Xpc~qilsN+8E^qZZ8jZ3@xg@K}`akSQ>a{3h68=MK!uLkpWw# zvt12N#XQLdn&Obla4ImaI5ttqjuSQIuCuBY%pL$^^X_<7NSuiBM3M_N683^2eKxytFsc542Ef1II^lmUq@*8|BtTZ=+|4#)q2TRf(dziEVvAJ~h^2Hp3AhR}JrTLLYYA`K?eN9c za-NI#23>1J*ZB?#vwO+|wpAY>q%o}!X3vk`H~h3U-s&1rNIgp9=~U3Y(Y!1o)8S0m?cOyV&t+&ZurZJ6cPnNHxJ&T z7%&FWfY<+q<|ME1m9$fW7(c$N@5(|k3ozXVdgqSE@RA4wI#C)iAt|ZA9d9L|ms0q} zro|DsMY)5}+j-vodXu0ovfir?ti1+J(x#WV3{g1)7W-o|r*^zI+4)rpfg_=Alqm>h zC;6o;=KQxpU9fJkYyxBqNF)R9z9%{g|9@VoH+w`>E*?jja`SX%;~S zS`I~m7;)vl9G;$ao2wIR#afgCHL1fR8KtB1{*1(f)bVkvxrK!Spb=XD(pn={dUJculSjK(|CTt?(*lKq;h{YNv1NDn)z4^ zZPZ4}`oD?8l*?R~RV@ROK6slMVI=CvznuR6zj&N5pzZYwWntnGGrMlXoc@15d};J5 zCgj4(;SjEuhUc#Z1iu?#vGeFUG~Q&C>(!carcS;H=c4Uz@79t3BJ17qUpoVXt{3$0 z=^OriWuQq?=$YC?NZD|Kw`$tqi}P!@&JCLKwnW)}H>J`)Ih&JE8(q;4k+dvkXshFF z2Y!*!E}Z$}ca#)~KT|>SzUL2)Ggra)?fY`!cY8eQ_1b6M@P7og1xoty)GXh4YQmh% z%PcLd$2uNftnlExDLgnI+kV779smFUfbhN6?Sa1U%kw-f-zXd3_cif{K`YFOZS^dZ zGm_+e@PVZNL^aHgg3#mr`d^W)uiq3NoHurIxb?FX-T4XX2jc+%008J;U3EY=DoNvc zp33F2B+2tUJ%}x%>P7bSIx^M0CjAGs+n`Qac zRr%Fby*`kL?ED1h|Mh`HYrMGG5xl13^!X>{Q05<2ojCNQ`6g zx~^<<)&ya-lQFj*W1F+abzS+@)z%)|w(csQ&-c27J(`%U@hGUj{SCRP2b!(bl?NsH+K%1Ue^o&0D$Op6+jmk7v*`L3Wb6s>1#EE=XEs$ z<75aEdo4RHB^NmABh#@EJT&JMf$O3lz&uh+NzK5ovm zLg?J&F%^qNB@zj_t}DlJ)MzyJT))w1$Z;IGuB${Mp<=Pv>ayOp?rPkeiDeIh@VQk< z{nrKk{FAcz$5&r%d+glw7klms&SrAv-1HaQp8K2MJw5RM1MPF{WX%8o0Ek{!Hz7KG z`n2xdyC=`{^xgBvCe;j~f0tBv^G!|kII*RLb(4DcUD>wX3ZFM`-qgm%Ni+4Qk2#~RS1cAacj1D94qsfsCoG9XLccotZ%dLED&LuLQ`Uv&>v3IIuIs8^ud7rl zX|TiE?dM_eM9mt%f5teD)2bhY)M~Zb@!Yo_7H9KYXx@G_X07Rp!4(OHalvVipQ!A6n z=;XV!Zh@N$&$Igar&YIQLRUJ8UM1?{@wrwkwO3C+q zUAuNoSGu@}|L`yWG`4MPY-~)v@3-oWy>%#(tKo+$ht1H?kdn!yB(>fGD(z3_EiA#? zYYQK?jtq@L?PTsdqcDVlL z3u{Jd-X+(zZB0*4OX~dXo^Lo+>*B?W<_)JBTktr3>XG$urDkfin$qchz3=JHg3o+P zy@$gWDV0j0)eh>ER!U}IU?7Z=000004uH@)pzSs)$yftqm>#YiHUk3#uSDl<{r-?? zG#ZfwPoSUC0R;d6h*xMG(02VAKBb@o_h`ST5sJYRHLKIR-2wmr06-MFx(hA<00000 zog#n&00000VnF}}00000#DV|{00000h{gW_0YnI!I*6(}00000NkvXXu0mjfKVFhT 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 276/392] 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 32487a95a37ecd0383422543d46da79b24da95f6 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 16 Feb 2020 19:23:41 +0100 Subject: [PATCH 277/392] Fixing sprint buffer cost and regen being rounded down. --- code/controllers/configuration/entries/game_options.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index a3bc47ac91..0f12d1d9ae 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -234,6 +234,7 @@ /datum/config_entry/number/movedelay //Used for modifying movement speed for mobs. abstract_type = /datum/config_entry/number/movedelay + integer = FALSE /datum/config_entry/number/movedelay/ValidateAndSet() . = ..() From 63921b7c8b09b527ece7359a063ac040fdea77d1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 12:36:44 -0600 Subject: [PATCH 278/392] Automatic changelog generation for PR #11093 [ci skip] --- html/changelogs/AutoChangeLog-pr-11093.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11093.yml diff --git a/html/changelogs/AutoChangeLog-pr-11093.yml b/html/changelogs/AutoChangeLog-pr-11093.yml new file mode 100644 index 0000000000..4815818b0d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11093.yml @@ -0,0 +1,5 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed something about slime blood and the law of conservation of mass." + - bugfix: "Fixed flypeople being emetic machine guns." From d9e971403881df7c7030addb6decba30da51fde8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 13:05:53 -0600 Subject: [PATCH 279/392] Automatic changelog generation for PR #11120 [ci skip] --- html/changelogs/AutoChangeLog-pr-11120.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11120.yml diff --git a/html/changelogs/AutoChangeLog-pr-11120.yml b/html/changelogs/AutoChangeLog-pr-11120.yml new file mode 100644 index 0000000000..64a435146c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11120.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed sprint buffer cost and regen being rounded down." 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 280/392] 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 688dcaf54e5c1871d187f5545a2ea3ce17cc5b50 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 13:20:59 -0600 Subject: [PATCH 281/392] Automatic changelog generation for PR #11060 [ci skip] --- html/changelogs/AutoChangeLog-pr-11060.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11060.yml diff --git a/html/changelogs/AutoChangeLog-pr-11060.yml b/html/changelogs/AutoChangeLog-pr-11060.yml new file mode 100644 index 0000000000..c78f03a26d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11060.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - balance: "Sort of a bugfix but cult blood magic and all guns now respect stamina softcrit." From 0f1254074831ca7a78e2b9bc343c5f09dde15551 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 16 Feb 2020 17:08:13 -0600 Subject: [PATCH 282/392] Automatic changelog generation for PR #11101 [ci skip] --- html/changelogs/AutoChangeLog-pr-11101.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11101.yml diff --git a/html/changelogs/AutoChangeLog-pr-11101.yml b/html/changelogs/AutoChangeLog-pr-11101.yml new file mode 100644 index 0000000000..5305e2b923 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11101.yml @@ -0,0 +1,4 @@ +author: "coiax" +delete-after: True +changes: + - rscadd: "Admin and event only pair pinpointers! They come in a box of two, and each pinpointer will always point at its corresponding pair. Aww." 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 283/392] 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 284/392] 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 285/392] 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 286/392] 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 287/392] 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 288/392] 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 289/392] 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 66d5e0e346fdd7671c96d047e4b584e4fc8a11f2 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Mon, 17 Feb 2020 01:03:29 +0100 Subject: [PATCH 290/392] Update station.dm --- code/datums/ruins/station.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/datums/ruins/station.dm b/code/datums/ruins/station.dm index 17d5a9e1e2..71cdf495e9 100644 --- a/code/datums/ruins/station.dm +++ b/code/datums/ruins/station.dm @@ -37,22 +37,22 @@ /datum/map_template/ruin/station/box/engine/teg id = "engine_teg" - suffix = "Box/Engine/engine_tesla.dmm" + suffix = "Box/Engine/engine_teg.dmm" name = "Box TEG" /datum/map_template/ruin/station/box/engine/empty id = "engine_empty" - suffix = "Box/Engine/engine_tesla.dmm" + suffix = "Box/Engine/empty.dmm" name = "Box Empty" /datum/map_template/ruin/station/box/engine/am id = "engine_am" - suffix = "Box/Engine/engine_tesla.dmm" + suffix = "Box/Engine/engine_am.dmm" name = "Box Antimatter" /datum/map_template/ruin/station/box/engine/budget id = "engine_budget" - suffix = "Box/Engine/engine_tesla.dmm" + suffix = "Box/Engine/budget.dmm" name = "Box P.A.C.M.A.N" // Lavaland @@ -60,4 +60,4 @@ /datum/map_template/ruin/station/lavaland/mining_base id = "mining_public_01" suffix = "Lavaland/Mining_Station/Mining_Station_Public_01.dmm" - name = "Public Mining Base" \ No newline at end of file + name = "Public Mining Base" 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 291/392] 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 b271096b773d88bc8c3c4e0c8c963ef6e1007d0b Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Mon, 17 Feb 2020 19:47:19 +0800 Subject: [PATCH 292/392] rest key, v, version two (#11090) * maybe * skreeeee * yes * fucccccccccck * happy now * Update interface.dm Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/modules/keybindings/bindings_living.dm | 3 +++ code/modules/keybindings/bindings_mob.dm | 2 +- interface/interface.dm | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/keybindings/bindings_living.dm b/code/modules/keybindings/bindings_living.dm index 8e9c787b6b..ec6c5dd539 100644 --- a/code/modules/keybindings/bindings_living.dm +++ b/code/modules/keybindings/bindings_living.dm @@ -19,6 +19,9 @@ if(possible_a_intents) a_intent_change(INTENT_HARM) return + if ("V") + lay_down() + return return ..() \ No newline at end of file diff --git a/code/modules/keybindings/bindings_mob.dm b/code/modules/keybindings/bindings_mob.dm index 925f305525..964ee65047 100644 --- a/code/modules/keybindings/bindings_mob.dm +++ b/code/modules/keybindings/bindings_mob.dm @@ -79,4 +79,4 @@ if("Alt") toggle_move_intent() return - return ..() \ No newline at end of file + return ..() diff --git a/interface/interface.dm b/interface/interface.dm index ecd13e1f03..2b33ebb5e8 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -8,7 +8,7 @@ if(wikiurl) if(query) var/output = wikiurl + "?search=" + query - src << link(output) + src << link(output) output = wikiurltg + "/index.php?title=Special%3ASearch&profile=default&search=" + query src << link(output) else if (query != null) @@ -125,6 +125,7 @@ Hotkey-Mode: (hotkey-mode must be on) \tt = say \to = OOC \tb = resist +\tv = rest \th = stop pulling \tx = swap-hand \tz = activate held object (or y) @@ -184,6 +185,7 @@ Hotkey-Mode: (hotkey-mode must be on) \td = right \tw = up \tq = unequip active module +\tv = rest \th = stop pulling \tm = me \tt = say From de75d75519652df137069bc886a852398bd9ec0b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 17 Feb 2020 05:47:22 -0600 Subject: [PATCH 293/392] Automatic changelog generation for PR #11090 [ci skip] --- html/changelogs/AutoChangeLog-pr-11090.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11090.yml diff --git a/html/changelogs/AutoChangeLog-pr-11090.yml b/html/changelogs/AutoChangeLog-pr-11090.yml new file mode 100644 index 0000000000..698306fdb6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11090.yml @@ -0,0 +1,4 @@ +author: "Seris02" +delete-after: True +changes: + - rscadd: "rest hotkey" From 7a1eec5622954d029fc57576a69e0b9cbb33f4a1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 17 Feb 2020 06:29:54 -0600 Subject: [PATCH 294/392] Automatic changelog generation for PR #11053 [ci skip] --- html/changelogs/AutoChangeLog-pr-11053.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11053.yml diff --git a/html/changelogs/AutoChangeLog-pr-11053.yml b/html/changelogs/AutoChangeLog-pr-11053.yml new file mode 100644 index 0000000000..a3c2eb29fa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11053.yml @@ -0,0 +1,5 @@ +author: "keronshb" +delete-after: True +changes: + - rscadd: "Added burn and knockback to stunhand during HALOS on cult." + - balance: "Added burn and knockback to stunhand during HALOS on cult." From 28a589d2d1b57d23fe993f6a12625881fed4c43d Mon Sep 17 00:00:00 2001 From: Cameron! Date: Mon, 17 Feb 2020 04:32:39 -0800 Subject: [PATCH 295/392] 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 296/392] 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 5b7c37689388c246068d949504e63ddff3786454 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 17 Feb 2020 06:45:25 -0600 Subject: [PATCH 297/392] Automatic changelog generation for PR #11108 [ci skip] --- html/changelogs/AutoChangeLog-pr-11108.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11108.yml diff --git a/html/changelogs/AutoChangeLog-pr-11108.yml b/html/changelogs/AutoChangeLog-pr-11108.yml new file mode 100644 index 0000000000..c8bed79399 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11108.yml @@ -0,0 +1,4 @@ +author: "Seris02" +delete-after: True +changes: + - rscadd: "hsl instead of sum of rgb for spraycan lum check" 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 298/392] 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 299/392] 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 300/392] 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 301/392] 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 991f04877aaded728261b08a3fbaf7d55ffe46db Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 17 Feb 2020 09:17:30 -0600 Subject: [PATCH 302/392] Automatic changelog generation for PR #11114 [ci skip] --- html/changelogs/AutoChangeLog-pr-11114.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11114.yml diff --git a/html/changelogs/AutoChangeLog-pr-11114.yml b/html/changelogs/AutoChangeLog-pr-11114.yml new file mode 100644 index 0000000000..7d56933c65 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11114.yml @@ -0,0 +1,6 @@ +author: "Psody-Mordheim" +delete-after: True +changes: + - rscadd: "You can now make synth-flesh with synthetic blood." + - rscadd: "You can now make synthetic blood via mixing saline glucose, iron, stable plasma and heating it to 350 temp." + - rscadd: "You can mix synthetic blood and cryoxadone to create synth-meat in addition to normal blood." From cc685b813cf48b72e0cef37119dfc1d18859d25b Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Mon, 17 Feb 2020 14:35:37 -0600 Subject: [PATCH 303/392] 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 304/392] 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 305/392] 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 306/392] 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 308/392] 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 309/392] 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 310/392] 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 311/392] 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 312/392] 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 313/392] 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 314/392] 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 315/392] 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 316/392] 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 317/392] 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 318/392] 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 319/392] 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 320/392] 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 321/392] 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 322/392] 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 323/392] 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 324/392] 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 325/392] 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 326/392] 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 327/392] 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 328/392] 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 329/392] 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 330/392] 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 331/392] 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 332/392] 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 333/392] 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 334/392] 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 335/392] 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 336/392] 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 337/392] 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 338/392] 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 339/392] 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 340/392] 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 341/392] 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 342/392] 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 343/392] 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 344/392] 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 345/392] 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 346/392] 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 347/392] 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 348/392] 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 349/392] 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 350/392] 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 351/392] 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 352/392] 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 353/392] 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 354/392] 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 355/392] 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 356/392] 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 357/392] 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 358/392] 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 359/392] 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 360/392] 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 361/392] 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 362/392] 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 363/392] 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 364/392] 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 365/392] 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 366/392] 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 367/392] 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 368/392] 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 369/392] 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 370/392] 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 371/392] 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 372/392] 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 373/392] 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 374/392] 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 375/392] 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 376/392] 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 377/392] 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 378/392] 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 379/392] 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 380/392] 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 381/392] 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 382/392] 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 383/392] 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 384/392] 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 385/392] 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 386/392] 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 387/392] 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 388/392] 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 389/392] 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 390/392] 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 391/392] 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 392/392] 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"